@Override protected NettyChannelBuilder newChannelBuilder(final String name) { return NettyChannelBuilder.forTarget(name) .loadBalancerFactory(this.loadBalancerFactory) .nameResolverFactory(this.nameResolverFactory); }
@Override protected NettyServerBuilder newServerBuilder() { final String address = getAddress(); final int port = getPort(); if (GrpcServerProperties.ANY_IP_ADDRESS.equals(address)) { return NettyServerBuilder.forPort(port); } else { return NettyServerBuilder.forAddress(new InetSocketAddress(InetAddresses.forString(address), port)); } }
@Override // Keep this in sync with NettyChannelFactory#configureSecurity protected void configureSecurity(final NettyChannelBuilder builder, final String name) { final GrpcChannelProperties properties = getPropertiesFor(name); final NegotiationType negotiationType = properties.getNegotiationType(); builder.negotiationType(of(negotiationType)); if (negotiationType != NegotiationType.PLAINTEXT) { final Security security = properties.getSecurity(); final String authorityOverwrite = security.getAuthorityOverride(); if (authorityOverwrite != null && !authorityOverwrite.isEmpty()) { builder.overrideAuthority(authorityOverwrite); } final SslContextBuilder sslContextBuilder = GrpcSslContexts.forClient(); if (security.isClientAuthEnabled()) { final File keyCertChainFile = toCheckedFile("keyCertChain", security.getCertificateChainPath()); final File privateKeyFile = toCheckedFile("privateKey", security.getPrivateKeyPath()); sslContextBuilder.keyManager(keyCertChainFile, privateKeyFile); } final String trustCertCollectionPath = security.getTrustCertCollectionPath(); if (trustCertCollectionPath != null && !trustCertCollectionPath.isEmpty()) { final File trustCertCollectionFile = toCheckedFile("trustCertCollection", trustCertCollectionPath); sslContextBuilder.trustManager(trustCertCollectionFile); } try { builder.sslContext(sslContextBuilder.build()); } catch (final SSLException e) { throw new IllegalStateException("Failed to create ssl context for grpc client", e); } } }
private AltsChannelBuilder(String target) { delegate = NettyChannelBuilder.forTarget(target) .keepAliveTime(20, TimeUnit.SECONDS) .keepAliveTimeout(10, TimeUnit.SECONDS) .keepAliveWithoutCalls(true); InternalNettyChannelBuilder.setProtocolNegotiatorFactory( delegate(), new ProtocolNegotiatorFactory()); }
@Override // Keep this in sync with NettyGrpcServerFactory#configureSecurity protected void configureSecurity(final NettyServerBuilder builder) { final Security security = this.properties.getSecurity(); if (security.isEnabled()) { final File certificateChainFile = toCheckedFile("certificateChain", security.getCertificateChainPath()); final File privateKeyFile = toCheckedFile("privateKey", security.getPrivateKeyPath()); final SslContextBuilder sslContextBuilder = GrpcSslContexts.forServer(certificateChainFile, privateKeyFile); if (security.getClientAuth() != ClientAuth.NONE) { sslContextBuilder.clientAuth(of(security.getClientAuth())); final String trustCertCollectionPath = security.getTrustCertCollectionPath(); if (trustCertCollectionPath != null && !trustCertCollectionPath.isEmpty()) { final File trustCertCollectionFile = toCheckedFile("trustCertCollection", trustCertCollectionPath); sslContextBuilder.trustManager(trustCertCollectionFile); } } try { builder.sslContext(sslContextBuilder.build()); } catch (final SSLException e) { throw new IllegalStateException("Failed to create ssl context for grpc server", e); } } }
/** {@inheritDoc} */ @Override public AltsServerBuilder addService(ServerServiceDefinition service) { delegate.addService(service); return this; }
/** {@inheritDoc} */ @Override public AltsServerBuilder executor(Executor executor) { delegate.executor(executor); return this; }
@Override public Handler newHandler(GrpcHttp2ConnectionHandler grpcHandler) { if (grpcHandler.getEagAttributes().get(GrpcAttributes.ATTR_LB_ADDR_AUTHORITY) != null || grpcHandler.getEagAttributes().get(GrpcAttributes.ATTR_LB_PROVIDED_BACKEND) != null) { return altsProtocolNegotiator.newHandler(grpcHandler); } else { return tlsProtocolNegotiator.newHandler(grpcHandler); } }
/** {@inheritDoc} */ @Override public AltsServerBuilder handshakeTimeout(long timeout, TimeUnit unit) { delegate.handshakeTimeout(timeout, unit); return this; }
/** {@inheritDoc} */ @Override public AltsServerBuilder addStreamTracerFactory(Factory factory) { delegate.addStreamTracerFactory(factory); return this; }
/** {@inheritDoc} */ @Override public AltsServerBuilder intercept(ServerInterceptor interceptor) { delegate.intercept(interceptor); return this; }
/** {@inheritDoc} */ @Override public AltsServerBuilder directExecutor() { delegate.directExecutor(); return this; }
/** {@inheritDoc} */ @Override public AltsServerBuilder compressorRegistry(CompressorRegistry registry) { delegate.compressorRegistry(registry); return this; }
/** {@inheritDoc} */ @Override public AltsServerBuilder addTransportFilter(ServerTransportFilter filter) { delegate.addTransportFilter(filter); return this; }
/** {@inheritDoc} */ @Override public AltsServerBuilder fallbackHandlerRegistry(HandlerRegistry fallbackRegistry) { delegate.fallbackHandlerRegistry(fallbackRegistry); return this; }
/** {@inheritDoc} */ @Override public AltsServerBuilder decompressorRegistry(DecompressorRegistry registry) { delegate.decompressorRegistry(registry); return this; }
public GoogleDefaultProtocolNegotiator(TsiHandshakerFactory altsFactory, SslContext sslContext) { altsProtocolNegotiator = AltsProtocolNegotiator.createClientNegotiator(altsFactory); tlsProtocolNegotiator = ProtocolNegotiators.tls(sslContext); }
@Override protected NettyChannelBuilder newChannelBuilder(final String name) { return NettyChannelBuilder.forTarget(name) .loadBalancerFactory(this.loadBalancerFactory) .nameResolverFactory(this.nameResolverFactory); }
/** {@inheritDoc} */ @Override public AltsServerBuilder addService(BindableService bindableService) { delegate.addService(bindableService); return this; }