# SSLEngineResult.HandshakeStatus

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Summary:[Enums](https://developer.android.com/reference/javax/net/ssl/SSLEngineResult.HandshakeStatus#enumconstants)\|[Methods](https://developer.android.com/reference/javax/net/ssl/SSLEngineResult.HandshakeStatus#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/javax/net/ssl/SSLEngineResult.HandshakeStatus#inhmethods)  

# SSLEngineResult.HandshakeStatus

`
public
static
final

enum
SSLEngineResult.HandshakeStatus
`  
`


``

extends `[Enum](https://developer.android.com/reference/java/lang/Enum)`<`[SSLEngineResult.HandshakeStatus](https://developer.android.com/reference/javax/net/ssl/SSLEngineResult.HandshakeStatus)`>


``


`

|---|---|-----------------------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||
| ↳ | [java.lang.Enum](https://developer.android.com/reference/java/lang/Enum)\<[javax.net.ssl.SSLEngineResult.HandshakeStatus](https://developer.android.com/reference/javax/net/ssl/SSLEngineResult.HandshakeStatus)\> ||
|   | ↳ | javax.net.ssl.SSLEngineResult.HandshakeStatus |

<br />

*** ** * ** ***

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

## Summary

|                                                                                                                       ### Enum values                                                                                                                        ||
|--------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------|
| [SSLEngineResult.HandshakeStatus](https://developer.android.com/reference/javax/net/ssl/SSLEngineResult.HandshakeStatus) | `FINISHED` The`SSLEngine`has just finished handshaking.                                                                            |
| [SSLEngineResult.HandshakeStatus](https://developer.android.com/reference/javax/net/ssl/SSLEngineResult.HandshakeStatus) | `NEED_TASK` The`SSLEngine`needs the results of one (or more) delegated tasks before handshaking can continue.                      |
| [SSLEngineResult.HandshakeStatus](https://developer.android.com/reference/javax/net/ssl/SSLEngineResult.HandshakeStatus) | `NEED_UNWRAP` The`SSLEngine`needs to receive data from the remote side before handshaking can continue.                            |
| [SSLEngineResult.HandshakeStatus](https://developer.android.com/reference/javax/net/ssl/SSLEngineResult.HandshakeStatus) | `NEED_WRAP` The`SSLEngine`must send data to the remote side before handshaking can continue, so`SSLEngine.wrap()`should be called. |
| [SSLEngineResult.HandshakeStatus](https://developer.android.com/reference/javax/net/ssl/SSLEngineResult.HandshakeStatus) | `NOT_HANDSHAKING` The`SSLEngine`is not currently handshaking.                                                                      |

|                                                                                                                                                               ### Public methods                                                                                                                                                                ||
|------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` static `[SSLEngineResult.HandshakeStatus](https://developer.android.com/reference/javax/net/ssl/SSLEngineResult.HandshakeStatus) | ` `[valueOf](https://developer.android.com/reference/javax/net/ssl/SSLEngineResult.HandshakeStatus#valueOf(java.lang.String))`(`[String](https://developer.android.com/reference/java/lang/String)` name) ` |
| ` static final `[HandshakeStatus[]](https://developer.android.com/reference/javax/net/ssl/SSLEngineResult.HandshakeStatus)         | ` `[values](https://developer.android.com/reference/javax/net/ssl/SSLEngineResult.HandshakeStatus#values())`() `                                                                                            |

| ### Inherited methods |
|-----------------------|---|
| From class` `[java.lang.Enum](https://developer.android.com/reference/java/lang/Enum)` ` |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` final `[Object](https://developer.android.com/reference/java/lang/Object)                                                                                                                             | ` `[clone](https://developer.android.com/reference/java/lang/Enum#clone())`() ` Throws CloneNotSupportedException.                                                                                                                                                                                                                                                 | | ` final int`                                                                                                                                                                                            | ` `[compareTo](https://developer.android.com/reference/java/lang/Enum#compareTo(E))`(`[SSLEngineResult.HandshakeStatus](https://developer.android.com/reference/javax/net/ssl/SSLEngineResult.HandshakeStatus)` o) ` Compares this enum with the specified object for order.                                                                                       | | ` final boolean`                                                                                                                                                                                        | ` `[equals](https://developer.android.com/reference/java/lang/Enum#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` other) ` Returns true if the specified object is equal to this enum constant.                                                                                                                   | | ` final void`                                                                                                                                                                                           | ` `[finalize](https://developer.android.com/reference/java/lang/Enum#finalize())`() ` enum classes cannot have finalize methods.                                                                                                                                                                                                                                   | | ` final `[Class](https://developer.android.com/reference/java/lang/Class)`<`[SSLEngineResult.HandshakeStatus](https://developer.android.com/reference/javax/net/ssl/SSLEngineResult.HandshakeStatus)`>` | ` `[getDeclaringClass](https://developer.android.com/reference/java/lang/Enum#getDeclaringClass())`() ` Returns the Class object corresponding to this enum constant's enum type.                                                                                                                                                                                  | | ` final int`                                                                                                                                                                                            | ` `[hashCode](https://developer.android.com/reference/java/lang/Enum#hashCode())`() ` Returns a hash code for this enum constant.                                                                                                                                                                                                                                  | | ` final `[String](https://developer.android.com/reference/java/lang/String)                                                                                                                             | ` `[name](https://developer.android.com/reference/java/lang/Enum#name())`() ` Returns the name of this enum constant, exactly as declared in its enum declaration.                                                                                                                                                                                                 | | ` final int`                                                                                                                                                                                            | ` `[ordinal](https://developer.android.com/reference/java/lang/Enum#ordinal())`() ` Returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial constant is assigned an ordinal of zero).                                                                                                                            | | ` `[String](https://developer.android.com/reference/java/lang/String)                                                                                                                                   | ` `[toString](https://developer.android.com/reference/java/lang/Enum#toString())`() ` Returns the name of this enum constant, as contained in the declaration.                                                                                                                                                                                                     | | ` static <T extends `[Enum](https://developer.android.com/reference/java/lang/Enum)`<T>> T`                                                                                                             | ` `[valueOf](https://developer.android.com/reference/java/lang/Enum#valueOf(java.lang.Class<T>,%20java.lang.String))`(`[Class](https://developer.android.com/reference/java/lang/Class)`<T> enumClass, `[String](https://developer.android.com/reference/java/lang/String)` name) ` Returns the enum constant of the specified enum class with the specified name. | ||
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](https://developer.android.com/reference/java/lang/Object#finalize())`() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.                                                          | | ` final `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long,%20int))`(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed. | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long))`(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed.                   | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait())`() ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*.                                                                                             | ||
| From interface` `[java.lang.Comparable](https://developer.android.com/reference/java/lang/Comparable)` ` |-----------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` abstract int` | ` `[compareTo](https://developer.android.com/reference/java/lang/Comparable#compareTo(T))`(`[SSLEngineResult.HandshakeStatus](https://developer.android.com/reference/javax/net/ssl/SSLEngineResult.HandshakeStatus)` o) ` Compares this object with the specified object for order. | ||

## Enum values

### FINISHED

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
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()`.

