/** * This implementation just directly call {@link Runnable#run()}. * Sub-classes should override this if they can handle it in a better way */ public ChannelFuture execute(ChannelPipeline pipeline, Runnable task) { try { task.run(); return succeededFuture(pipeline.getChannel()); } catch (Throwable t) { return failedFuture(pipeline.getChannel(), t); } } }
public Channel getChannel() { return getPipeline().getChannel(); }
@Override public ChannelFuture execute(ChannelPipeline pipeline, final Runnable task) { Channel ch = pipeline.getChannel(); if (ch instanceof AbstractNioChannel<?>) { AbstractNioChannel<?> channel = (AbstractNioChannel<?>) ch; ChannelRunnableWrapper wrapper = new ChannelRunnableWrapper(pipeline.getChannel(), task); channel.worker.executeInIoThread(wrapper); return wrapper; } return super.execute(pipeline, task); }
@Override public ChannelFuture execute(final ChannelPipeline pipeline, final Runnable task) { Channel ch = pipeline.getChannel(); if (ch instanceof AbstractOioChannel) { AbstractOioChannel channel = (AbstractOioChannel) ch; Worker worker = channel.worker; if (worker != null) { ChannelRunnableWrapper wrapper = new ChannelRunnableWrapper(pipeline.getChannel(), task); channel.worker.executeInIoThread(wrapper); return wrapper; } } return super.execute(pipeline, task); }
public ChannelFuture execute(ChannelPipeline pipeline, Runnable task) { if (logger.isWarnEnabled()) { logger.warn("Not attached yet; rejecting: " + task); } return Channels.failedFuture(pipeline.getChannel(), new RejectedExecutionException("Not attached yet")); } }
@Override protected void flushRequested(ChannelPipeline pipeline, FlushEvent evt) throws Exception { TlsClientChannel tlsClientChannel = (TlsClientChannel) pipeline.getChannel(); ChannelFuture tlsFuture = evt.getFuture(); flushRequested(tlsClientChannel, tlsFuture); }
@Override protected void flushRequested(ChannelPipeline pipeline, FlushEvent evt) throws Exception { HttpClientChannel httpClientChannel = (HttpClientChannel) pipeline.getChannel(); ChannelFuture httpFuture = evt.getFuture(); flushRequested(httpClientChannel, httpFuture); }
@Override protected void flushRequested(ChannelPipeline pipeline, FlushEvent evt) throws Exception { TlsChildChannel tlsChildChannel = (TlsChildChannel) pipeline.getChannel(); ChannelFuture tlsFuture = evt.getFuture(); flushRequested(tlsChildChannel, tlsFuture); }
@Override protected void closeRequested(ChannelPipeline pipeline, ChannelStateEvent evt) throws Exception { TlsChildChannel tlsChildChannel = (TlsChildChannel) pipeline.getChannel(); ChannelFuture tlsFuture = evt.getFuture(); closeRequested(tlsChildChannel, tlsFuture); }
@Override protected void shutdownOutputRequested(ChannelPipeline pipeline, ShutdownOutputEvent evt) throws Exception { TlsChildChannel tlsChildChannel = (TlsChildChannel) pipeline.getChannel(); ChannelFuture tlsFuture = evt.getFuture(); shutdownOutputRequested(tlsChildChannel, tlsFuture); }
@Override protected void flushRequested(ChannelPipeline pipeline, FlushEvent evt) throws Exception { HttpChildChannel httpChildChannel = (HttpChildChannel) pipeline.getChannel(); ChannelFuture httpFuture = evt.getFuture(); flushRequested(httpChildChannel, httpFuture); }
@Override protected void shutdownOutputRequested(ChannelPipeline pipeline, ShutdownOutputEvent evt) throws Exception { HttpChildChannel httpChildChannel = (HttpChildChannel) pipeline.getChannel(); ChannelFuture httpFuture = evt.getFuture(); // TODO: shutdown response output is identical to close semantics (if request fully read already) closeRequested(httpChildChannel, httpFuture); }
@Override protected void closeRequested(ChannelPipeline pipeline, ChannelStateEvent evt) throws Exception { HttpChildChannel httpChildChannel = (HttpChildChannel) pipeline.getChannel(); ChannelFuture httpFuture = evt.getFuture(); closeRequested(httpChildChannel, httpFuture); }
@Override protected void shutdownOutputRequested(ChannelPipeline pipeline, ShutdownOutputEvent evt) throws Exception { TlsClientChannel tlsClientChannel = (TlsClientChannel) pipeline.getChannel(); ChannelFuture tlsFuture = evt.getFuture(); shutdownOutputRequested(tlsClientChannel, tlsFuture); }
@Override protected void shutdownOutputRequested(ChannelPipeline pipeline, ShutdownOutputEvent evt) throws Exception { HttpClientChannel httpClientChannel = (HttpClientChannel) pipeline.getChannel(); ChannelFuture httpFuture = evt.getFuture(); shutdownOutputRequested(httpClientChannel, httpFuture); }
public ChannelFuture execute(ChannelPipeline pipeline, Runnable task) { try { task.run(); return Channels.succeededFuture(pipeline.getChannel()); } catch (Throwable t) { return Channels.failedFuture(pipeline.getChannel(), t); } } }
@Override public ChannelFuture execute(ChannelPipeline httpPipeline, Runnable task) { ChannelPipeline pipeline = transport.getPipeline(); ChannelFuture future = pipeline.execute(task); Channel tlsChannel = pipeline.getChannel(); ChannelFuture tlsFuture = future(tlsChannel); chainFutures(future, tlsFuture); return tlsFuture; }
@Override public ChannelFuture execute(ChannelPipeline httpPipeline, Runnable task) { ChannelPipeline pipeline = transport.getPipeline(); ChannelFuture future = pipeline.execute(task); Channel httpChannel = pipeline.getChannel(); ChannelFuture httpFuture = future(httpChannel); chainFutures(future, httpFuture); return httpFuture; }
@Override public ChannelFuture execute(ChannelPipeline tlsPipeline, Runnable task) { if (transport != null) { ChannelPipeline pipeline = transport.getPipeline(); ChannelFuture future = pipeline.execute(task); Channel tlsChannel = pipeline.getChannel(); ChannelFuture tlsFuture = future(tlsChannel); chainFutures(future, tlsFuture); return tlsFuture; } return super.execute(tlsPipeline, task); }
private void startNegotiation(boolean fakeLoopback) { Negotiator negotiator = new Negotiator("127.0.0.1", secContext, false); negotiator.overrideLoopbackForTests = fakeLoopback; embedder = new DecoderEmbedder<Object>(negotiator); negotiator.sendHello(embedder.getPipeline().getChannel()); }