Module java.base
Package javax.net.ssl

## Enum SSLEngineResult.HandshakeStatus

- java.lang.Object
- - java.lang.Enum<SSLEngineResult.HandshakeStatus>
  - - javax.net.ssl.SSLEngineResult.HandshakeStatus

- All Implemented Interfaces:
    `Serializable`, `Comparable<SSLEngineResult.HandshakeStatus>`, `Constable`
  Enclosing class:
    SSLEngineResult

      public static enum SSLEngineResult.HandshakeStatus
      extends Enum<SSLEngineResult.HandshakeStatus>

  An `SSLEngineResult` enum describing the current handshaking state of this `SSLEngine`.
  Since:
    1.5

- - ### Nested Class Summary

    - ### Nested classes/interfaces declared in class java.lang.Enum

      `Enum.EnumDesc<E extends Enum<E>>`

  - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---
    `FINISHED` | The `SSLEngine` has just finished handshaking.
    `NEED_TASK` | The `SSLEngine` needs the results of one (or more) delegated tasks before handshaking can continue.
    `NEED_UNWRAP` | The `SSLEngine` needs to receive data from the remote side before handshaking can continue.
    `NEED_UNWRAP_AGAIN` | The `SSLEngine` needs to unwrap before handshaking can continue.
    `NEED_WRAP` | The `SSLEngine` must send data to the remote side before handshaking can continue, so `SSLEngine.wrap()` should be called.
    `NOT_HANDSHAKING` | The `SSLEngine` is not currently handshaking.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `static SSLEngineResult.HandshakeStatus` | `valueOf​(String name)` | Returns the enum constant of this type with the specified name.
    `static SSLEngineResult.HandshakeStatus[]` | `values()` | Returns an array containing the constants of this enum type, in the order they are declared.

    - ### Methods declared in class java.lang.Enum

      `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

    - ### Methods declared in class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Enum Constant Detail

    - #### NOT_HANDSHAKING

          public static final SSLEngineResult.HandshakeStatus NOT_HANDSHAKING

      The `SSLEngine` is not currently handshaking.

    - #### FINISHED

          public static final SSLEngineResult.HandshakeStatus FINISHED

      The `SSLEngine` has just finished handshaking.

      This value is only generated by a call to `SSLEngine.wrap()/unwrap()` when that call finishes a handshake. It is never generated by `SSLEngine.getHandshakeStatus()`.

      See Also:
        `SSLEngine.wrap(ByteBuffer, ByteBuffer)`, `SSLEngine.unwrap(ByteBuffer, ByteBuffer)`, `SSLEngine.getHandshakeStatus()`

    - #### NEED_TASK

          public static final SSLEngineResult.HandshakeStatus NEED_TASK

      The `SSLEngine` needs the results of one (or more) delegated tasks before handshaking can continue.
      See Also:
        `SSLEngine.getDelegatedTask()`

    - #### NEED_WRAP

          public static final SSLEngineResult.HandshakeStatus NEED_WRAP

      The `SSLEngine` must send data to the remote side before handshaking can continue, so `SSLEngine.wrap()` should be called.
      See Also:
        `SSLEngine.wrap(ByteBuffer, ByteBuffer)`

    - #### NEED_UNWRAP

          public static final SSLEngineResult.HandshakeStatus NEED_UNWRAP

      The `SSLEngine` needs to receive data from the remote side before handshaking can continue.

    - #### NEED_UNWRAP_AGAIN

          public static final SSLEngineResult.HandshakeStatus NEED_UNWRAP_AGAIN

      The `SSLEngine` needs to unwrap before handshaking can continue.

      This value is used to indicate that not-yet-interpreted data has been previously received from the remote side, and does not need to be received again.

      This handshake status only applies to DTLS.

      Since:
        9

  - ### Method Detail

    - #### values

          public static SSLEngineResult.HandshakeStatus[] values()

      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static SSLEngineResult.HandshakeStatus valueOf​(String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
        `name` - the name of the enum constant to be returned.
      Returns:
        the enum constant with the specified name
      Throws:
        `IllegalArgumentException` - if this enum type has no constant with the specified name
        `NullPointerException` - if the argument is null