<br />

**See also:**

- [SSLEngine.wrap(ByteBuffer, ByteBuffer)](https://developer.android.com/reference/javax/net/ssl/SSLEngine#wrap(java.nio.ByteBuffer,%20java.nio.ByteBuffer))
- [SSLEngine.unwrap(ByteBuffer, ByteBuffer)](https://developer.android.com/reference/javax/net/ssl/SSLEngine#unwrap(java.nio.ByteBuffer,%20java.nio.ByteBuffer))
- [SSLEngine.getHandshakeStatus()](https://developer.android.com/reference/javax/net/ssl/SSLEngine#getHandshakeStatus())  

### NEED_TASK

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final SSLEngineResult.HandshakeStatus NEED_TASK
```

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

<br />

**See also:**

- [SSLEngine.getDelegatedTask()](https://developer.android.com/reference/javax/net/ssl/SSLEngine#getDelegatedTask())  

### NEED_UNWRAP

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final SSLEngineResult.HandshakeStatus NEED_UNWRAP
```

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

<br />

### NEED_WRAP

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
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.

<br />

**See also:**

- [SSLEngine.wrap(ByteBuffer, ByteBuffer)](https://developer.android.com/reference/javax/net/ssl/SSLEngine#wrap(java.nio.ByteBuffer,%20java.nio.ByteBuffer))  

### NOT_HANDSHAKING

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public static final SSLEngineResult.HandshakeStatus NOT_HANDSHAKING
```

The`SSLEngine`is not currently handshaking.

<br />

## Public methods

### valueOf

```
public static SSLEngineResult.HandshakeStatus valueOf (String name)
```

<br />

<br />

|       Parameters        ||
|--------|-----------------|
| `name` | `String` <br /> |

|                                                             Returns                                                              ||
|--------------------------------------------------------------------------------------------------------------------------|--------|
| [SSLEngineResult.HandshakeStatus](https://developer.android.com/reference/javax/net/ssl/SSLEngineResult.HandshakeStatus) | <br /> |

### values

```
public static final HandshakeStatus[] values ()
```

<br />

<br />

|                                                      Returns                                                       ||
|------------------------------------------------------------------------------------------------------------|--------|
| [HandshakeStatus[]](https://developer.android.com/reference/javax/net/ssl/SSLEngineResult.HandshakeStatus) | <br /> |