public class LoadbalanceRSocketClient extends Object implements RSocketClient
RSocketClient implementation that uses a pool and a LoadbalanceStrategy to select
the RSocket to use for each request.Disposable.Composite, Disposable.Swap| Modifier and Type | Method and Description |
|---|---|
static LoadbalanceRSocketClient |
create(LoadbalanceStrategy loadbalanceStrategy,
org.reactivestreams.Publisher<List<LoadbalanceRSocketSource>> rSocketSuppliersPublisher) |
static RSocketClient |
create(org.reactivestreams.Publisher<List<LoadbalanceRSocketSource>> rSocketSuppliersPublisher) |
void |
dispose() |
Mono<Void> |
fireAndForget(Mono<Payload> payloadMono)
Perform a Fire-and-Forget interaction via
RSocket.fireAndForget(Payload). |
Mono<Void> |
metadataPush(Mono<Payload> payloadMono)
Perform a Metadata Push via
RSocket.metadataPush(Payload). |
Flux<Payload> |
requestChannel(org.reactivestreams.Publisher<Payload> payloads)
Perform a Request-Channel interaction via
RSocket.requestChannel(Publisher). |
Mono<Payload> |
requestResponse(Mono<Payload> payloadMono)
Perform a Request-Response interaction via
RSocket.requestResponse(Payload). |
Flux<Payload> |
requestStream(Mono<Payload> payloadMono)
Perform a Request-Stream interaction via
RSocket.requestStream(Payload). |
Mono<RSocket> |
source()
Return the underlying source used to obtain a shared
RSocket connection. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitisDisposedpublic Mono<RSocket> source()
RSocketClientRSocket connection.source in interface RSocketClientpublic Mono<Void> fireAndForget(Mono<Payload> payloadMono)
RSocketClientRSocket.fireAndForget(Payload). Allows
multiple subscriptions and performs a request per subscriber.fireAndForget in interface RSocketClientpublic Mono<Payload> requestResponse(Mono<Payload> payloadMono)
RSocketClientRSocket.requestResponse(Payload). Allows
multiple subscriptions and performs a request per subscriber.requestResponse in interface RSocketClientpublic Flux<Payload> requestStream(Mono<Payload> payloadMono)
RSocketClientRSocket.requestStream(Payload). Allows
multiple subscriptions and performs a request per subscriber.requestStream in interface RSocketClientpublic Flux<Payload> requestChannel(org.reactivestreams.Publisher<Payload> payloads)
RSocketClientRSocket.requestChannel(Publisher). Allows
multiple subscriptions and performs a request per subscriber.requestChannel in interface RSocketClientpublic Mono<Void> metadataPush(Mono<Payload> payloadMono)
RSocketClientRSocket.metadataPush(Payload). Allows multiple
subscriptions and performs a request per subscriber.metadataPush in interface RSocketClientpublic void dispose()
dispose in interface Disposablepublic static LoadbalanceRSocketClient create(LoadbalanceStrategy loadbalanceStrategy, org.reactivestreams.Publisher<List<LoadbalanceRSocketSource>> rSocketSuppliersPublisher)
public static RSocketClient create(org.reactivestreams.Publisher<List<LoadbalanceRSocketSource>> rSocketSuppliersPublisher)