Skip to content

Instantly share code, notes, and snippets.

@kjunine
Created October 21, 2012 11:09
Show Gist options
  • Select an option

  • Save kjunine/3926699 to your computer and use it in GitHub Desktop.

Select an option

Save kjunine/3926699 to your computer and use it in GitHub Desktop.
DelimiterAppender
import static org.jboss.netty.buffer.ChannelBuffers.*;
import org.jboss.netty.buffer.ChannelBuffer;
import org.jboss.netty.buffer.ChannelBuffers;
import org.jboss.netty.channel.Channel;
import org.jboss.netty.channel.ChannelHandlerContext;
import org.jboss.netty.handler.codec.oneone.OneToOneEncoder;
public class DelimiterAppender extends OneToOneEncoder {
private static final ChannelBuffer DEFAULT_DELIMITER = ChannelBuffers
.wrappedBuffer(new byte[] { '\n' });
private final ChannelBuffer delimiter;
public DelimiterAppender() {
this(DEFAULT_DELIMITER);
}
public DelimiterAppender(ChannelBuffer delimiter) {
this.delimiter = delimiter;
}
@Override
protected Object encode(ChannelHandlerContext ctx, Channel channel,
Object msg) throws Exception {
if (!(msg instanceof ChannelBuffer)) {
return msg;
}
ChannelBuffer buffer = (ChannelBuffer) msg;
return wrappedBuffer(buffer, delimiter);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment