Package io.vertx.core.transport

## Interface Transport

-     public interface Transport

  The transport used by a `Vertx` instance.
  Author:
    Julien Viet

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static Transport` | `EPOLL` | Native transport based on Netty native epoll transport.
    `static Transport` | `IO_URING` | Native transport based on Netty native io_uring transport.
    `static Transport` | `KQUEUE` | Native transport based on Netty native kqueue transport.
    `static Transport` | `NIO` | Nio transport, always available based on ${code java.nio} API.

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `available()` |
    `Transport` | `implementation()` |
    `String` | `name()` |
    `static Transport` | `nativeTransport()` | Return a native transport suitable for the OS `EPOLL` or `IO_URING` on Linux `KQUEUE` on Mac
    `Throwable` | `unavailabilityCause()` |

- - ### Field Detail

    - #### NIO

          static final Transport NIO

      Nio transport, always available based on ${code java.nio} API.

    - #### KQUEUE

          static final Transport KQUEUE

      Native transport based on Netty native kqueue transport.

    - #### EPOLL

          static final Transport EPOLL

      Native transport based on Netty native epoll transport.

    - #### IO_URING

          static final Transport IO_URING

      Native transport based on Netty native io_uring transport.

  - ### Method Detail

    - #### name

          String name()

      Returns:
        the name among `nio, kqueue, epoll, io_uring`

    - #### nativeTransport

          static Transport nativeTransport()

      Return a native transport suitable for the OS
      - `EPOLL` or `IO_URING` on Linux
      - `KQUEUE` on Mac
      Returns:
        a native transport, it might return an unavailable transport (`available()`) then `unavailabilityCause()` can be used to check the error preventing its unsafe, `null` can be returned when no native transport can be loaded.

    - #### available

          boolean available()

      Returns:
        whether the transport can be used by a Vert.x instance

    - #### unavailabilityCause

          Throwable unavailabilityCause()

      Returns:
        the unavailability cause when {#link `available()`} returns true, otherwise `null`

    - #### implementation

          Transport implementation()

      Returns:
        the implementation