Interface RSocketRequester.RetrieveSpec

All Known Subinterfaces:
RSocketRequester.RequestSpec
Enclosing interface:
RSocketRequester

public static interface RSocketRequester.RetrieveSpec
Spec to declare the expected output for an RSocket request.
Since:
5.2.2
  • Method Summary

    Modifier and Type
    Method
    Description
    <T> reactor.core.publisher.Flux<T>
    retrieveFlux(Class<T> dataType)
    Perform an requestStream or a requestChannel exchange depending on whether the request input is single or multi-payload.
    <T> reactor.core.publisher.Flux<T>
    Variant of retrieveFlux(Class) for when the dataType has to have a generic type.
    <T> reactor.core.publisher.Mono<T>
    retrieveMono(Class<T> dataType)
    Perform a requestResponse exchange.
    <T> reactor.core.publisher.Mono<T>
    Variant of retrieveMono(Class) for when the dataType has to have a generic type.
    reactor.core.publisher.Mono<Void>
    Perform a fireAndForget sending the provided data and metadata.
  • Method Details

    • send

      reactor.core.publisher.Mono<Void> send()
      Perform a fireAndForget sending the provided data and metadata.
      Returns:
      a completion that indicates if the payload was sent successfully or not. Note, however that is a one-way send and there is no indication of whether or how the even was handled on the remote end.
    • retrieveMono

      <T> reactor.core.publisher.Mono<T> retrieveMono(Class<T> dataType)
      Perform a requestResponse exchange.

      If the return type is Mono<Void>, the Mono will complete after all data is consumed.

      Note: This method will raise an error if the request payload is a multivalued Publisher as there is no many-to-one RSocket interaction.

      Type Parameters:
      T - parameter for the expected data type
      Parameters:
      dataType - the expected data type for the response
      Returns:
      the decoded response
    • retrieveMono

      <T> reactor.core.publisher.Mono<T> retrieveMono(ParameterizedTypeReference<T> dataTypeRef)
      Variant of retrieveMono(Class) for when the dataType has to have a generic type. See ParameterizedTypeReference.
    • retrieveFlux

      <T> reactor.core.publisher.Flux<T> retrieveFlux(Class<T> dataType)
      Perform an requestStream or a requestChannel exchange depending on whether the request input is single or multi-payload.

      If the return type is Flux<Void>, the Flux will complete after all data is consumed.

      Type Parameters:
      T - parameterize the expected type of values
      Parameters:
      dataType - the expected type for values in the response
      Returns:
      the decoded response
    • retrieveFlux

      <T> reactor.core.publisher.Flux<T> retrieveFlux(ParameterizedTypeReference<T> dataTypeRef)
      Variant of retrieveFlux(Class) for when the dataType has to have a generic type. See ParameterizedTypeReference.