-
- 메모리 모델과 바이트 버퍼
netty에서 사용하는 bytebuf를 별도로 관리, 성능측면에서 GC부담 최소화, NIO bytebuffer와 같은 역할(좀더 성능 최적화)
커스텀 타입 개발 가능, composite buffer 도입으로 버퍼 복사 최소화, 필요에 따라 버퍼 용량 자동 증가
flip() 호출 필요 없음, 참조수 관리로 메모리 수동 해제,
- ReferenceCounted
별도 메모리 풀에 할당/해제, 최초 참조수는 1, 참조수 0이되면 해제
더 참조하는 객체가 생기면 retaion() -> +1, 다썼으면 release() -> -1
- byteBuf
- 파이프라인 활용
Channel은 connect, bind, read, write 등 네크워트 작업을 할수 있는 요소. 모든 I/O작업은 비동기 -> ChanneFuture
각 Channel에는 ChannelPipeline이 있고, 한 ChannelPipeline는 여러개의 ChannelHandler를 조립해서 사용.
Channel - addListener(), channel(), await(), sync(), isSuccess(), cause()
ChannelHandler - exceptionCaught(), handlerAdd(ChannelHandlerContext), handlerRemove(ChannelHandlerContext)
ChannelPipeline - addLast(), remove()
- ChannelInboundHandler
채널로 들어오는 inboundEvent를 담당하는 인터페이스
- ChannelInboundHandlerAdapter
- SimpleChannelInboundHandler<I>
- ChannelInitializer<C extends Channel>
'Netty' 카테고리의 다른 글
Netty Bootstrap (0) 2019.01.09 Netty Core Interface (0) 2019.01.07