Class BasicNodeOperations

java.lang.Object
at.qubic.api.network.BasicNodeOperations

public class BasicNodeOperations extends Object
  • Constructor Details

    • BasicNodeOperations

      public BasicNodeOperations()
  • Method Details

    • sendAndReceiveNext

      public reactor.core.publisher.Mono<QubicMessage> sendAndReceiveNext(Node node, reactor.core.publisher.Mono<QubicRequest> request)
      Send the request message and return the first response message after the peer exchange.
      Parameters:
      node - The node to use for the operation.
      request - The message to send.
      Returns:
      The response message.
    • sendAndReceiveNext

      public reactor.core.publisher.Mono<QubicMessage> sendAndReceiveNext(Node node, reactor.core.publisher.Mono<? extends QubicRequest> request, MessageType messageType)
      Send the request message and return the first response message after the peer exchange.
      Parameters:
      node - The node to use for the operation.
      request - The message to send.
      messageType - The type of the expected messages.
      Returns:
      The response message.
    • sendAndReceive

      public reactor.core.publisher.Flux<QubicMessage> sendAndReceive(Node node, reactor.core.publisher.Mono<QubicRequest> request)
      Send the request message and return the response messages after the peer exchange. In case there is no end response the caller needs to terminate the flux.
      Parameters:
      node - The node to use for the operation.
      request - The message to send.
      Returns:
      The response messages (without the peer exchange and the optional end message).
    • sendAndReceive

      public reactor.core.publisher.Flux<QubicMessage> sendAndReceive(Node node, reactor.core.publisher.Mono<? extends QubicRequest> request, MessageType type)
      Send the request message and return the response messages after the peer exchange. In case there is no end response the caller needs to terminate the flux.
      Parameters:
      node - The node to use for the operation.
      request - The message to send.
      type - The type of the expected messages. The flux will terminate if another message is received.
      Returns:
      The response messages (without the peer exchange and the optional end message).
    • send

      public reactor.core.publisher.Mono<? extends reactor.netty.Connection> send(Node node, reactor.core.publisher.Mono<QubicRequest> requestMessage)
      Send the request message but do not process a response.
      Parameters:
      node - The node to use for the operation.
      requestMessage - The message to send.
      Returns:
      The connection for additional operations if needed.