Interface GatewayClient
-
- All Known Implementing Classes:
HttpGatewayClient,RSocketGatewayClient,WebsocketGatewayClient
public interface GatewayClient
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidclose()Initiate cleaning of underlying resources (if any) like closing websocket connection or rSocket session.reactor.core.publisher.Mono<Void>onClose()Return close completion signal of the gateway client.reactor.core.publisher.Flux<io.scalecube.services.api.ServiceMessage>requestChannel(reactor.core.publisher.Flux<io.scalecube.services.api.ServiceMessage> requests)Communication mode that gives stream of responses to stream of requests.reactor.core.publisher.Mono<io.scalecube.services.api.ServiceMessage>requestResponse(io.scalecube.services.api.ServiceMessage request)Communication mode that gives single response to single request.reactor.core.publisher.Flux<io.scalecube.services.api.ServiceMessage>requestStream(io.scalecube.services.api.ServiceMessage request)Communication mode that gives stream of responses to single request.
-
-
-
Method Detail
-
requestResponse
reactor.core.publisher.Mono<io.scalecube.services.api.ServiceMessage> requestResponse(io.scalecube.services.api.ServiceMessage request)
Communication mode that gives single response to single request.- Parameters:
request- request message.- Returns:
- Publisher that emits single response form remote server as it's ready.
-
requestStream
reactor.core.publisher.Flux<io.scalecube.services.api.ServiceMessage> requestStream(io.scalecube.services.api.ServiceMessage request)
Communication mode that gives stream of responses to single request.- Parameters:
request- request message.- Returns:
- Publisher that emits responses from remote server.
-
requestChannel
reactor.core.publisher.Flux<io.scalecube.services.api.ServiceMessage> requestChannel(reactor.core.publisher.Flux<io.scalecube.services.api.ServiceMessage> requests)
Communication mode that gives stream of responses to stream of requests.- Parameters:
requests- request stream.- Returns:
- Publisher that emits responses from remote server.
-
close
void close()
Initiate cleaning of underlying resources (if any) like closing websocket connection or rSocket session. Subsequent calls of requestOne() or requestMany() must issue new connection creation. Note that close is not the end of client lifecycle.
-
onClose
reactor.core.publisher.Mono<Void> onClose()
Return close completion signal of the gateway client.- Returns:
- close completion signal
-
-