compact1, compact2, compact3
javax.net.ssl

## Class SSLEngineResult

- java.lang.Object
- - javax.net.ssl.SSLEngineResult

    public class SSLEngineResult
    extends Object

An encapsulation of the result state produced by `SSLEngine` I/O calls.

A `SSLEngine` provides a means for establishing secure communication sessions between two peers. `SSLEngine` operations typically consume bytes from an input buffer and produce bytes in an output buffer. This class provides operational result values describing the state of the `SSLEngine`, including indications of what operations are needed to finish an ongoing handshake. Lastly, it reports the number of bytes consumed and produced as a result of this operation.

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

### Nested Class Summary

Nested Classes
`static class` `SSLEngineResult.HandshakeStatus` An `SSLEngineResult` enum describing the current handshaking state of this `SSLEngine`.
`static class` `SSLEngineResult.Status` An `SSLEngineResult` enum describing the overall result of the `SSLEngine` operation.

### Constructor Summary

Constructors
Constructor and Description
`SSLEngineResult(SSLEngineResult.Status status, SSLEngineResult.HandshakeStatus handshakeStatus, int bytesConsumed, int bytesProduced)` Initializes a new instance of this class.

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `bytesConsumed()` Returns the number of bytes consumed from the input buffer.
`int` `bytesProduced()` Returns the number of bytes written to the output buffer.
`SSLEngineResult.HandshakeStatus` `getHandshakeStatus()` Gets the handshake status of this `SSLEngine` operation.
`SSLEngineResult.Status` `getStatus()` Gets the return value of this `SSLEngine` operation.
`String` `toString()` Returns a String representation of this object.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### SSLEngineResult

    public SSLEngineResult(SSLEngineResult.Status status,
                           SSLEngineResult.HandshakeStatus handshakeStatus,
                           int bytesConsumed,
                           int bytesProduced)

Initializes a new instance of this class.

Parameters:
  `status` - the return value of the operation.
  `handshakeStatus` - the current handshaking status.
  `bytesConsumed` - the number of bytes consumed from the source ByteBuffer
  `bytesProduced` - the number of bytes placed into the destination ByteBuffer
Throws:
  `IllegalArgumentException` - if the `status` or `handshakeStatus` arguments are null, or if `bytesConsumed` or `bytesProduced` is negative.

### Method Detail

#### getStatus

    public final SSLEngineResult.Status getStatus()

Gets the return value of this `SSLEngine` operation.

Returns:
  the return value

#### getHandshakeStatus

    public final SSLEngineResult.HandshakeStatus getHandshakeStatus()

Gets the handshake status of this `SSLEngine` operation.

Returns:
  the handshake status

#### bytesConsumed

    public final int bytesConsumed()

Returns the number of bytes consumed from the input buffer.

Returns:
  the number of bytes consumed.

#### bytesProduced

    public final int bytesProduced()

Returns the number of bytes written to the output buffer.

Returns:
  the number of bytes produced

#### toString

    public String toString()

Returns a String representation of this object.

Overrides:
  `toString` in class `Object`
Returns:
  a string representation of the object.