Class QuicClientConnectorConfigurator

All Implemented Interfaces:
Container, Destroyable, Dumpable, Dumpable.DumpableContainer, LifeCycle

@Deprecated(since="12.0.7", forRemoval=true) public class QuicClientConnectorConfigurator extends ClientConnector.Configurator
Deprecated, for removal: This API element is subject to removal in a future version.
replaced by Transport

A QUIC specific ClientConnector.Configurator.

Since QUIC is based on UDP, this class creates DatagramChannels instead of SocketChannels, and DatagramChannelEndPoints instead of SocketChannelEndPoints.

See Also:
  • Constructor Details

    • QuicClientConnectorConfigurator

      public QuicClientConnectorConfigurator()
      Deprecated, for removal: This API element is subject to removal in a future version.
    • QuicClientConnectorConfigurator

      public QuicClientConnectorConfigurator(UnaryOperator<Connection> configurator)
      Deprecated, for removal: This API element is subject to removal in a future version.
  • Method Details

    • getQuicConfiguration

      public QuicConfiguration getQuicConfiguration()
      Deprecated, for removal: This API element is subject to removal in a future version.
    • doStart

      protected void doStart() throws Exception
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from class: ContainerLifeCycle
      Starts the managed lifecycle beans in the order they were added.
      Overrides:
      doStart in class ContainerLifeCycle
      Throws:
      AbstractLifeCycle.StopException - If thrown, the lifecycle will immediately be stopped.
      Exception - If there was a problem starting. Will cause a transition to FAILED state
    • newTransport

      public Transport newTransport()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Overrides:
      newTransport in class ClientConnector.Configurator
      Returns:
      the default Transport for this configurator
    • isIntrinsicallySecure

      public boolean isIntrinsicallySecure(ClientConnector clientConnector, SocketAddress address)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from class: ClientConnector.Configurator

      Returns whether the connection to a given SocketAddress is intrinsically secure.

      A protocol such as HTTP/1.1 can be transported by TCP; however, TCP is not secure because it does not offer any encryption.

      Encryption is provided by using TLS to wrap the HTTP/1.1 bytes, and then transporting the TLS bytes over TCP.

      On the other hand, protocols such as QUIC are intrinsically secure, and therefore it is not necessary to wrap the HTTP/1.1 bytes with TLS: the HTTP/1.1 bytes are transported over QUIC in an intrinsically secure way.

      Overrides:
      isIntrinsicallySecure in class ClientConnector.Configurator
      Parameters:
      clientConnector - the ClientConnector
      address - the SocketAddress to connect to
      Returns:
      whether the connection to the given SocketAddress is intrinsically secure
    • newChannelWithAddress

      public ClientConnector.Configurator.ChannelWithAddress newChannelWithAddress(ClientConnector clientConnector, SocketAddress address, Map<String,Object> context) throws IOException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from class: ClientConnector.Configurator

      Creates a new SocketChannel to connect to a SocketAddress derived from the input socket address.

      The input socket address represents the destination socket address to connect to, as it is typically specified by a URI authority, for example localhost:8080 if the URI is http://localhost:8080/path.

      However, the returned socket address may be different as the implementation may use a Unix-Domain socket address to physically connect to the virtual destination socket address given as input.

      The return type is a pair/record holding the socket channel and the socket address, with the socket channel not yet connected. The implementation of this methods must not call SocketChannel.connect(SocketAddress), as this is done later, after configuring the socket, by the ClientConnector implementation.

      Overrides:
      newChannelWithAddress in class ClientConnector.Configurator
      Parameters:
      clientConnector - the client connector requesting channel with associated address
      address - the destination socket address, typically specified in a URI
      context - the context to create the new socket channel
      Returns:
      a new SocketChannel with an associated SocketAddress to connect to
      Throws:
      IOException - if the socket channel or the socket address cannot be created
    • newEndPoint

      public EndPoint newEndPoint(ClientConnector clientConnector, SocketAddress address, SelectableChannel selectable, ManagedSelector selector, SelectionKey selectionKey)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Overrides:
      newEndPoint in class ClientConnector.Configurator
    • newConnection

      public Connection newConnection(ClientConnector clientConnector, SocketAddress address, EndPoint endPoint, Map<String,Object> context)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Overrides:
      newConnection in class ClientConnector.Configurator