protected void scheduleDispatch() { _channel.execute(_channel); }
protected void scheduleDispatch() { _channel.execute(_channel); }
protected void scheduleDispatch() { _channel.execute(_channel); }
protected void scheduleDispatch() { _channel.execute(_channel); }
protected void scheduleDispatch() { _channel.execute(_channel); }
public void onReadPossible() { boolean handle=false; synchronized (this) { _asyncRead=true; if (_state==State.ASYNC_WAIT) { _state=State.ASYNC_WOKEN; handle=true; } } if (handle) _channel.execute(_channel); }
public void onWritePossible() { boolean handle=false; synchronized (this) { _asyncWrite=true; if (_state==State.ASYNC_WAIT) { _state=State.ASYNC_WOKEN; handle=true; } } if (handle) _channel.execute(_channel); }
@Override public void start(final Runnable run) { final AsyncEventState event=_event; if (event!=null) { _channel.execute(new Runnable() { @Override public void run() { ((Context)event.getServletContext()).getContextHandler().handle(run); } }); } }
@Override public void start(final Runnable run) { final AsyncEventState event=_event; if (event!=null) { _channel.execute(new Runnable() { @Override public void run() { ((Context)event.getServletContext()).getContextHandler().handle(run); } }); } }
@Override public void onCompleteFailure(Throwable e) { _onError = e == null ? new IOException() : e; if (_channel.getState().onWritePossible()) _channel.execute(_channel); } }
@Override public void onCompleteFailure(Throwable e) { _onError=e==null?new IOException():e; if (_channel.getState().onWritePossible()) _channel.execute(_channel); } }
@Override public void start(final Runnable task) { state().getHttpChannel().execute(new Runnable() { @Override public void run() { state().getAsyncContextEvent().getContext().getContextHandler().handle(task); } }); }
@Override public void run() { Scheduler.Task task=_timeoutTask; _timeoutTask=null; if (task!=null) _state.getHttpChannel().execute(() -> _state.onTimeout()); }
@Override public void start(final Runnable task) { final HttpChannel channel = state().getHttpChannel(); channel.execute(new Runnable() { @Override public void run() { state().getAsyncContextEvent().getContext().getContextHandler().handle(channel.getRequest(),task); } }); }
@Override public void start(final Runnable task) { final HttpChannel channel = state().getHttpChannel(); channel.execute(new Runnable() { @Override public void run() { state().getAsyncContextEvent().getContext().getContextHandler().handle(channel.getRequest(),task); } }); }
@Override protected void onCompleteSuccess() { while(true) { OutputState last=_state.get(); switch(last) { case PENDING: if (!_state.compareAndSet(OutputState.PENDING, OutputState.ASYNC)) continue; break; case UNREADY: if (!_state.compareAndSet(OutputState.UNREADY, OutputState.READY)) continue; if (_channel.getState().onWritePossible()) _channel.execute(_channel); break; case CLOSED: break; default: throw new IllegalStateException(); } break; } }
@Override public void setWriteListener(WriteListener writeListener) { if (!_channel.getState().isAsync()) throw new IllegalStateException("!ASYNC"); if (_state.compareAndSet(OutputState.OPEN, OutputState.READY)) { _writeListener = writeListener; if (_channel.getState().onWritePossible()) _channel.execute(_channel); } else throw new IllegalStateException(); }
@Override public void setWriteListener(WriteListener writeListener) { if (!_channel.getState().isAsync()) throw new IllegalStateException("!ASYNC"); if (_state.compareAndSet(OutputState.OPEN, OutputState.READY)) { _writeListener = writeListener; if (_channel.getState().onWritePossible()) _channel.execute(_channel); } else throw new IllegalStateException(); }
@Override protected void onCompleteSuccess() { while (true) { OutputState last = _state.get(); switch (last) { case PENDING: if (!_state.compareAndSet(OutputState.PENDING, OutputState.ASYNC)) continue; break; case UNREADY: if (!_state.compareAndSet(OutputState.UNREADY, OutputState.READY)) continue; if (_last) closed(); if (_channel.getState().onWritePossible()) _channel.execute(_channel); break; case CLOSED: break; default: throw new IllegalStateException(); } break; } }