added support for LZF compression

This commit is contained in:
jboner 2009-11-22 14:33:14 +01:00
parent fadf2b2730
commit f41c1ac7c7
3 changed files with 41 additions and 0 deletions

View file

@ -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]))
}
}

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<groupId>org.h2.compress</groupId>
<artifactId>h2-lzf</artifactId>
<version>1.0</version>
<versioning>
<versions>
<version>1.0</version>
</versions>
<lastUpdated>20091122093116</lastUpdated>
</versioning>
</metadata>