@Override public ChannelPromise voidPromise() { return channel().voidPromise(); }
@Override public JChannel write(Object msg) { channel.writeAndFlush(msg, channel.voidPromise()); return this; }
@Override public ChannelPromise voidPromise() { return channel().voidPromise(); }
@Override public ChannelPromise voidPromise() { return channel().voidPromise(); }
private static void sendMessageToMultipleReceivers(Set<Channel> targets, StringMessage msg) { for (Channel channel : targets) { if (channel.isWritable()) { channel.writeAndFlush(msg, channel.voidPromise()); } } }
private void sms(Channel channel, String email, String to, String body, int msgId) { try { smsWrapper.send(to, body); channel.writeAndFlush(ok(msgId), channel.voidPromise()); } catch (Exception e) { log.error("Error sending sms for user {}. Reason : {}", email, e.getMessage()); channel.writeAndFlush(notificationError(msgId), channel.voidPromise()); } }
@Override public void reply(ProtocolRequest message, ProtocolReply.Status status, Optional<byte[]> payload) { ProtocolReply response = new ProtocolReply( message.id(), payload.orElse(EMPTY_PAYLOAD), status); channel.writeAndFlush(response, channel.voidPromise()); } }
@Override public ChannelGroupFuture writeAndFlush(Object message, ChannelMatcher matcher, boolean voidPromise) { if (message == null) { throw new NullPointerException("message"); } final ChannelGroupFuture future; if (voidPromise) { for (Channel c: nonServerChannels.values()) { if (matcher.matches(c)) { c.writeAndFlush(safeDuplicate(message), c.voidPromise()); } } future = voidFuture; } else { Map<Channel, ChannelFuture> futures = new LinkedHashMap<Channel, ChannelFuture>(size()); for (Channel c: nonServerChannels.values()) { if (matcher.matches(c)) { futures.put(c, c.writeAndFlush(safeDuplicate(message))); } } future = new DefaultChannelGroupFuture(this, futures, executor); } ReferenceCountUtil.release(message); return future; }
private void completeLogin(Channel channel, Session session, String userName, int msgId) { session.addAppChannel(channel); channel.writeAndFlush(ok(msgId), channel.voidPromise()); log.info("Shared {} app joined.", userName); }
private void writeToChannel(ByteBuf message) { channel.write(message, channel.voidPromise()); if (!needChannelFlush.getAndSet(true)) { this.lastExecutor.execute(flusher); } }
@Override public ChannelGroupFuture writeAndFlush(Object message, ChannelMatcher matcher, boolean voidPromise) { if (message == null) { throw new NullPointerException("message"); } final ChannelGroupFuture future; if (voidPromise) { for (Channel c: nonServerChannels.values()) { if (matcher.matches(c)) { c.writeAndFlush(safeDuplicate(message), c.voidPromise()); } } future = voidFuture; } else { Map<Channel, ChannelFuture> futures = new LinkedHashMap<Channel, ChannelFuture>(size()); for (Channel c: nonServerChannels.values()) { if (matcher.matches(c)) { futures.put(c, c.writeAndFlush(safeDuplicate(message))); } } future = new DefaultChannelGroupFuture(this, futures, executor); } ReferenceCountUtil.release(message); return future; }
@Override public ChannelGroupFuture write(Object message, ChannelMatcher matcher, boolean voidPromise) { if (message == null) { throw new NullPointerException("message"); } if (matcher == null) { throw new NullPointerException("matcher"); } final ChannelGroupFuture future; if (voidPromise) { for (Channel c: nonServerChannels.values()) { if (matcher.matches(c)) { c.write(safeDuplicate(message), c.voidPromise()); } } future = voidFuture; } else { Map<Channel, ChannelFuture> futures = new LinkedHashMap<Channel, ChannelFuture>(size()); for (Channel c: nonServerChannels.values()) { if (matcher.matches(c)) { futures.put(c, c.write(safeDuplicate(message))); } } future = new DefaultChannelGroupFuture(this, futures, executor); } ReferenceCountUtil.release(message); return future; }
@Override public void write(Channel channel, NettyResponseFuture<?> future) throws IOException { @SuppressWarnings("resource") // netty will close the FileChannel FileChannel fileChannel = new RandomAccessFile(file, "r").getChannel(); boolean noZeroCopy = ChannelManager.isSslHandlerConfigured(channel.pipeline()) || config.isDisableZeroCopy(); Object body = noZeroCopy ? new ChunkedNioFile(fileChannel, offset, length, config.getChunkedFileChunkSize()) : new DefaultFileRegion(fileChannel, offset, length); channel.write(body, channel.newProgressivePromise()) .addListener(new WriteProgressListener(future, false, length)); channel.writeAndFlush(LastHttpContent.EMPTY_LAST_CONTENT, channel.voidPromise()); } }
public ChannelFuture stop() { if (nioEventLoopGroup.isTerminated()) { return channel.voidPromise(); } ChannelFuture channelFuture = channel.close().awaitUninterruptibly(); nioEventLoopGroup.shutdownGracefully(); return channelFuture; } }
@Override public PackOutput flush() throws IOException { if ( buffer != null && buffer.readableBytes() > 0 ) { closeChunkIfOpen(); // check for and apply write throttles try { throttleGroup.writeThrottle().acquire( channel ); } catch ( TransportThrottleException ex ) { throw new BoltIOException( Status.Request.InvalidUsage, ex.getMessage(), ex ); } // Local copy and clear the buffer field. This ensures that the buffer is not re-released if the flush call fails ByteBuf out = this.buffer; this.buffer = null; channel.writeAndFlush( out, channel.voidPromise() ); buffer = allocateBuffer(); } return this; }
@Override public void writeReadingCommand(Channel channel) { if (isNotValid()) { return; } StringMessage msg = makeUTF8StringMessage(HARDWARE, READING_MSG_ID, DataStream.makeReadingHardwareBody(pinType.pintTypeChar, pin)); channel.write(msg, channel.voidPromise()); }
@Override public ChannelHandlerContext flush() { final AbstractChannelHandlerContext next = findContextOutbound(); EventExecutor executor = next.executor(); if (executor.inEventLoop()) { next.invokeFlush(); } else { Tasks tasks = next.invokeTasks; if (tasks == null) { next.invokeTasks = tasks = new Tasks(next); } safeExecute(executor, tasks.invokeFlushTask, channel().voidPromise(), null); } return this; }
@Override public void sendAppSync(Channel appChannel, int dashId, DashPinStorageKey key, boolean useNewFormat) { if (value != null) { String body = key.makeHardwareBody(value); String finalBody = prependDashIdAndDeviceId(key.dashId, key.deviceId, body); //special case for setProperty short cmdType = key.getCmdType(); StringMessage message = makeUTF8StringMessage(cmdType, SYNC_DEFAULT_MESSAGE_ID, finalBody); appChannel.write(message, appChannel.voidPromise()); } }
private static void sendSyncOnActivate(DataStream dataStream, int dashId, int deviceId, Channel appChannel) { if (dataStream.notEmptyAndIsValid()) { String body = prependDashIdAndDeviceId(dashId, deviceId, dataStream.makeHardwareBody()); appChannel.write(makeUTF8StringMessage(APP_SYNC, SYNC_DEFAULT_MESSAGE_ID, body), appChannel.voidPromise()); } }
@Override public ChannelHandlerContext flush() { final AbstractChannelHandlerContext next = findContextOutbound(); EventExecutor executor = next.executor(); if (executor.inEventLoop()) { next.invokeFlush(); } else { Runnable task = next.invokeFlushTask; if (task == null) { next.invokeFlushTask = task = new Runnable() { @Override public void run() { next.invokeFlush(); } }; } safeExecute(executor, task, channel().voidPromise(), null); } return this; }