Module java.base
Package javax.net.ssl

# Enum Class 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 class with the specified name.
`static SSLEngineResult.HandshakeStatus[]`
`values()`
Returns an array containing the constants of this enum class, 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 Details

### 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 Details

### values

public static SSLEngineResult.HandshakeStatus[] values()
Returns an array containing the constants of this enum class, in the order they are declared.

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

### valueOf

public static SSLEngineResult.HandshakeStatus valueOf(String name)
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (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 class has no constant with the specified name
  `NullPointerException` - if the argument is null