@Override public void channelWritabilityChanged(ChannelHandlerContext ctx) throws Exception { if (inner == null) { super.channelWritabilityChanged(ctx); } else { inner.channelWritabilityChanged(ctx); } }
@Override public void channelWritabilityChanged(final ChannelHandlerContext ctx) throws Exception { final boolean w = ctx.channel().isWritable(); synchronized (this) { this.blocked = !w; LOG.debug("Writes on session {} {}", this.session, w ? "unblocked" : "blocked"); if (w) { notifyAll(); } } super.channelWritabilityChanged(ctx); }
@Override public void channelWritabilityChanged(final ChannelHandlerContext ctx) throws Exception { super.channelWritabilityChanged(ctx); conditionalFlush(ctx); }
@Override public void channelWritabilityChanged(final ChannelHandlerContext ctx) throws Exception { super.channelWritabilityChanged(ctx); // The channel is writable again. There may be a flush task on the way, but let's // steal its work, potentially decreasing latency. Since there is a window between // now and when it will run, it may still pick up some more work to do. LOG.debug("Channel {} writability changed, invoking flush", parent.getChannel()); writeAndFlush(); }
@Override public void channelWritabilityChanged(ChannelHandlerContext ctx) throws Exception { acquisitionListener.channelWritable(ctx.channel().isWritable()); super.channelWritabilityChanged(ctx); }
@Override public void channelWritabilityChanged(ChannelHandlerContext ctx) throws Exception { final Channel c = channel; if (c == null || c.isWritable()) { makeWritable(); } super.channelWritabilityChanged(ctx); }
@Override public void channelWritabilityChanged(ChannelHandlerContext ctx) throws Exception { PipelineContinuationBehavior methodExecutionResponse; boolean shouldLinkAndUnlinkDTraceInfo = shouldLinkAndUnlinkDistributedTraceInfoForMethod( DO_CHANNEL_WRITABILITY_CHANGED, isDefaultDoChannelWritabilityChangedImpl, forceEnableDTraceOnAllMethods, debugHandlerMethodCalls, ctx, null, null ); Pair<Deque<Span>, Map<String, String>> origThreadInfo = null; try { if (shouldLinkAndUnlinkDTraceInfo) origThreadInfo = linkTracingAndMdcToCurrentThread(ctx); if (debugHandlerMethodCalls) logger.debug("^^^^^^^^^^^^^^^ channelWritabilityChanged for {}", this.getClass().getName()); methodExecutionResponse = doChannelWritabilityChanged(ctx); } finally { if (shouldLinkAndUnlinkDTraceInfo) unlinkTracingAndMdcFromCurrentThread(ctx, origThreadInfo); } if (methodExecutionResponse == null || CONTINUE.equals(methodExecutionResponse)) super.channelWritabilityChanged(ctx); }
@Override public void channelWritabilityChanged(ChannelHandlerContext ctx) throws Exception { PipelineContinuationBehavior methodExecutionResponse; boolean shouldLinkAndUnlinkDTraceInfo = shouldLinkAndUnlinkDistributedTraceInfoForMethod( DO_CHANNEL_WRITABILITY_CHANGED, isDefaultDoChannelWritabilityChangedImpl, forceEnableDTraceOnAllMethods, debugHandlerMethodCalls, ctx, null, null ); Pair<Deque<Span>, Map<String, String>> origThreadInfo = null; try { if (shouldLinkAndUnlinkDTraceInfo) origThreadInfo = linkTracingAndMdcToCurrentThread(ctx); if (debugHandlerMethodCalls) logger.debug("^^^^^^^^^^^^^^^ channelWritabilityChanged for {}", this.getClass().getName()); methodExecutionResponse = doChannelWritabilityChanged(ctx); } finally { if (shouldLinkAndUnlinkDTraceInfo) unlinkTracingAndMdcFromCurrentThread(ctx, origThreadInfo); } if (methodExecutionResponse == null || CONTINUE.equals(methodExecutionResponse)) super.channelWritabilityChanged(ctx); }