Netty:ChannelFuture/ChannelFutureListener就一定是"per-message"吗?
Netty: Is ChannelFuture/ChannelFutureListener guaranteed to be "per-message"?
我有一个通道需要保持打开状态,因为写入了很多消息,我不想为每次写入都进行 SSL 握手。
如果我这样做:
ChannelFuture future = channel.writeAndFlush(message1);
channel.writeAndFlush(message2);
future.addListener(new ChannelFutureListener(){
@Override
public void operationComplete(ChannelFuture channelFuture) throws Exception{
//check for success
}
});
channel.writeAndFlush(message3);
假设正确吗,operationComplete 只会为 message1 调用,而不会为 message2 或 message3 调用?
ChannelFutureListener 将仅针对由写入 returned 的 ChannelFuture 执行。每次写入都会 return 另一个。所以是的。
我有一个通道需要保持打开状态,因为写入了很多消息,我不想为每次写入都进行 SSL 握手。
如果我这样做:
ChannelFuture future = channel.writeAndFlush(message1);
channel.writeAndFlush(message2);
future.addListener(new ChannelFutureListener(){
@Override
public void operationComplete(ChannelFuture channelFuture) throws Exception{
//check for success
}
});
channel.writeAndFlush(message3);
假设正确吗,operationComplete 只会为 message1 调用,而不会为 message2 或 message3 调用?
ChannelFutureListener 将仅针对由写入 returned 的 ChannelFuture 执行。每次写入都会 return 另一个。所以是的。