Class ServerConnection

  • All Implemented Interfaces:
    java.lang.AutoCloseable

    public class ServerConnection
    extends CrtResource
    Wrapper around event-stream-rpc-server-connection. Note this class is AutoClosable. By default the ServerConnectionHandler::onClosed callback calls close().
    • Method Detail

      • isConnectionOpen

        public boolean isConnectionOpen()
        Returns:
        true if the connection is open. False otherwise.
      • closeConnection

        public void closeConnection​(int shutdownError)
        Closes the connection with shutdownError
        Parameters:
        shutdownError - error code to shutdown the connection with. If shutting down cleanly, use 0.
      • sendProtocolMessage

        public java.util.concurrent.CompletableFuture<java.lang.Void> sendProtocolMessage​(java.util.List<Header> headers,
                                                                                          byte[] payload,
                                                                                          MessageType messageType,
                                                                                          int messageFlags)
        Sends a protocol message on the connection. Returns a completable future for synchronizing on the message flushing to the underlying transport.
        Parameters:
        headers - List of event-stream headers. Can be null.
        payload - Payload to send for the message. Can be null.
        messageType - Message type for the rpc message.
        messageFlags - Union of message flags from MessageFlags.getByteValue()
        Returns:
        completable future for synchronizing on the message flushing to the underlying transport.
      • sendProtocolMessage

        public void sendProtocolMessage​(java.util.List<Header> headers,
                                        byte[] payload,
                                        MessageType messageType,
                                        int messageFlags,
                                        MessageFlushCallback callback)
        Sends a protocol message on the connection. Returns a completable future for synchronizing on the message flushing to the underlying transport.
        Parameters:
        headers - List of event-stream headers. Can be null.
        payload - Payload to send for the message. Can be null.
        messageType - Message type for the rpc message.
        messageFlags - Union of message flags from MessageFlags.getByteValue()
        callback - invoked upon the message flushing to the underlying transport.
      • getClosedFuture

        public java.util.concurrent.CompletableFuture<java.lang.Integer> getClosedFuture()
        Returns:
        a future which completes upon the connection closing