/** * {@inheritDoc} */ @Override public WriteFuture flush() { Queue<Object> bufferQueue = getMessageQueue(); WriteFuture future = null; while (!bufferQueue.isEmpty()) { Object encodedMessage = bufferQueue.poll(); if (encodedMessage == null) { break; } // Flush only when the buffer has remaining. if (!(encodedMessage instanceof IoBuffer) || ((IoBuffer) encodedMessage).hasRemaining()) { future = new DefaultWriteFuture(session); nextFilter.filterWrite(session, new EncodedWriteRequest(encodedMessage, future, destination)); } } if (future == null) { // Creates an empty writeRequest containing the destination future = DefaultWriteFuture.newNotWrittenFuture(session, new NothingWrittenException(AbstractIoSession.MESSAGE_SENT_REQUEST)); } return future; } }
WriteRequest encodedWriteRequest = new EncodedWriteRequest(encodedMessage, null, destination);
WriteRequest encodedWriteRequest = new EncodedWriteRequest(encodedMessage, null, destination);
/** * {@inheritDoc} */ @Override public WriteFuture flush() { Queue<Object> bufferQueue = getMessageQueue(); WriteFuture future = null; while (!bufferQueue.isEmpty()) { Object encodedMessage = bufferQueue.poll(); if (encodedMessage == null) { break; } // Flush only when the buffer has remaining. if (!(encodedMessage instanceof IoBuffer) || ((IoBuffer) encodedMessage).hasRemaining()) { future = new DefaultWriteFuture(session); nextFilter.filterWrite(session, new EncodedWriteRequest(encodedMessage, future, destination)); } } if (future == null) { // Creates an empty writeRequest containing the destination future = DefaultWriteFuture.newNotWrittenFuture(session, new NothingWrittenException(AbstractIoSession.MESSAGE_SENT_REQUEST)); } return future; } }
public WriteFuture flush() { Queue<Object> bufferQueue = getMessageQueue(); WriteFuture future = null; for (;;) { Object encodedMessage = bufferQueue.poll(); if (encodedMessage == null) { break; } // Flush only when the buffer has remaining. if (!(encodedMessage instanceof IoBuffer) || ((IoBuffer) encodedMessage).hasRemaining()) { future = new DefaultWriteFuture(session); nextFilter.filterWrite(session, new EncodedWriteRequest(encodedMessage, future, writeRequest.getDestination())); } } if (future == null) { future = DefaultWriteFuture.newNotWrittenFuture( session, new NothingWrittenException(writeRequest)); } return future; }
public void flushWithoutFuture() { Queue<Object> bufferQueue = getMessageQueue(); for (;;) { Object encodedMessage = bufferQueue.poll(); if (encodedMessage == null) { break; } // Flush only when the buffer has remaining. if (!(encodedMessage instanceof IoBuffer) || ((IoBuffer) encodedMessage).hasRemaining()) { SocketAddress destination = writeRequest.getDestination(); WriteRequest writeRequest = new EncodedWriteRequest( encodedMessage, null, destination); nextFilter.filterWrite(session, writeRequest); } } } }