private static void ApplyChannelPipeline(IChannel channel, IChannelHandler handler)
{
var encoders = new IChannelHandler[]
{new LengthFieldPrepender(4, false), new LengthFieldBasedFrameDecoder(10000, 0, 4, 0, 4)};
var protobuf = new IChannelHandler[] { new ProtobufEncoder(), new ProtobufDecoder(TCP.Wrapper.DefaultInstance) };
var msg = new IChannelHandler[] { new MsgEncoder(), new MsgDecoder() };
var pipeline = encoders.Concat(protobuf).Concat(msg).Concat(new IChannelHandler[] { handler });
foreach (var h in pipeline)
channel.Pipeline.AddLast(h);
}