@Override public ChannelListener.Setter<? extends StreamSourceChannel> getReadSetter() { return channel.getReadSetter(); }
public void setReadReadyHandler(final ReadReadyHandler handler) { channel.getReadSetter().set(new ChannelListener<StreamSourceChannel>() { public void handleEvent(final StreamSourceChannel channel) { handler.readReady(); } }); }
/** * Construct a new instance. * * @param delegate the delegate channel * @param delegateConfig {@code true} to delegate configuration, {@code false} otherwise */ public SplitStreamSourceChannel(final StreamSourceChannel delegate, boolean delegateConfig) { this.delegate = delegate; delegate.getReadSetter().set(new ChannelListener<StreamSourceChannel>() { public void handleEvent(final StreamSourceChannel channel) { invokeChannelListener(SplitStreamSourceChannel.this, readListener); } }); state = delegateConfig ? FLAG_DELEGATE_CONFIG : 0; }
public void setup(StreamSourceChannel channel) { channel.suspendReads(); channel.getReadSetter().set(this); channel.resumeReads(); }
private void runReadTask() { Assert.assertTrue(pooledByteBuffer == null); channel.getReadSetter().set(channelListener); channel.wakeupReads(); //should just be resume, see UNDERTOW-1192 }
delegate.getReadSetter().set(new ChannelListener<StreamSourceChannel>() { public void handleEvent(final StreamSourceChannel channel) { ChannelListeners.invokeChannelListener(FixedLengthStreamSourceChannel.this, readListener);
/** * Construct a new instance. * * @param channel the channel to wrap */ public PushBackStreamChannel(final StreamSourceChannel channel) { this.channel = firstChannel = channel; firstChannel.getReadSetter().set(new ChannelListener<StreamSourceChannel>() { public void handleEvent(final StreamSourceChannel channel) { ChannelListeners.invokeChannelListener(PushBackStreamChannel.this, readListener); } }); firstChannel.getCloseSetter().set(new ChannelListener<StreamSourceChannel>() { public void handleEvent(final StreamSourceChannel channel) { ChannelListeners.invokeChannelListener(PushBackStreamChannel.this, closeListener); } }); }
public void requestDone() { if(delegate instanceof ConduitStreamSourceChannel) { ((ConduitStreamSourceChannel)delegate).setReadListener(null); ((ConduitStreamSourceChannel)delegate).setCloseListener(null); } else { delegate.getReadSetter().set(null); delegate.getCloseSetter().set(null); } }
private void registerListeners(HttpServerExchange exchange) { exchange.addExchangeCompleteListener((ex, next) -> { onAllDataRead(); next.proceed(); }); this.channel.getReadSetter().set(c -> onDataAvailable()); this.channel.getCloseSetter().set(c -> onAllDataRead()); this.channel.resumeReads(); }
public ChannelListener.Setter<? extends StreamSourceChannel> getReadSetter() { if (readSetter == null) { readSetter = new ChannelListener.SimpleSetter<>(); if (!isFinished()) { if(delegate instanceof ConduitStreamSourceChannel) { ((ConduitStreamSourceChannel)delegate).setReadListener(new SetterDelegatingListener((ChannelListener.SimpleSetter)readSetter, this)); } else { delegate.getReadSetter().set(new SetterDelegatingListener((ChannelListener.SimpleSetter)readSetter, this)); } } } return readSetter; }
channel.getReadSetter().set(new ChannelListener<StreamSourceChannel>() { @Override public void handleEvent(final StreamSourceChannel channel) {
source.getReadSetter().set(listener);
@Override public void parse(HttpHandler handler) throws Exception { if (exchange.getAttachment(FORM_DATA) != null) { handler.handleRequest(exchange); return; } this.handler = handler; StreamSourceChannel channel = exchange.getRequestChannel(); if (channel == null) { throw new IOException(UndertowMessages.MESSAGES.requestChannelAlreadyProvided()); } else { doParse(channel); if (state != 4) { channel.getReadSetter().set(this); channel.resumeReads(); } else { exchange.dispatch(SameThreadExecutor.INSTANCE, handler); } } }
private void registerListeners(HttpServerExchange exchange) { exchange.addExchangeCompleteListener((ex, next) -> { onAllDataRead(); next.proceed(); }); this.channel.getReadSetter().set(c -> onDataAvailable()); this.channel.getCloseSetter().set(c -> onAllDataRead()); this.channel.resumeReads(); }
public void setup(final StreamSourceChannel channel) { PooledByteBuffer resource = bufferPool.allocate(); ByteBuffer buffer = resource.getBuffer(); try { int r = 0; do { r = channel.read(buffer); if (r == 0) { channel.getReadSetter().set(this); channel.resumeReads(); } else if (r == -1) { stringDone(string.extract()); IoUtils.safeClose(channel); } else { buffer.flip(); string.write(buffer); } } while (r > 0); } catch (IOException e) { error(e); } finally { resource.close(); } }
channel.getReadSetter().set(null); channel.suspendReads(); Connectors.executeRootHandler(next, exchange); Connectors.ungetRequestBytes(exchange, bufferedData); Connectors.resetRequestChannel(exchange); channel.getReadSetter().set(null); channel.suspendReads(); Connectors.executeRootHandler(next, exchange);
listener = listeners.get(selected).listener; source.getReadSetter().set(null); listener.handleEvent(channel, buffer); free = false; source.getReadSetter().set(null); listener.handleEvent(channel, buffer); free = false;
/** * Construct a new instance. * * @param closeable the single central closeable channel * @param source the stream source channel * @param sink the stream sink channel */ public AssembledStreamChannel(final CloseableChannel closeable, final StreamSourceChannel source, final StreamSinkChannel sink) { if (source.getWorker() != sink.getWorker() || source.getWorker() != closeable.getWorker()) { throw msg.differentWorkers(); } this.closeable = closeable; this.source = source; this.sink = sink; readSetter = ChannelListeners.getDelegatingSetter(source.getReadSetter(), this); writeSetter = ChannelListeners.getDelegatingSetter(sink.getWriteSetter(), this); closeSetter = ChannelListeners.getDelegatingSetter(closeable.getCloseSetter(), this); }
responseChannel.getReadSetter().set(listener); responseChannel.resumeReads(); listener.handleEvent(responseChannel);
int c = requestChannel.read(pooled.getBuffer()); if(c == 0) { requestChannel.getReadSetter().set(new ChannelListener<StreamSourceChannel>() { @Override public void handleEvent(StreamSourceChannel channel) {