: requestHandlingRSocket) .transport(weighedClientTransportSupplier.apply(statsProcessor)) .start() .doOnNext( _rSocket -> {
: requestHandlingRSocket) .transport(weighedClientTransportSupplier.get()) .start() .doOnNext( _rSocket -> {
: requestHandlingRSocket) .transport(weighedClientTransportSupplier.get()) .start() .doOnNext( _rSocket -> {
frame.sliceData().retain(), frame.sliceMetadata().retain())) .transport(() -> TcpClientTransport.create(tcpClient)) .start();
frame.sliceData().retain(), frame.sliceMetadata().retain())) .transport(() -> TcpClientTransport.create(tcpClient)) .start();
.acceptor(acceptor) .transport(rsocketTransport) .start() .block(START_TIMEOUT);
ByteBufPayload.create(frame.sliceData().retain(), frame.sliceMetadata().retain())) .transport(createRSocketTransport(settings)) .start() .doOnSuccess( rsocket -> {
@Override public Mono<InetSocketAddress> bind(int port, ServiceMethodRegistry methodRegistry) { return Mono.defer( () -> { TcpServer tcpServer = TcpServer.create() .runOn(loopResources) .addressSupplier(() -> new InetSocketAddress(port)) .doOnConnection( connection -> { LOGGER.info("Accepted connection on {}", connection.channel()); connection.onDispose( () -> { LOGGER.info("Connection closed on {}", connection.channel()); connections.remove(connection); }); connections.add(connection); }); return RSocketFactory.receive() .frameDecoder( frame -> ByteBufPayload.create( frame.sliceData().retain(), frame.sliceMetadata().retain())) .acceptor(new RSocketServiceAcceptor(codec, methodRegistry)) .transport(() -> TcpServerTransport.create(tcpServer)) .start() .map(server -> this.server = server) .map(CloseableChannel::address); }); }
@Override public Mono<Gateway> start( GatewayConfig config, Executor workerPool, Call call, Metrics metrics) { return Mono.defer( () -> { LOGGER.info("Starting gateway with {}", config); GatewayMetrics metrics1 = new GatewayMetrics(config.name(), metrics); RSocketGatewayAcceptor acceptor = new RSocketGatewayAcceptor(call.create(), metrics1); if (workerPool != null) { loopResources = new GatewayLoopResources((EventLoopGroup) workerPool); } WebsocketServerTransport rsocketTransport = WebsocketServerTransport.create( prepareHttpServer(loopResources, config.port(), metrics1)); return RSocketFactory.receive() .frameDecoder( frame -> ByteBufPayload.create( frame.sliceData().retain(), frame.sliceMetadata().retain())) .acceptor(acceptor) .transport(rsocketTransport) .start() .doOnSuccess(server -> this.server = server) .doOnSuccess( server -> LOGGER.info( "Rsocket Gateway has been started successfully on {}", server.address())) .thenReturn(this); }); }
@Override public Mono<InetSocketAddress> bind(int port, ServiceMethodRegistry methodRegistry) { return Mono.defer( () -> { TcpServer tcpServer = TcpServer.create() .runOn(loopResources) .addressSupplier(() -> new InetSocketAddress(port)) .doOnConnection( connection -> { LOGGER.info("Accepted connection on {}", connection.channel()); connection.onDispose( () -> { LOGGER.info("Connection closed on {}", connection.channel()); connections.remove(connection); }); connections.add(connection); }); return RSocketFactory.receive() .frameDecoder( frame -> ByteBufPayload.create( frame.sliceData().retain(), frame.sliceMetadata().retain())) .acceptor(new RSocketServiceAcceptor(codec, methodRegistry)) .transport(() -> TcpServerTransport.create(tcpServer)) .start() .map(server -> this.server = server) .map(CloseableChannel::address); }); }
frame.sliceData().retain(), frame.sliceMetadata().retain())) .transport(() -> TcpClientTransport.create(tcpClient)) .start();
@Override public Mono<InetSocketAddress> bind(int port, ServiceMethodRegistry methodRegistry) { return Mono.defer( () -> { TcpServer tcpServer = TcpServer.create() .runOn(loopResources) .addressSupplier(() -> new InetSocketAddress(port)) .doOnConnection( connection -> { LOGGER.info("Accepted connection on {}", connection.channel()); connection.onDispose( () -> { LOGGER.info("Connection closed on {}", connection.channel()); connections.remove(connection); }); connections.add(connection); }); return RSocketFactory.receive() .frameDecoder( frame -> ByteBufPayload.create( frame.sliceData().retain(), frame.sliceMetadata().retain())) .acceptor(new RSocketServiceAcceptor(codec, methodRegistry)) .transport(() -> TcpServerTransport.create(tcpServer)) .start() .map(server -> this.server = server) .map(CloseableChannel::address); }); }
}) .transport(serverSupplier.get()) .start() .block();
}) .transport(serverSupplier.get()) .start() .block();
public ClientSetupRule( Supplier<T> addressSupplier, BiFunction<T, S, ClientTransport> clientTransportSupplier, Function<T, ServerTransport<S>> serverTransportSupplier) { this.addressSupplier = addressSupplier; this.serverInit = address -> RSocketFactory.receive() .acceptor((setup, sendingSocket) -> Mono.just(new TestRSocket())) .transport(serverTransportSupplier.apply(address)) .start() .block(); this.clientConnector = (address, server) -> RSocketFactory.connect() .transport(clientTransportSupplier.apply(address, server)) .start() .doOnError(Throwable::printStackTrace) .block(); }
public static void main(String[] args) { RSocketFactory.receive() .acceptor(new SocketAcceptorImpl()) .transport(TcpServerTransport.create("localhost", 7000)) .start() .subscribe(); RSocket socket = RSocketFactory.connect() .transport(TcpClientTransport.create("localhost", 7000)) .start() .block(); socket .requestChannel( Flux.interval(Duration.ofMillis(1000)).map(i -> DefaultPayload.create("Hello"))) .map(Payload::getDataUtf8) .doOnNext(System.out::println) .take(10) .doFinally(signalType -> socket.dispose()) .then() .block(); }