From 39dcb0f7e37eefcee9eddfb8a03165c36aba5594 Mon Sep 17 00:00:00 2001 From: jboner Date: Sun, 22 Nov 2009 14:33:14 +0100 Subject: [PATCH] added support for LZF compression --- .../src/main/scala/nio/LzfCompression.scala | 29 ++++++++++++++++++ .../org/h2/compress/h2-lzf/1.0/h2-lzf-1.0.jar | Bin 0 -> 5067 bytes .../compress/h2-lzf/maven-metadata-local.xml | 12 ++++++++ 3 files changed, 41 insertions(+) create mode 100644 akka-actors/src/main/scala/nio/LzfCompression.scala create mode 100644 embedded-repo/org/h2/compress/h2-lzf/1.0/h2-lzf-1.0.jar create mode 100644 embedded-repo/org/h2/compress/h2-lzf/maven-metadata-local.xml diff --git a/akka-actors/src/main/scala/nio/LzfCompression.scala b/akka-actors/src/main/scala/nio/LzfCompression.scala new file mode 100644 index 0000000000..d69e9856ee --- /dev/null +++ b/akka-actors/src/main/scala/nio/LzfCompression.scala @@ -0,0 +1,29 @@ +/** + * Copyright (C) 2009 Scalable Solutions. + */ + +package se.scalablesolutions.akka.nio + +import org.h2.compress.{LZFInputStream, LZFOutputStream} + +import org.jboss.netty.channel.{Channel, ChannelHandlerContext, ChannelPipelineCoverage} +import org.jboss.netty.buffer.{ChannelBufferOutputStream, ChannelBufferInputStream, ChannelBuffer} +import org.jboss.netty.handler.codec.oneone.{OneToOneEncoder, OneToOneDecoder}; + +@ChannelPipelineCoverage("all") +class LzfDecoder extends OneToOneDecoder { + override protected def decode(ctx: ChannelHandlerContext, channel: Channel, message: AnyRef) = { + if (!(message.isInstanceOf[ChannelBuffer])) message + else { + new LZFInputStream(new ChannelBufferInputStream(message.asInstanceOf[ChannelBuffer])) + } + } +} + +@ChannelPipelineCoverage("all") +class LzfEncoder extends OneToOneEncoder { + override protected def encode(ctx: ChannelHandlerContext, channel: Channel, message: AnyRef) = { + if (!(message.isInstanceOf[ChannelBuffer])) message + else new LZFOutputStream(new ChannelBufferOutputStream(message.asInstanceOf[ChannelBuffer])) + } +} diff --git a/embedded-repo/org/h2/compress/h2-lzf/1.0/h2-lzf-1.0.jar b/embedded-repo/org/h2/compress/h2-lzf/1.0/h2-lzf-1.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..620cfb1371e4510bf524bf16b3f6b172830f5cb5 GIT binary patch literal 5067 zcmWIWW@Zs#;9%fjIBZg4&42_r8CV#6T|*poJ^kGD|D9rBU}gyLX6FE@U;+^g3=Ft6 zi!d-CH2XUGdAhj=;t&@$m-et6XrAA@hkr@gu!i^o# zuHB6;AC*5h|2TcbCE2Iv-@zFY!oEC#^)qHjOgs1a-c-YOm%k7DtKa>e^WF0KyyAPs z_kL%-Ywl-QPDJlFblL(HCA3P;^E-(A_@={&dXEX(4p8#kBM zrziLuH!`)b`kp+JU^T_#J2`~9Zr+%%Vz<6mL0+HwqnElY?q9p+vMkk}x=Wa2pUi9+VzIiEH z^ZLHt*0c2Z+E|fga5jF`z1^k?qFzc?XChYf#e^QQkgE&5?ZL19n?2~Fh@Ura2nToveG}PUr?UI31fKzW#K8iTnPJkG{nl5@KxF@1ODS%uV0WmwjZ@oIut6 zo%dJe3zamAw{T7Ki;g_INof0%l}ooN$M{DdFWPu_!PBxBV>#|ApFdYf-{cs`nu zb<^3s|GJ|3?cS^p*p;<+hTR?0`)m5n{&?^y?etBbhvkWu(red*(p%pYg$fSeXJrg?Nv2~9<&bwim)6Sjtd@(KXmB_KI)2i`KZv|Er zxK8OvuNa?&~&TtPn_bF4ylcI4!u?V%fmA* za>b$CopYyY`aC?hpy%bGEoYx*%N(2GdGn?Gu`_cn_#N2prIF0V>Dwv8&83^0Y0Tw$ z{g}zCRjF@JzMS9s@}iN($<4g|c3M8QJ6=Z^bgLFmiK{ujYfqD}(&hsR-;J2`UR>2W zyV7rE@iIFn+2ECr+oW&axvAr`?w!S)$ebk6b`2B%s}=8F?DtWb-TiO*p0{>-8?2vt zzbjoZ^|#r9&z1cC5z^&1&3;^Lyn5rD?7n8}^^?n+_Usbhy-_%J2Y=z4L#KN--Dv*4 zQCz&xe%~Rxm_v0nr+eND9@2ktEWcwylZNCAMgF8MJbP0fGMFx$e{13bg-KiZnMDpe zN;!4)B~0j3@;z?oviyU>++!TR2~*BJP_$}q&lKvv;A-PF|FPjOss78VJs0~cn)DuP z&N_6NwI#iRuTfWHmXo3GnUm6&-KQj5FLHaP5fZ6%N_)Abr*m`sVXsO2H%;`q&)sfH zPZNEf@6T87{?wZ7%7gV1+6vWHy1w%Q*g~CFzu2@T=%}6dyx$9!aO5Wax~{Xcby@$X z2O0B@wpVVsY$H7Dg6%Dft{swTwWXe?Ofx1wnXw`6*V*4M^tZ57X$QyS!_1$4@3-7!=e%l|&l;5np z)nUFuF8|iu4IEO-0-TNpuUN(#{^5=MA5U4+&Gx;j-&#-Z7y9j1BYoQr7>h z|FM9ollm&leI=|646dBW)d_kLu7IZq&o6?M;Jy=1`yFx+Y5O0X#m&(q9#YY?X(MNJ zc!x>mB@dpq)^%BPr%bwZu*|?_Hn;qNcB6SK#b=#4dFK0b`|UsfRQ+c#ICS7xYp-`x zp}Fz|{|x_>uoVWu-3E8Nq;@;3VC|n*Cv<;&V|lP`B*yBWcqCzp}0w0PU)X+`#%f6_qXI?>RNpML~YGSS)xVo$j zi7ggR6{$1ZeNyf8w7QlHUP2lH3sk(ec>K)BP;9;B5H*3}R+vHj?Gi=bq)m-svhQW` z_FS})1t@AJF&|Nneq zIv~&`3frc!!PU6ra@=&yQB}#`$FYV3>SpuE=3l!x$0v;G`Ks zw=)HwP3owO=kXQyxT&_QCs5YsiduGS6&MpTIsb`B3h!$)OTZH`ovjtA0+OKdZ?+X>3H7s+4J70 zQySuHSvli2&)L9x#%%h82PZA9{qN|^zP6%e-$8RGi<;Obqc}|oA*?^C&%n#As9Hb_8R^z&~sd8@JxzDd2#3)r(=q-H2VEZ|3 z<@@*$CezbY%&Zc|~Xe8P^5HXO!n3-D6p7eXcC~fZ(nvy5h+uvz{(mTeMzyUE<88H>PZi zSg9NTc#>4r>0@_~Y)ZYt`r65URkBX#=G0Rg&Mvz@t-)|xzRSE*UHc}ByXJqMwl*L< z`q9%}sRF(F(W_IZf1awP+P_74_mthKPu5O+BJJbj%GX@u)WB}*B)KleNv&FK|F=E& zXP#VZE59Y3SIAWI$v=Z~wUl)Y2Tw>XIZ?bL?V5spqfn<^<7_kk{$I>i^A1~IejMHW z?RBzsP|IVzXKaBQ91A8#lnJyu6m@7U`cmRlb+*_0=xwcg3mkWKUwCeZEpVyNdiv>uK}3JY>((`u=T=no+m&?$AHN^)*5JNtUE4pQ zxpS<3vbL%>`d~icVFLo zSLxKtWecICG_SQf?TUURTBLYg1$Jvs_SBQFe^56V^`O@*KZxd!YFH!UI z>YFe{@LFkK>CzuMX$3syKc942@OAq?k~{gUO?_YLe{Qv!fIsUWOlLc0R(SgRlLr(64JS(fcS55X?wRcPBq}quqWNJT(Si736 zTw9#JJ;vr~%%6E?fsZqO*xmWG%4SWA{3lH}=ZB_W_;xeDWB;&bf%yWKJCX}$T05V; z!Pzq(+L>py0(ifbwR?>_o@ zyDazahl-YE>o++6;;wrinK^lfvhIQS$srd5C;wM8)d@QkRMECCQFXxw-SzspyIyu| zdOq)=?(ClpXKSp#)Sh7pnX%dHmc8;4t9li&ho&?B@>RcoH#@as`#(nJJDl70zCOF< zb)h%w*=f(Yx4oM_``x^4m;3*5gUV(mxild!Rt5%sPJCsvD)zG3zqACiaQ2rD7qIQV zE}ewGQkPT`m@F85&bU9CVzO{$#2KMEO}RH;Z~GGOQu{J^N!Y}S zJ`tWQZMn}E=7%iYmVWK@^j59Y<2Eis=JjfD zJn4#Fx+!#}Mn`Jb)9IbP3y)0Ho>bg{t5TBn$qm6TK0zF<}W$zei)`tePgrvdvaJ~nyA** zO`+@$_Eto#+n$zd{Qd5n$fEqpdX49~cFyjW{vy}rU5nlK_-f4p6WjoI%xlTGEw)*KD)2ZTb_@>ob{b$tla^`0fb@}hE#cP!$rKh~=A=kRB zj>Z0m8+7h&`YRDDm6s6kNG|JzyVEo~dn2i52JeqIwYl0{Dv+I@Eu(TNHg`$3NAJmb z%Xc(&yTAK#Xyd*&vrZ_yDu}x^r^9#i2P4DuTZ>MF%~QNram$i#u1xxN?QO1S(l*DK zZ7)80X&ckw+^xbJHvBqu>ZbC`;+QLQj=EcHY2c6Dam1dzb+_6+?nJ@vvWO|g^RAq= zTpV_8^X;4L70cQ8-l;!ycl(DA>=MW1L>}{-*xqhV7hiR8KX?9(=_X(7nRkDX{w2rc zwxg2&V0lkiL2owyMhBm%XWpi~R5+|!wO(NF^cS@~zorOkJ+@btkM{76h%ZoIQ+x5k zt$dE6*qe<~U-MLYzi0ep@Reh?>VNe|_x&8Eb(X0sC+X>JxO?|a-W=z|3&Jh8tk%gW zt@+_`D6oJ#rX_rz=nK^)2Y&I_rCOS9>B_ZP{CVfDP29S_et9aNR7fdu+HrDLo2(H3 zlnXN_S;Xp{KmTN+xA8A&pQ}%+__xMS_p&kF(tGsF_7^54vxP1_fBXG~>6Z5oHVF#% zzuPtUgM`1|B*O^lg4r+1Z#>(b^Nd5<#;bF34f8w0t%X(U24~;TQn}f)%=u2hzh`si z_?140n51ek-=Bvg(d5e4%de%JO07#y@y)rBH0R6S$xE9`q|#>i%$l)z%EO16W|Dxcc_Xp0Y z{G?a#PfYWaa@emKO(}+L>n9{_HLf`IW?$LyBhAh#EBngS;_JNb)U+=-ZNz*mFsph; z#)r8V{6sQ}mzB?yxL+U;KgUtZ%5B%VxeA%@c2s7+$T$-5&{kMC!nXNiYw-QE|G|SL zFQwiv39&FRu(N{-8Ac`%1`(8TAK0J{Xxs-nz5}IDMu7snQMDqE!H7ULKqy-rV?f9z zfExP9T>#Kn4MaDHJc*^m!x*_iHx9X>3+gw341(YuHrxY2uwDeZX~;!0sBsK22}FKn u$21LFQyJYv + + org.h2.compress + h2-lzf + 1.0 + + + 1.0 + + 20091122093116 + +