ChannelHandlerContext Sınıfı
Giriş
Açıklaması şöyle.
Giriş
Açıklaması şöyle.
ChannelHandlerContext is useful when you want to modify the pipeline dynamically, fire events up and down the pipeline etc. If you don't need these, you can just use Channelchannel metodu
Bu çağrı ile Channel.writeAndFlush() farklıdır. Bu çağrı tüm pipeline'ı dolaşmayabilir. ChannelHandler'dan önceki encoder'ları dolaşır.
Asenkron bir çağrıdır. ChannelFuture nesnesi döner.
Örnek
Şöyle yaparız.
Çağrı bitince bir işlem daha yapmak için şöyle yaparız.
Asenkron bir çağrıdır. ChannelFuture nesnesi döner.
Örnek
Şöyle yaparız.
ChannelHandlerContext ctx = ...;
String str = "...";
ChannelFuture channelFuture = ctx.writeAndFlush(str);
channelFuture.addListener(future -> {
if (future.isSuccess()) {...}
else {...}
ctx.close();
});
ÖrnekÇağrı bitince bir işlem daha yapmak için şöyle yaparız.
ctx.writeAndFlush("...")
.addListener(ChannelFutureListener.CLOSE);
ChannelPromise Sınıfı
addListener metodu
addListener metodu
Şöyle yaparız.
ChannelPromise promise = c.newPromise();
promise.addListener(new ChannelFutureListener() {
@Override
public void operationComplete(ChannelFuture f) {
System.err.println("<TCPIn: promise write operationComplete.");
if (!f.isSuccess()) {
System.err.println("<TCPIn[writting]: promise write ERROR:");
f.cause().printStackTrace();
f.channel().close();
}
}
});
channel.writeAndFlush(buf,promise);
Giriş
Açıklaması şöyle.
You almost never need to close the ChunkedInput yourself, since you will normally have a ChunkedWriteHandler in the pipeline which will close it for you after the last chunk is written.ChunkedInput arayüzünden kalıtır.
constructor - File
Şöyle yaparız.
ctx.writeAndFlush(new ChunkedFile(
new File(...));
constructor - RandomAccessFile + offset + length+ chunkSizeŞöyle yaparız.
ctx.writeAndFlush(new HttpChunkedInput(new ChunkedFile(raf, 0, fileLength, 8192)),
ctx.newProgressivePromise());
Hiç yorum yok:
Yorum Gönder