public void run() { SocketAddress localAddress = channel.getLocalAddress(); SocketAddress remoteAddress = channel.getRemoteAddress(); selector, channel.getInternalInterestOps(), channel); channel.setConnected(); future.setSuccess();
@Override public ChannelFuture write(Object message, SocketAddress remoteAddress) { if (remoteAddress == null || remoteAddress.equals(getRemoteAddress())) { return super.write(message, null); } else { return getUnsupportedOperationFuture(); } } }
public void runOnCorrectThread(NioSocketChannel nch, Runnable runnable) { nch.getWorker().executeInIoThread(runnable, false); }
public NioSocketChannelIoSession(ChannelIoService service, IoProcessorEx<ChannelIoSession<? extends ChannelConfig>> processor, NioSocketChannel channel) { super(service, processor, channel, new NioSocketChannelIoSessionConfig(channel.getConfig()), currentThread(), asExecutor(channel.getWorker())); }
public void run() { SocketAddress localAddress = channel.getLocalAddress(); SocketAddress remoteAddress = channel.getRemoteAddress(); selector, channel.getRawInterestOps(), channel); channel.setConnected(); future.setSuccess();
@Override public void channelConnected(ChannelHandlerContext ctx, ChannelStateEvent e) { final NioSocketChannel ch = (NioSocketChannel) e.getChannel(); NioWorker worker = ch.getWorker(); //Choose a handler final HandlerHolder<NetSocket> handler = handlerManager.chooseHandler(worker); if (handler == null) { //Ignore return; } if (tcpHelper.isSSL()) { SslHandler sslHandler = (SslHandler)ch.getPipeline().get("ssl"); ChannelFuture fut = sslHandler.handshake(); fut.addListener(new ChannelFutureListener() { public void operationComplete(ChannelFuture channelFuture) throws Exception { if (channelFuture.isSuccess()) { connected(ch, handler); } else { log.error("Client from origin " + ch.getRemoteAddress() + " failed to connect over ssl"); } } }); } else { connected(ch, handler); } }
ch.write(new DefaultHttpResponse(HTTP_1_1, CONTINUE)); } else { log.error("Unrecognised websockets handshake"); ch.write(new DefaultHttpResponse(HTTP_1_1, NOT_FOUND)); return; HandlerHolder<ServerWebSocket> wsHandler = wsHandlerManager.chooseHandler(ch.getWorker()); if (wsHandler == null || firstHandler == wsHandler) { break; ch.write(new DefaultHttpResponse(HTTP_1_1, NOT_FOUND)); } else { HandlerHolder<HttpServerRequest> reqHandler = reqHandlerManager.chooseHandler(ch.getWorker()); if (reqHandler != null) { conn = new ServerConnection(vertx, ch, reqHandler.context); case CLOSE: ch.write(new DefaultWebSocketFrame(WebSocketFrame.FrameType.CLOSE));
public void operationComplete(ChannelFuture channelFuture) throws Exception { if (channelFuture.isSuccess()) { connected(ch, handler); } else { log.error("Client from origin " + ch.getRemoteAddress() + " failed to connect over ssl"); } } });
@Override public void executeInIoThread(Runnable runnable) { NioSocketChannel nioSocketChannel = (NioSocketChannel) getNettyChannel(); nioSocketChannel.getWorker().executeInIoThread(runnable, true); }
@Override public ChannelFuture write(Object message, SocketAddress remoteAddress) { if (remoteAddress == null || remoteAddress.equals(getRemoteAddress())) { return super.write(message, null); } else { return getUnsupportedOperationFuture(); } } }
@Override public void run() { SocketAddress localAddress = channel.getLocalAddress(); SocketAddress remoteAddress = channel.getRemoteAddress(); selector, channel.getInternalInterestOps(), new TcpReadDispatcher(channel)); channel.setConnected(); future.setSuccess();
@Override public void childChannelOpen(ChannelHandlerContext ctx, ChildChannelStateEvent e) throws Exception { NioSocketChannel childChannel = (NioSocketChannel) e.getChildChannel(); DistributedNioWorker worker = (DistributedNioWorker) childChannel.getWorker(); worker.childChannelOpen(childChannel); super.childChannelOpen(ctx, e); }
@Override public void operationComplete(ChannelFuture future) throws Exception { ((NioSocketChannel) ctx.getChannel()).getWorker().executeInIoThread(() -> { try { prepareReceived(ctx, evt); } catch (Exception e) { sendErrorMessage(ctx, e); } }, true); } });
private boolean readTcp(SelectionKey k, NioSocketChannel channel) { final SocketChannel ch = (SocketChannel) k.channel(); final ReceiveBufferSizePredictor predictor = channel.getConfig().getReceiveBufferSizePredictor(); final int predictedRecvBufSize = predictor.nextReceiveBufferSize(); final ChannelBufferFactory bufferFactory = channel.getConfig().getBufferFactory();