@Override public void wakeupReads() { super.wakeupReads(); getFramedChannel().resumeReceives(); }
@Override public void suspendReads() { getFramedChannel().suspendReceives(); super.suspendReads(); } }
@Override public void resumeReads() { super.resumeReads(); getFramedChannel().resumeReceives(); }
public void startDiscard() { discardMode = true; try { getChannel().recalculateHeldFrames(); } catch (IOException e) { markBroken(); } }
@Override protected void handleFlushComplete(boolean finalFrame) { super.handleFlushComplete(finalFrame); if (finalFrame) { getChannel().sinkDone(); } if (finalFrame && finishListener != null) { finishListener.handleEvent(this); } }
@Override protected void channelForciblyClosed() throws IOException { super.channelForciblyClosed(); getChannel().sinkDone(); finishListener.handleEvent(this); }
void chunkRequested(int size) throws IOException { requestedChunkSize = size; getChannel().recalculateHeldFrames(); }
@Override protected void complete() throws IOException { if(finishListener != null) { getFramedChannel().sourceDone(); finishListener.handleEvent(this); } }
@Override public <A extends SocketAddress> A getLocalAddress(Class<A> type) { return connection.getLocalAddress(type); }
@Override public SocketAddress getPeerAddress() { return connection.getPeerAddress(); }
@Override public <T> T getOption(Option<T> option) throws IOException { return connection.getOption(option); }
SendFrameHeader generateSendFrameHeader() { header = createFrameHeaderImpl(); return header; }
@Override protected void handleHeaderData(FrameHeaderData headerData) { if(headerData instanceof AjpClientChannel.EndResponse) { lastFrame(); } } @Override
/** * Create a new {@link io.undertow.server.protocol.framed.AbstractFramedChannel} * 8 * * @param connectedStreamChannel The {@link org.xnio.channels.ConnectedStreamChannel} over which the WebSocket Frames should get send and received. * Be aware that it already must be "upgraded". * @param bufferPool The {@link org.xnio.Pool} which will be used to acquire {@link java.nio.ByteBuffer}'s from. */ public AjpClientChannel(StreamConnection connectedStreamChannel, ByteBufferPool bufferPool, OptionMap settings) { super(connectedStreamChannel, bufferPool, AjpClientFramePriority.INSTANCE, null, settings); ajpParser = new AjpResponseParser(); }
void sourceDone() { sourceDone = true; if (sinkDone) { sink = null; source = null; } else { sink.startDiscard(); } }
@Override public XnioWorker getWorker() { return connection.getWorker(); }
@Override public XnioIoThread getIoThread() { return connection.getIoThread(); }
@Override public <T> T setOption(Option<T> option, T value) throws IllegalArgumentException, IOException { return connection.setOption(option, value); }
@Override public SocketAddress getLocalAddress() { return connection.getLocalAddress(); }
@Override public <A extends SocketAddress> A getPeerAddress(Class<A> type) { return connection.getPeerAddress(type); }