nextFilter.messageSent(session, inputStream); } else { nextFilter.filterWrite(session, new WriteRequest(byteBuffer));
.getFuture()); nextFilter.filterWrite(session, new WriteRequest(byteBuffer));
@Override public void filterWrite(NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws Exception { Object message = writeRequest.getMessage(); if (message instanceof ByteBuffer) { nextFilter.filterWrite(session, writeRequest); return; } ProtocolEncoder encoder = getEncoder(session); ProtocolEncoderOutputImpl encoderOut = getEncoderOut(session, nextFilter, writeRequest); try { encoder.encode(session, message, encoderOut); encoderOut.flush(); nextFilter.filterWrite(session, new WriteRequest( new MessageByteBuffer(writeRequest.getMessage()), writeRequest.getFuture(), writeRequest.getDestination())); } catch (Throwable t) { ProtocolEncoderException pee; if (t instanceof ProtocolEncoderException) { pee = (ProtocolEncoderException) t; } else { pee = new ProtocolEncoderException(t); } throw pee; } }
@Override protected WriteFuture doFlush(ByteBuffer buf) { WriteFuture future = new DefaultWriteFuture(session); nextFilter.filterWrite(session, new WriteRequest( new HiddenByteBuffer(buf), future, writeRequest .getDestination())); return future; } }
public WriteFuture write(Object message, SocketAddress remoteAddress) { if (isClosing() ) { return DefaultWriteFuture.newNotWrittenFuture(this); } WriteFuture future = new DefaultWriteFuture(this); write0(new WriteRequest(message, future, remoteAddress)); return future; }