Use ChannelInboundStreamHandlerAdapter in EchoClientHandler
This commit is contained in:
parent
2a63acef4d
commit
3584da2dad
@ -17,10 +17,8 @@ package io.netty.example.echo;
|
|||||||
|
|
||||||
import io.netty.buffer.ChannelBuffer;
|
import io.netty.buffer.ChannelBuffer;
|
||||||
import io.netty.buffer.ChannelBuffers;
|
import io.netty.buffer.ChannelBuffers;
|
||||||
import io.netty.channel.ChannelBufferHolder;
|
|
||||||
import io.netty.channel.ChannelBufferHolders;
|
|
||||||
import io.netty.channel.ChannelInboundHandlerAdapter;
|
|
||||||
import io.netty.channel.ChannelInboundHandlerContext;
|
import io.netty.channel.ChannelInboundHandlerContext;
|
||||||
|
import io.netty.channel.ChannelInboundStreamHandlerAdapter;
|
||||||
|
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
@ -30,7 +28,7 @@ import java.util.logging.Logger;
|
|||||||
* traffic between the echo client and server by sending the first message to
|
* traffic between the echo client and server by sending the first message to
|
||||||
* the server.
|
* the server.
|
||||||
*/
|
*/
|
||||||
public class EchoClientHandler extends ChannelInboundHandlerAdapter<Byte> {
|
public class EchoClientHandler extends ChannelInboundStreamHandlerAdapter {
|
||||||
|
|
||||||
private static final Logger logger = Logger.getLogger(
|
private static final Logger logger = Logger.getLogger(
|
||||||
EchoClientHandler.class.getName());
|
EchoClientHandler.class.getName());
|
||||||
@ -50,23 +48,16 @@ public class EchoClientHandler extends ChannelInboundHandlerAdapter<Byte> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public ChannelBufferHolder<Byte> newInboundBuffer(ChannelInboundHandlerContext<Byte> ctx) {
|
|
||||||
return ChannelBufferHolders.byteBuffer();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void channelActive(ChannelInboundHandlerContext<Byte> ctx) {
|
public void channelActive(ChannelInboundHandlerContext<Byte> ctx) {
|
||||||
ctx.write(firstMessage);
|
ctx.write(firstMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void inboundBufferUpdated(ChannelInboundHandlerContext<Byte> ctx) {
|
public void inboundBufferUpdated(ChannelInboundHandlerContext<Byte> ctx, ChannelBuffer in) {
|
||||||
ChannelBuffer in = ctx.inbound().byteBuffer();
|
|
||||||
ChannelBuffer out = ctx.nextOutboundByteBuffer();
|
ChannelBuffer out = ctx.nextOutboundByteBuffer();
|
||||||
out.discardReadBytes();
|
out.discardReadBytes();
|
||||||
out.writeBytes(in);
|
out.writeBytes(in);
|
||||||
in.discardReadBytes();
|
|
||||||
ctx.flush();
|
ctx.flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user