@Override public void execute(final Callback<NioControls> asyncWrite) { execute(new Runnable() { @Override public void run() { asyncWrite.onMessage(controls); } }); }
@Override public void execute(final Callback<NioControls> asyncWrite) { execute(new Runnable() { @Override public void run() { asyncWrite.onMessage(controls); } }); }
@Override public void dispose() { synchronized (_disposables) { //copy list to prevent concurrent mod for (Disposable r : _disposables.toArray(new Disposable[_disposables.size()])) { r.dispose(); } } scheduler.dispose(); execute(new Runnable() { @Override public void run() { selectorRunning = false; } }); }
@Override public void dispose() { synchronized (_disposables) { //copy list to prevent concurrent mod for (Disposable r : _disposables.toArray(new Disposable[_disposables.size()])) { r.dispose(); } } scheduler.dispose(); execute(new Runnable() { @Override public void run() { selectorRunning = false; } }); }
@Override public void addHandler(final NioChannelHandler handler) { if (onSelectorThread()) { NioFiberImpl.this.synchronousAdd(handler); } else { execute(new Runnable() { @Override public void run() { NioFiberImpl.this.synchronousAdd(handler); } }); } }
@Override public void close(final SelectableChannel channel) { if (onSelectorThread()) { controls.close(channel); } else { execute(new Callback<NioControls>() { @Override public void onMessage(NioControls message) { controls.close(channel); } }); } }
@Override public void addHandler(final NioChannelHandler handler) { if (onSelectorThread()) { NioFiberImpl.this.synchronousAdd(handler); } else { execute(new Runnable() { @Override public void run() { NioFiberImpl.this.synchronousAdd(handler); } }); } }
@Override public void close(final SelectableChannel channel) { if (onSelectorThread()) { controls.close(channel); } else { execute(new Callback<NioControls>() { @Override public void onMessage(NioControls message) { controls.close(channel); } }); } }