gitextract_h9fdvoav/ ├── README.md ├── pom.xml └── src/ └── main/ ├── java/ │ └── com/ │ └── lyncc/ │ └── netty/ │ ├── attributeMap/ │ │ ├── AttributeMapConstant.java │ │ ├── HelloWorld2ClientHandler.java │ │ ├── HelloWorldClient.java │ │ ├── HelloWorldClientHandler.java │ │ ├── HelloWorldServer.java │ │ ├── HelloWorldServerHandler.java │ │ └── NettyChannel.java │ ├── codec/ │ │ ├── custom/ │ │ │ ├── ProtocolDecoder.java │ │ │ ├── ProtocolEncoder.java │ │ │ ├── ProtocolHeader.java │ │ │ └── ProtocolMsg.java │ │ ├── jackson/ │ │ │ ├── JacksonClient.java │ │ │ ├── JacksonClientHandler.java │ │ │ ├── JacksonClientHandlerInitializer.java │ │ │ ├── JacksonServer.java │ │ │ ├── JacksonServerHandler.java │ │ │ ├── JacksonServerHandlerInitializer.java │ │ │ ├── User.java │ │ │ ├── UserDecoder.java │ │ │ ├── UserEncoder.java │ │ │ └── UserMapper.java │ │ ├── lengthFieldBasedFrame/ │ │ │ ├── CustomClient.java │ │ │ ├── CustomClientHandler.java │ │ │ ├── CustomDecoder.java │ │ │ ├── CustomEncoder.java │ │ │ ├── CustomMsg.java │ │ │ ├── CustomServer.java │ │ │ └── CustomServerHandler.java │ │ └── protobuf/ │ │ ├── SubReqClient.java │ │ ├── SubReqClientHandler.java │ │ ├── SubReqServer.java │ │ ├── SubReqServerHandler.java │ │ ├── SubscribeReq.proto │ │ ├── SubscribeReqProto.java │ │ ├── SubscribeResp.proto │ │ ├── SubscribeRespProto.java │ │ ├── TestSubscribeReqProto.java │ │ └── demo/ │ │ ├── ProtoBufClient.java │ │ ├── ProtoBufClientHandler.java │ │ ├── ProtoBufServer.java │ │ ├── ProtoBufServerHandler.java │ │ ├── RichMan.proto │ │ └── RichManProto.java │ ├── component/ │ │ ├── channelhandler/ │ │ │ ├── BaseClient.java │ │ │ ├── BaseClient1Handler.java │ │ │ ├── BaseClient2Handler.java │ │ │ ├── BaseServer.java │ │ │ └── BaseServerHandler.java │ │ └── simplehandler/ │ │ ├── BaseClient.java │ │ ├── BaseClientHandler.java │ │ ├── BaseServer.java │ │ └── BaseServerHandler.java │ ├── concept/ │ │ └── HelloWorldConcept.java │ ├── heartbeat/ │ │ ├── BaseClient.java │ │ ├── BaseClientHandler.java │ │ ├── BaseServer.java │ │ └── BaseServerHandler.java │ ├── heartbeat2/ │ │ ├── AskMsg.java │ │ ├── AskParams.java │ │ ├── BaseMsg.java │ │ ├── Constants.java │ │ ├── LoginMsg.java │ │ ├── MsgType.java │ │ ├── NettyChannelMap.java │ │ ├── NettyClientBootstrap.java │ │ ├── NettyClientHandler.java │ │ ├── NettyServerBootstrap.java │ │ ├── NettyServerHandler.java │ │ ├── PingMsg.java │ │ ├── ReplyBody.java │ │ ├── ReplyClientBody.java │ │ ├── ReplyMsg.java │ │ └── ReplyServerBody.java │ ├── heartbeats/ │ │ ├── HeartBeatClientHandler.java │ │ ├── HeartBeatServer.java │ │ ├── HeartBeatServerHandler.java │ │ └── HeartBeatsClient.java │ ├── hello/ │ │ ├── HelloWorldClient.java │ │ ├── HelloWorldClientHandler.java │ │ ├── HelloWorldServer.java │ │ └── HelloWorldServerHandler.java │ ├── idle/ │ │ ├── AcceptorIdleStateTrigger.java │ │ ├── ChannelHandlerHolder.java │ │ ├── ConnectionWatchdog.java │ │ ├── ConnectorIdleStateTrigger.java │ │ ├── HeartBeatClientHandler.java │ │ ├── HeartBeatServer.java │ │ ├── HeartBeatServerHandler.java │ │ └── HeartBeatsClient.java │ ├── keepalive/ │ │ ├── Constants.java │ │ ├── Heartbeat.java │ │ ├── KeepAliveClient.java │ │ ├── KeepAliveMessage.java │ │ ├── KeepAliveServer.java │ │ ├── KeepAliveServerInitializer.java │ │ └── Utils.java │ ├── nio/ │ │ ├── EchoClient.java │ │ ├── MultiPortEchoServer.java │ │ └── package-info.java │ ├── production/ │ │ ├── ChannelHandlerHolder.java │ │ ├── ConnectionWatchdog.java │ │ ├── client/ │ │ │ └── connector/ │ │ │ ├── ClientConnector.java │ │ │ ├── ConnectorIdleStateTrigger.java │ │ │ ├── DefaultCommonClientConnector.java │ │ │ ├── NettyClientConnector.java │ │ │ └── package-info.java │ │ ├── common/ │ │ │ ├── Acknowledge.java │ │ │ ├── Heartbeats.java │ │ │ ├── Message.java │ │ │ ├── NativeSupport.java │ │ │ ├── NettyCommonProtocol.java │ │ │ ├── NettyEvent.java │ │ │ ├── NettyEventType.java │ │ │ ├── ServiceThread.java │ │ │ ├── exception/ │ │ │ │ └── ConnectFailedException.java │ │ │ └── package-info.java │ │ ├── example/ │ │ │ ├── ClientConnectorStartup.java │ │ │ ├── SrvAcceptorStartup.java │ │ │ └── package-info.java │ │ ├── serializer/ │ │ │ ├── Serializer.java │ │ │ ├── SerializerHolder.java │ │ │ └── protostuff/ │ │ │ └── ProtoStuffSerializer.java │ │ └── srv/ │ │ └── acceptor/ │ │ ├── AcceptorIdleStateTrigger.java │ │ ├── AcknowledgeEncoder.java │ │ ├── ChannelEventListener.java │ │ ├── DefaultCommonSrvAcceptor.java │ │ ├── DefaultSrvAcceptor.java │ │ ├── NettySrvAcceptor.java │ │ ├── SrvAcceptor.java │ │ └── package-info.java │ └── stickpackage/ │ ├── correct/ │ │ ├── BaseClient.java │ │ ├── BaseClientHandler.java │ │ ├── BaseServer.java │ │ └── BaseServerHandler.java │ ├── delimiter/ │ │ ├── BaseClient.java │ │ ├── BaseClientHandler.java │ │ ├── BaseServer.java │ │ └── BaseServerHandler.java │ ├── error/ │ │ ├── BaseClient.java │ │ ├── BaseClientHandler.java │ │ ├── BaseServer.java │ │ └── BaseServerHandler.java │ └── myself/ │ ├── BaseClient.java │ ├── BaseClientHandler.java │ ├── BaseServer.java │ └── BaseServerHandler.java └── resources/ └── logback.xml