@Override public void filterWrite(NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws Exception { Object message = writeRequest.getMessage(); ProtocolEncoder encoder = getEncoder(session); ProtocolEncoderOutput encoderOut = new DirectOutput(session, nextFilter, writeRequest); try { encoder.encode(session, message, encoderOut); nextFilter.filterWrite(session, new EndOfMessage(writeRequest)); } catch (ProtocolEncoderException e) { throw e; } catch (Throwable t) { throw new ProtocolEncoderException(t); } }
/** * {@inheritDoc} */ @Override public void encode(IoSession session, Object message, ProtocolEncoderOutput out) throws Exception { synchronized (encoder) { encoder.encode(session, message, out); } }
public void encode( IoSession session, Object message, ProtocolEncoderOutput out ) throws Exception { synchronized( encoder ) { encoder.encode( session, message, out ); } }
/** * {@inheritDoc} */ @Override public void encode(IoSession session, Object message, ProtocolEncoderOutput out) throws Exception { synchronized (encoder) { encoder.encode(session, message, out); } }
public void encode(IoSession session, Object message, ProtocolEncoderOutput out) throws Exception { synchronized (encoder) { encoder.encode(session, message, out); } }
@Override public void filterWrite(NextFilter nextFilter, IoSession session, WriteRequest writeRequest) throws Exception { Object message = writeRequest.getMessage(); // Bypass the encoding if the message is contained in a IoBuffer, // as it has already been encoded before if (message instanceof IoBuffer || message instanceof FileRegion) { nextFilter.filterWrite(session, writeRequest); return; } // Get the encoder in the session ProtocolEncoder encoder = getEncoder(session); ProtocolEncoderOutput encoderOut = getEncoderOut(session, nextFilter, writeRequest); try { // Now we can try to encode the response encoder.encode(session, message, encoderOut); // Flush the encoded message (assumes single encoded message) ((ProtocolEncoderOutputImpl) encoderOut).flushWithFuture(nextFilter, session, writeRequest); } catch (Throwable t) { ProtocolEncoderException pee; // Generate the correct exception if (t instanceof ProtocolEncoderException) { pee = (ProtocolEncoderException) t; } else { pee = new ProtocolEncoderException(t); } throw pee; } }
encoder.encode(session, message, encoderOut);
encoder.encode(session, message, encoderOut);
encoder.encode(session, message, encoderOut);
encoder.encode( session, message, encoderOut );