Java 类io.netty.channel.CombinedChannelDuplexHandler 实例源码

项目:reactor-netty    文件:HttpOperations.java   
static void autoAddHttpExtractor(NettyContext c, String name, ChannelHandler
        handler){

    if (handler instanceof ByteToMessageDecoder
            || handler instanceof ByteToMessageCodec
            || handler instanceof CombinedChannelDuplexHandler) {
        String extractorName = name+"$extractor";

        if(c.channel().pipeline().context(extractorName) != null){
            return;
        }

        c.channel().pipeline().addBefore(name, extractorName, HTTP_EXTRACTOR);

        if(NettyContext.isPersistent(c.channel())){
            c.onClose(() -> c.removeHandler(extractorName));
        }

    }
}
项目:TtorrentAndroid    文件:PeerHandshakeHandler.java   
protected void addMessageHandlers(@Nonnull ChannelPipeline pipeline, @Nonnull PeerMessageListener listener) {
    pipeline.addLast(new CombinedChannelDuplexHandler(new PeerFrameDecoder(), frameEncoder));
    // pipeline.addLast(getFrameLogger());
    pipeline.addLast(new PeerMessageCodec());
    // pipeline.addLast(getMessageLogger());
    pipeline.addLast(new PeerMessageHandler(listener));
}
项目:xio    文件:ChicagoNode.java   
private CombinedChannelDuplexHandler<ChicagoResponseDecoder, ChicagoRequestEncoder> newMessageHandler() {
  return new CombinedChannelDuplexHandler<ChicagoResponseDecoder, ChicagoRequestEncoder>(
    new ChicagoResponseDecoder(),
    new ChicagoRequestEncoder()
  );
}
项目:xio    文件:ChicagoNode.java   
private CombinedChannelDuplexHandler<Murmur3HashedFrameDecoder, Murmur3HashedFrameEncoder> newMurmur3HashHandler() {
  return new CombinedChannelDuplexHandler<Murmur3HashedFrameDecoder, Murmur3HashedFrameEncoder>(
    new Murmur3HashedFrameDecoder(),
    new Murmur3HashedFrameEncoder()
  );
}
项目:xio    文件:ChicagoNode.java   
private CombinedChannelDuplexHandler<LengthFieldBasedFrameDecoder, LengthFieldPrepender> newLengthFieldBasedFrameHandler() {
  return new CombinedChannelDuplexHandler<LengthFieldBasedFrameDecoder, LengthFieldPrepender>(
    new LengthFieldBasedFrameDecoder(65535, 0, 2, 0, 2),
    new LengthFieldPrepender(2)
  );
}