Class ServerWebSocket

    • Constructor Detail

      • ServerWebSocket

        public ServerWebSocket​(io.vertx.core.http.ServerWebSocket delegate)
      • ServerWebSocket

        public ServerWebSocket​(Object delegate)
    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • pipeTo

        public io.smallrye.mutiny.Uni<Void> pipeTo​(WriteStream<Buffer> dst)
        Pipe this ReadStream to the WriteStream.

        Elements emitted by this stream will be written to the write stream until this stream ends or fails.

        Once this stream has ended or failed, the write stream will be ended and the handler will be called with the result.

        Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

        Specified by:
        pipeTo in interface ReadStream<Buffer>
        Specified by:
        pipeTo in interface WebSocketBase
        Parameters:
        dst - the destination write stream
        Returns:
        the uni firing the result of the operation when completed, or a failure if the operation failed.
      • pipeToAndAwait

        public Void pipeToAndAwait​(WriteStream<Buffer> dst)
        Blocking variant of io.vertx.mutiny.core.streams.ReadStream#pipeTo(io.vertx.mutiny.core.streams.WriteStream).

        This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

        Specified by:
        pipeToAndAwait in interface ReadStream<Buffer>
        Specified by:
        pipeToAndAwait in interface WebSocketBase
        Parameters:
        dst - the destination write stream
        Returns:
        the Void instance produced by the operation.
      • pipeToAndForget

        public void pipeToAndForget​(WriteStream<Buffer> dst)
        Variant of io.vertx.mutiny.core.streams.ReadStream#pipeTo(io.vertx.mutiny.core.streams.WriteStream) that ignores the result of the operation.

        This method subscribes on the result of io.vertx.mutiny.core.streams.ReadStream#pipeTo(io.vertx.mutiny.core.streams.WriteStream), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from io.vertx.mutiny.core.streams.ReadStream#pipeTo(io.vertx.mutiny.core.streams.WriteStream) but you don't need to compose it with other operations.

        Specified by:
        pipeToAndForget in interface ReadStream<Buffer>
        Specified by:
        pipeToAndForget in interface WebSocketBase
        Parameters:
        dst - the destination write stream
      • write

        public io.smallrye.mutiny.Uni<Void> write​(Buffer data)
        Same as but with an handler called when the operation completes

        Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

        Specified by:
        write in interface WebSocketBase
        Specified by:
        write in interface WriteStream<Buffer>
        Parameters:
        data -
        Returns:
        the uni firing the result of the operation when completed, or a failure if the operation failed.
      • writeAndAwait

        public Void writeAndAwait​(Buffer data)
        Blocking variant of io.vertx.mutiny.core.streams.WriteStream#write(io.vertx.mutiny.core.buffer.Buffer).

        This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

        Specified by:
        writeAndAwait in interface WebSocketBase
        Specified by:
        writeAndAwait in interface WriteStream<Buffer>
        Parameters:
        data -
        Returns:
        the Void instance produced by the operation.
      • writeAndForget

        public void writeAndForget​(Buffer data)
        Variant of io.vertx.mutiny.core.streams.WriteStream#write(io.vertx.mutiny.core.buffer.Buffer) that ignores the result of the operation.

        This method subscribes on the result of io.vertx.mutiny.core.streams.WriteStream#write(io.vertx.mutiny.core.buffer.Buffer), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from io.vertx.mutiny.core.streams.WriteStream#write(io.vertx.mutiny.core.buffer.Buffer) but you don't need to compose it with other operations.

        Specified by:
        writeAndForget in interface WebSocketBase
        Specified by:
        writeAndForget in interface WriteStream<Buffer>
        Parameters:
        data -
      • end

        public io.smallrye.mutiny.Uni<Void> end​(Buffer data)
        Same as but with an handler called when the operation completes

        Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

        Specified by:
        end in interface WebSocketBase
        Specified by:
        end in interface WriteStream<Buffer>
        Parameters:
        data -
        Returns:
        the uni firing the result of the operation when completed, or a failure if the operation failed.
      • endAndAwait

        public Void endAndAwait​(Buffer data)
        Blocking variant of io.vertx.mutiny.core.streams.WriteStream#end(io.vertx.mutiny.core.buffer.Buffer).

        This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

        Specified by:
        endAndAwait in interface WebSocketBase
        Specified by:
        endAndAwait in interface WriteStream<Buffer>
        Parameters:
        data -
        Returns:
        the Void instance produced by the operation.
      • endAndForget

        public void endAndForget​(Buffer data)
        Variant of io.vertx.mutiny.core.streams.WriteStream#end(io.vertx.mutiny.core.buffer.Buffer) that ignores the result of the operation.

        This method subscribes on the result of io.vertx.mutiny.core.streams.WriteStream#end(io.vertx.mutiny.core.buffer.Buffer), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from io.vertx.mutiny.core.streams.WriteStream#end(io.vertx.mutiny.core.buffer.Buffer) but you don't need to compose it with other operations.

        Specified by:
        endAndForget in interface WebSocketBase
        Specified by:
        endAndForget in interface WriteStream<Buffer>
        Parameters:
        data -
      • writePing

        public io.smallrye.mutiny.Uni<Void> writePing​(Buffer data)
        Writes a ping frame to the connection. This will be written in a single frame. Ping frames may be at most 125 bytes (octets).

        This method should not be used to write application data and should only be used for implementing a keep alive or to ensure the client is still responsive, see RFC 6455 Section section 5.5.2.

        There is no handler for ping frames because RFC 6455 clearly states that the only response to a ping frame is a pong frame with identical contents.

        Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

        Specified by:
        writePing in interface WebSocketBase
        Parameters:
        data - the data to write, may be at most 125 bytes
        Returns:
        the uni firing the result of the operation when completed, or a failure if the operation failed.
      • writePingAndAwait

        public Void writePingAndAwait​(Buffer data)
        Blocking variant of WebSocketBase.writePing(io.vertx.mutiny.core.buffer.Buffer).

        This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

        Specified by:
        writePingAndAwait in interface WebSocketBase
        Parameters:
        data - the data to write, may be at most 125 bytes
        Returns:
        the Void instance produced by the operation.
      • writePong

        public io.smallrye.mutiny.Uni<Void> writePong​(Buffer data)
        Writes a pong frame to the connection. This will be written in a single frame. Pong frames may be at most 125 bytes (octets).

        This method should not be used to write application data and should only be used for implementing a keep alive or to ensure the client is still responsive, see RFC 6455 section 5.5.2.

        There is no need to manually write a pong frame, as the server and client both handle responding to a ping from with a pong from automatically and this is exposed to users. RFC 6455 section 5.5.3 states that pongs may be sent unsolicited in order to implement a one way heartbeat.

        Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

        Specified by:
        writePong in interface WebSocketBase
        Parameters:
        data - the data to write, may be at most 125 bytes
        Returns:
        the uni firing the result of the operation when completed, or a failure if the operation failed.
      • writePongAndAwait

        public Void writePongAndAwait​(Buffer data)
        Blocking variant of WebSocketBase.writePong(io.vertx.mutiny.core.buffer.Buffer).

        This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

        Specified by:
        writePongAndAwait in interface WebSocketBase
        Parameters:
        data - the data to write, may be at most 125 bytes
        Returns:
        the Void instance produced by the operation.
      • end

        public io.smallrye.mutiny.Uni<Void> end()
        Calls WebSocketBase.close()

        Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

        Specified by:
        end in interface WebSocketBase
        Specified by:
        end in interface WriteStream<Buffer>
        Returns:
        the uni firing the result of the operation when completed, or a failure if the operation failed.
      • close

        public io.smallrye.mutiny.Uni<Void> close()
        Same as close() but with an handler called when the operation completes

        Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

        Specified by:
        close in interface WebSocketBase
        Returns:
        the uni firing the result of the operation when completed, or a failure if the operation failed.
      • closeAndAwait

        public Void closeAndAwait()
        Blocking variant of WebSocketBase.close().

        This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

        Specified by:
        closeAndAwait in interface WebSocketBase
        Returns:
        the Void instance produced by the operation.
      • close

        public io.smallrye.mutiny.Uni<Void> close​(short statusCode)
        Same as WebSocketBase.close() but with an handler called when the operation completes

        Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

        Specified by:
        close in interface WebSocketBase
        Parameters:
        statusCode -
        Returns:
        the uni firing the result of the operation when completed, or a failure if the operation failed.
      • closeAndAwait

        public Void closeAndAwait​(short statusCode)
        Blocking variant of WebSocketBase.close(short).

        This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

        Specified by:
        closeAndAwait in interface WebSocketBase
        Parameters:
        statusCode -
        Returns:
        the Void instance produced by the operation.
      • close

        public io.smallrye.mutiny.Uni<Void> close​(short statusCode,
                                                  String reason)
        Same as WebSocketBase.close() but with an handler called when the operation completes

        Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

        Specified by:
        close in interface WebSocketBase
        Parameters:
        statusCode -
        reason -
        Returns:
        the uni firing the result of the operation when completed, or a failure if the operation failed.
      • closeAndAwait

        public Void closeAndAwait​(short statusCode,
                                  String reason)
        Blocking variant of WebSocketBase.close(short,String).

        This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

        Specified by:
        closeAndAwait in interface WebSocketBase
        Parameters:
        statusCode -
        reason -
        Returns:
        the Void instance produced by the operation.
      • remoteAddress

        public SocketAddress remoteAddress()
        Specified by:
        remoteAddress in interface WebSocketBase
        Returns:
        the remote address for this connection, possibly null (e.g a server bound on a domain socket). If useProxyProtocol is set to true, the address returned will be of the actual connecting client.
      • localAddress

        public SocketAddress localAddress()
        Specified by:
        localAddress in interface WebSocketBase
        Returns:
        the local address for this connection, possibly null (e.g a server bound on a domain socket) If useProxyProtocol is set to true, the address returned will be of the proxy.
      • isClosed

        public boolean isClosed()
        Specified by:
        isClosed in interface WebSocketBase
        Returns:
        true if the WebSocket is closed
      • writeFinalTextFrame

        public io.smallrye.mutiny.Uni<Void> writeFinalTextFrame​(String text)
        Description copied from interface: WebSocketBase
        Same as WebSocketBase.writeFinalTextFrame(java.lang.String) but with an handler called when the operation completes

        Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

        Specified by:
        writeFinalTextFrame in interface WebSocketBase
        Returns:
        the uni firing the result of the operation when completed, or a failure if the operation failed.
      • writeFinalTextFrameAndAwait

        public Void writeFinalTextFrameAndAwait​(String text)
        Description copied from interface: WebSocketBase
        Blocking variant of WebSocketBase.writeFinalTextFrame(String).

        This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

        Specified by:
        writeFinalTextFrameAndAwait in interface WebSocketBase
        Returns:
        the Void instance produced by the operation.
      • writeTextMessage

        public io.smallrye.mutiny.Uni<Void> writeTextMessage​(String text)
        Description copied from interface: WebSocketBase
        Same as WebSocketBase.writeTextMessage(java.lang.String) but with an handler called when the operation completes

        Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

        Specified by:
        writeTextMessage in interface WebSocketBase
        Returns:
        the uni firing the result of the operation when completed, or a failure if the operation failed.
      • writeTextMessageAndAwait

        public Void writeTextMessageAndAwait​(String text)
        Description copied from interface: WebSocketBase
        Blocking variant of WebSocketBase.writeTextMessage(String).

        This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

        Specified by:
        writeTextMessageAndAwait in interface WebSocketBase
        Returns:
        the Void instance produced by the operation.
      • scheme

        public String scheme()
        Returns:
        the WebSocket handshake scheme
      • host

        public String host()
        Returns:
        the WebSocket handshake host
      • path

        public String path()
        Returns:
        the WebSocket handshake path.
      • query

        public String query()
        Returns:
        the WebSocket handshake query string.
      • accept

        public void accept()
      • reject

        public void reject()
      • reject

        public void reject​(int status)
        Parameters:
        status -
      • setHandshake

        public io.smallrye.mutiny.Uni<Integer> setHandshake​(io.smallrye.mutiny.Uni<Integer> future)
        Set an asynchronous result for the handshake, upon completion of the specified future, the WebSocket will either be
        • accepted when the future succeeds with the HTTP status code
        • rejected when the future is succeeds with an HTTP status code different than
        • rejected when the future fails with the HTTP status code 500
        The provided future might be completed by the WebSocket itself, e.g calling the close() method will try to accept the handshake and close the WebSocket afterward. Thus it is advised to try to complete the future with or .

        This method should be called from the WebSocket handler to explicitly set an asynchronous handshake.

        Calling this method will override the future completion handler.

        Unlike the bare Vert.x variant, this method returns a Uni. Don't forget to subscribe on it to trigger the operation.

        Parameters:
        future - the future to complete with
        Returns:
        the uni firing the result of the operation when completed, or a failure if the operation failed.
      • setHandshakeAndAwait

        public Integer setHandshakeAndAwait​(io.smallrye.mutiny.Uni<Integer> future)
        Blocking variant of io.vertx.mutiny.core.http.ServerWebSocket#setHandshake(Future).

        This method waits for the completion of the underlying asynchronous operation. If the operation completes successfully, the result is returned, otherwise the failure is thrown (potentially wrapped in a RuntimeException).

        Parameters:
        future - the future to complete with
        Returns:
        the Integer instance produced by the operation.
      • setHandshakeAndForget

        public void setHandshakeAndForget​(io.smallrye.mutiny.Uni<Integer> future)
        Variant of io.vertx.mutiny.core.http.ServerWebSocket#setHandshake(Future) that ignores the result of the operation.

        This method subscribes on the result of io.vertx.mutiny.core.http.ServerWebSocket#setHandshake(Future), but discards the outcome (item or failure). This method is useful to trigger the asynchronous operation from io.vertx.mutiny.core.http.ServerWebSocket#setHandshake(Future) but you don't need to compose it with other operations.

        Parameters:
        future - the future to complete with
      • sslSession

        public SSLSession sslSession()
        Specified by:
        sslSession in interface WebSocketBase
        Returns:
        SSLSession associated with the underlying socket. Returns null if connection is not SSL.
      • toBlockingStream

        public Stream<Buffer> toBlockingStream()
      • newInstance

        public static ServerWebSocket newInstance​(io.vertx.core.http.ServerWebSocket arg)