Package jakarta.websocket

## Interface WebSocketContainer

- All Known Subinterfaces:
    `ServerContainer`

      public interface WebSocketContainer

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Session` | `connectToServer​(Endpoint endpoint, ClientEndpointConfig clientEndpointConfiguration, java.net.URI path)` | Creates a new connection to the WebSocket.
    `Session` | `connectToServer​(java.lang.Class<?> annotatedEndpointClass, java.net.URI path)` |
    `Session` | `connectToServer​(java.lang.Class<? extends Endpoint> endpoint, ClientEndpointConfig clientEndpointConfiguration, java.net.URI path)` | Creates a new connection to the WebSocket.
    `Session` | `connectToServer​(java.lang.Object endpoint, java.net.URI path)` |
    `long` | `getDefaultAsyncSendTimeout()` | Get the default timeout for sending a message asynchronously.
    `int` | `getDefaultMaxBinaryMessageBufferSize()` | Get the default maximum buffer size for binary messages.
    `long` | `getDefaultMaxSessionIdleTimeout()` | Get the current default session idle timeout.
    `int` | `getDefaultMaxTextMessageBufferSize()` | Get the default maximum buffer size for text messages.
    `java.util.Set<Extension>` | `getInstalledExtensions()` | Get the installed extensions.
    `void` | `setAsyncSendTimeout​(long timeout)` | Set the default timeout for sending a message asynchronously.
    `void` | `setDefaultMaxBinaryMessageBufferSize​(int max)` | Set the default maximum buffer size for binary messages.
    `void` | `setDefaultMaxSessionIdleTimeout​(long timeout)` | Set the default session idle timeout.
    `void` | `setDefaultMaxTextMessageBufferSize​(int max)` | Set the default maximum buffer size for text messages.

- - ### Method Detail

    - #### getDefaultAsyncSendTimeout

          long getDefaultAsyncSendTimeout()

      Get the default timeout for sending a message asynchronously.
      Returns:
        The current default timeout in milliseconds. A non-positive value means an infinite timeout.

    - #### setAsyncSendTimeout

          void setAsyncSendTimeout​(long timeout)

      Set the default timeout for sending a message asynchronously.
      Parameters:
        `timeout` - The new default timeout in milliseconds. A non-positive value means an infinite timeout.

    - #### connectToServer

          Session connectToServer​(java.lang.Object endpoint,
                                  java.net.URI path)
                           throws DeploymentException,
                                  java.io.IOException

      Throws:
        `DeploymentException`
        `java.io.IOException`

    - #### connectToServer

          Session connectToServer​(java.lang.Class<?> annotatedEndpointClass,
                                  java.net.URI path)
                           throws DeploymentException,
                                  java.io.IOException

      Throws:
        `DeploymentException`
        `java.io.IOException`

    - #### connectToServer

          Session connectToServer​(Endpoint endpoint,
                                  ClientEndpointConfig clientEndpointConfiguration,
                                  java.net.URI path)
                           throws DeploymentException,
                                  java.io.IOException

      Creates a new connection to the WebSocket.
      Parameters:
        `endpoint` - The endpoint instance that will handle responses from the server
        `clientEndpointConfiguration` - Used to configure the new connection
        `path` - The full URL of the WebSocket endpoint to connect to
      Returns:
        The WebSocket session for the connection
      Throws:
        `DeploymentException` - If the connection cannot be established
        `java.io.IOException` - If an I/O occurred while trying to establish the connection

    - #### connectToServer

          Session connectToServer​(java.lang.Class<? extends Endpoint> endpoint,
                                  ClientEndpointConfig clientEndpointConfiguration,
                                  java.net.URI path)
                           throws DeploymentException,
                                  java.io.IOException

      Creates a new connection to the WebSocket.
      Parameters:
        `endpoint` - An instance of this class will be created to handle responses from the server
        `clientEndpointConfiguration` - Used to configure the new connection
        `path` - The full URL of the WebSocket endpoint to connect to
      Returns:
        The WebSocket session for the connection
      Throws:
        `DeploymentException` - If the connection cannot be established
        `java.io.IOException` - If an I/O occurred while trying to establish the connection

    - #### getDefaultMaxSessionIdleTimeout

          long getDefaultMaxSessionIdleTimeout()

      Get the current default session idle timeout.
      Returns:
        The current default session idle timeout in milliseconds. Zero or negative values indicate an infinite timeout.

    - #### setDefaultMaxSessionIdleTimeout

          void setDefaultMaxSessionIdleTimeout​(long timeout)

      Set the default session idle timeout.
      Parameters:
        `timeout` - The new default session idle timeout in milliseconds. Zero or negative values indicate an infinite timeout.

    - #### getDefaultMaxBinaryMessageBufferSize

          int getDefaultMaxBinaryMessageBufferSize()

      Get the default maximum buffer size for binary messages.
      Returns:
        The current default maximum buffer size in bytes

    - #### setDefaultMaxBinaryMessageBufferSize

          void setDefaultMaxBinaryMessageBufferSize​(int max)

      Set the default maximum buffer size for binary messages.
      Parameters:
        `max` - The new default maximum buffer size in bytes

    - #### getDefaultMaxTextMessageBufferSize

          int getDefaultMaxTextMessageBufferSize()

      Get the default maximum buffer size for text messages.
      Returns:
        The current default maximum buffer size in characters

    - #### setDefaultMaxTextMessageBufferSize

          void setDefaultMaxTextMessageBufferSize​(int max)

      Set the default maximum buffer size for text messages.
      Parameters:
        `max` - The new default maximum buffer size in characters

    - #### getInstalledExtensions

          java.util.Set<Extension> getInstalledExtensions()

      Get the installed extensions.
      Returns:
        The set of extensions that are supported by this WebSocket implementation.