2
我有一個關於ByteToMessageDecoder
的問題。該decode
方法簽名ByteToMessageDecoder中的多條消息會發生什麼?
public void decode(ChannelHandlerContext ctx, ByteBuf in, List<Object> out)
其中out
是在管道中的下一個處理程序的輸出。如果我通過多次調用out.add()
插入多條消息,下一個處理程序將看到什麼?
例如,
- 管道
ByteToMessageDecoder -> SimpleChannelInboundHandler<String>
- 在
ByteToMessageDecoder
的decode
方法,我稱之爲out.add("first")
,out.add("second")
,out.add("third")
鑑於SimpleChannelInboundHandler
的消息處理方法有簽名protected void channelRead0(ChannelHandlerContext ctx, String message)
,我會看到message
參數? channelRead0
會被稱爲三次嗎?
我想嘗試一下,發現是不可能的? –