@Override protected void initChannel(SocketChannel channel) { ChannelPipeline pipeline = channel.pipeline(); if (sslContextSupplier.isPresent()) { if (allowPlainText) { pipeline.addLast(new OptionalSslHandler(sslContextSupplier.get().get())); } else { pipeline.addLast(sslContextSupplier.get().get().newHandler(channel.alloc())); } } pipeline.addLast(new ThriftProtocolDetection( new ThriftServerHandler(methodInvoker, requestTimeout, timeoutExecutor), maxFrameSize, assumeClientsSupportOutOfOrderResponses)); } }
@Override public void channelRead(ChannelHandlerContext context, Object message) { if (message instanceof ThriftFrame) { messageReceived(context, (ThriftFrame) message); return; } context.fireChannelRead(message); }
Optional<MethodMetadata> methodMetadata = methodInvoker.getMethodMetadata(message.getName()); if (!methodMetadata.isPresent()) { return immediateFuture(writeApplicationException( context, message.getName(), return immediateFuture(writeApplicationException( context, message.getName(), Map<Short, Object> parameters = readArguments(method, protocolReader); value -> { try { return immediateFuture(writeSuccessResponse(context, method, transport, protocol, message.getSequenceId(), supportOutOfOrderResponse, value)); exception -> { try { return immediateFuture(writeExceptionResponse(context, method, transport, protocol, message.getSequenceId(), supportOutOfOrderResponse, exception));
FrameInfo frameInfo = e.getFrameInfo().get(); try { context.writeAndFlush(writeApplicationException( context, frameInfo.getMethodName(), if (!isConnectionClosed(cause)) { log.error(cause);
TProtocolWriter protocolWriter = protocol.createProtocol(outputTransport); writeResponse( methodMetadata.getName(), protocolWriter, type = ((TApplicationException) exception).getType().orElse(INTERNAL_ERROR); return writeApplicationException( context, methodMetadata.getName(),
writeResponse( methodMetadata.getName(), protocol.createProtocol(outputTransport),
ListenableFuture<ThriftFrame> response = decodeMessage( context, inputTransport,
Optional<MethodMetadata> methodMetadata = methodInvoker.getMethodMetadata(message.getName()); if (!methodMetadata.isPresent()) { return immediateFuture(writeApplicationException( context, message.getName(), return immediateFuture(writeApplicationException( context, message.getName(), Map<Short, Object> parameters = readArguments(method, protocolReader); value -> { try { return immediateFuture(writeSuccessResponse(context, method, transport, protocol, message.getSequenceId(), supportOutOfOrderResponse, value)); exception -> { try { return immediateFuture(writeExceptionResponse(context, method, transport, protocol, message.getSequenceId(), supportOutOfOrderResponse, exception));
FrameInfo frameInfo = e.getFrameInfo().get(); try { context.writeAndFlush(writeApplicationException( context, frameInfo.getMethodName(), if (!isConnectionClosed(cause)) { log.error(cause);
TProtocolWriter protocolWriter = protocol.createProtocol(outputTransport); writeResponse( methodMetadata.getName(), protocolWriter, type = ((TApplicationException) exception).getType().orElse(INTERNAL_ERROR); return writeApplicationException( context, methodMetadata.getName(),
writeResponse( methodMetadata.getName(), protocol.createProtocol(outputTransport),
ListenableFuture<ThriftFrame> response = decodeMessage( context, inputTransport,
@Override public void channelRead(ChannelHandlerContext context, Object message) { if (message instanceof ThriftFrame) { messageReceived(context, (ThriftFrame) message); return; } context.fireChannelRead(message); }
@Override protected void initChannel(SocketChannel channel) { ChannelPipeline pipeline = channel.pipeline(); if (sslContextSupplier.isPresent()) { if (allowPlainText) { pipeline.addLast(new OptionalSslHandler(sslContextSupplier.get().get())); } else { pipeline.addLast(sslContextSupplier.get().get().newHandler(channel.alloc())); } } pipeline.addLast(new ThriftProtocolDetection( new ThriftServerHandler(methodInvoker, requestTimeout, timeoutExecutor), maxFrameSize, assumeClientsSupportOutOfOrderResponses)); } }