@Override public void start(ServiceStartContext startContext) { final ActorScheduler scheduler = startContext.getScheduler(); final ClientTransportBuilder transportBuilder = Transports.newClientTransport(name); transport = transportBuilder .messageMemoryPool(new NonBlockingMemoryPool(messageBufferSize)) // client transport in broker should no do any high volume interactions using // request/resp .requestMemoryPool(new UnboundedMemoryPool()) .scheduler(scheduler) .build(); if (defaultEndpoints != null) { // make transport open and manage channels to the default endpoints defaultEndpoints.forEach(s -> transport.registerEndpoint(s.getInt(), s.getRight())); } }
private void createClientTransports(final SystemContext context) { final ServiceContainer serviceContainer = context.getServiceContainer(); final BrokerCfg brokerCfg = context.getBrokerConfiguration(); final NetworkCfg networkCfg = brokerCfg.getNetwork(); final int nodeId = brokerCfg.getCluster().getNodeId(); final SocketAddress managementEndpoint = networkCfg.getManagement().toSocketAddress(); final SocketAddress subscriptionEndpoint = networkCfg.getSubscription().toSocketAddress(); final ActorFuture<ClientTransport> managementClientFuture = createClientTransport( serviceContainer, MANAGEMENT_API_CLIENT_NAME, new ByteValue(networkCfg.getDefaultSendBufferSize()), Collections.singletonList(new IntTuple<>(nodeId, managementEndpoint))); context.addRequiredStartAction(managementClientFuture); final ActorFuture<ClientTransport> replicationClientFuture = createClientTransport( serviceContainer, REPLICATION_API_CLIENT_NAME, new ByteValue(networkCfg.getDefaultSendBufferSize()), null); context.addRequiredStartAction(replicationClientFuture); final ActorFuture<ClientTransport> subscriptionClientFuture = createClientTransport( serviceContainer, SUBSCRIPTION_API_CLIENT_NAME, new ByteValue(networkCfg.getDefaultSendBufferSize()), Collections.singletonList(new IntTuple<>(nodeId, subscriptionEndpoint))); context.addRequiredStartAction(subscriptionClientFuture); }
private void createClientTransports(final SystemContext context) { final ServiceContainer serviceContainer = context.getServiceContainer(); final BrokerCfg brokerCfg = context.getBrokerConfiguration(); final NetworkCfg networkCfg = brokerCfg.getNetwork(); final int nodeId = brokerCfg.getCluster().getNodeId(); final SocketAddress managementEndpoint = networkCfg.getManagement().toSocketAddress(); final SocketAddress subscriptionEndpoint = networkCfg.getSubscription().toSocketAddress(); final ActorFuture<ClientTransport> managementClientFuture = createClientTransport( serviceContainer, MANAGEMENT_API_CLIENT_NAME, new ByteValue(networkCfg.getDefaultSendBufferSize()), Collections.singletonList(new IntTuple<>(nodeId, managementEndpoint))); context.addRequiredStartAction(managementClientFuture); final ActorFuture<ClientTransport> replicationClientFuture = createClientTransport( serviceContainer, REPLICATION_API_CLIENT_NAME, new ByteValue(networkCfg.getDefaultSendBufferSize()), null); context.addRequiredStartAction(replicationClientFuture); final ActorFuture<ClientTransport> subscriptionClientFuture = createClientTransport( serviceContainer, SUBSCRIPTION_API_CLIENT_NAME, new ByteValue(networkCfg.getDefaultSendBufferSize()), Collections.singletonList(new IntTuple<>(nodeId, subscriptionEndpoint))); context.addRequiredStartAction(subscriptionClientFuture); }
@Override public void start(ServiceStartContext startContext) { final ActorScheduler scheduler = startContext.getScheduler(); final ClientTransportBuilder transportBuilder = Transports.newClientTransport(name); transport = transportBuilder .messageMemoryPool(new NonBlockingMemoryPool(messageBufferSize)) // client transport in broker should no do any high volume interactions using // request/resp .requestMemoryPool(new UnboundedMemoryPool()) .scheduler(scheduler) .build(); if (defaultEndpoints != null) { // make transport open and manage channels to the default endpoints defaultEndpoints.forEach(s -> transport.registerEndpoint(s.getInt(), s.getRight())); } }