Класс SSLEngineResult
- java.lang.Object
-
- javax.net.ssl.SSLEngineResult
public class SSLEngineResult extends Object
Оборачивает состояние результата, полученного в результате SSLEngine вызовов ввода/вывода.
SSLEngine предоставляет способ установления защищённых сеансов связи между двумя узлами. SSLEngine операции обычно потребляют байты из буфера ввода и генерируют байты в буфере вывода. Этот класс предоставляет значения результата операций, описывающие состояние SSLEngine, включая указания о необходимых операциях для завершения текущего рукопожатия. Наконец, он сообщает о количестве потреблённых и сгенерированных байтов в результате этой операции.
- Since:
- 1.5
- See Also:
-
SSLEngine,SSLEngine.wrap(ByteBuffer, ByteBuffer),SSLEngine.unwrap(ByteBuffer, ByteBuffer)
Вложенные классы
| Модификатор и тип | Класс | Описание |
|---|---|---|
static class |
SSLEngineResult.HandshakeStatus |
Перечисление, описывающее текущее состояние рукопожатия этого |
static class |
SSLEngineResult.Status |
Перечисление, описывающее общий результат |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
SSLEngineResult(SSLEngineResult.Status status,
SSLEngineResult.HandshakeStatus handshakeStatus,
int bytesConsumed,
int bytesProduced) |
Инициализирует новый экземпляр этого класса. |
SSLEngineResult(SSLEngineResult.Status status,
SSLEngineResult.HandshakeStatus handshakeStatus,
int bytesConsumed,
int bytesProduced,
long sequenceNumber) |
Инициализирует новый экземпляр этого класса. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
bytesConsumed() |
Возвращает количество потреблённых байтов из буфера ввода. |
int |
bytesProduced() |
Возвращает количество записанных байтов в буфер вывода. |
SSLEngineResult.HandshakeStatus |
getHandshakeStatus() |
Получает состояние рукопожатия этой |
SSLEngineResult.Status |
getStatus() |
Получает значение возврата этой |
long |
sequenceNumber() |
Возвращает порядковый номер сгенерированного или потреблённого SSL/TLS/DTLS-записи (опциональная операция). |
String |
toString() |
Возвращает строковое представление этого объекта. |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Подробное описание конструкторов
SSLEngineResult
public SSLEngineResult(SSLEngineResult.Status status,
SSLEngineResult.HandshakeStatus handshakeStatus,
int bytesConsumed,
int bytesProduced)
Инициализирует новый экземпляр этого класса.
- Parameters:
-
status- значение возврата операции. -
handshakeStatus- текущее состояние рукопожатия. -
bytesConsumed- количество потреблённых байтов из исходного буфера ByteBuffer. -
bytesProduced- количество байтов, помещённых в целевой буфер ByteBuffer. - Throws:
-
IllegalArgumentException- если аргументыstatusилиhandshakeStatusравны null, или еслиbytesConsumedилиbytesProducedотрицательны.
SSLEngineResult
public SSLEngineResult(SSLEngineResult.Status status,
SSLEngineResult.HandshakeStatus handshakeStatus,
int bytesConsumed,
int bytesProduced,
long sequenceNumber)
Инициализирует новый экземпляр этого класса.
- Parameters:
-
status- значение возврата операции. -
handshakeStatus- текущее состояние рукопожатия. -
bytesConsumed- количество потреблённых байтов из исходного буфера ByteBuffer. -
bytesProduced- количество байтов, помещённых в целевой буфер ByteBuffer. -
sequenceNumber- порядковый номер (целое без знака) сгенерированной или потреблённой SSL/TLS/DTLS-записи, или-1Lесли запись не сгенерирована или не потреблялась. - Throws:
-
IllegalArgumentException- если аргументыstatusилиhandshakeStatusравны null, или еслиbytesConsumedилиbytesProducedотрицательны. - Since:
- 9
Подробное описание методов
getStatus
public final SSLEngineResult.Status getStatus()
Получает значение возврата этой SSLEngine операции.
- Returns:
- значение возврата
getHandshakeStatus
public final SSLEngineResult.HandshakeStatus getHandshakeStatus()
Получает состояние рукопожатия этой SSLEngine операции.
- Returns:
- состояние рукопожатия
bytesConsumed
public final int bytesConsumed()
Возвращает количество потреблённых байтов из буфера ввода.
- Returns:
- количество потреблённых байтов.
bytesProduced
public final int bytesProduced()
Возвращает количество записанных байтов в буфер вывода.
- Returns:
- количество сгенерированных байтов
sequenceNumber
public final long sequenceNumber()
Возвращает порядковый номер сгенерированной или потреблённой SSL/TLS/DTLS-записи (опциональная операция).
- API Note:
- Обратите внимание, что порядковый номер — целое без знака, и не может превышать
-1L. Желательно использовать режим сравнения целых без знака для сравнения целых без знака (см. такжеLong.compareUnsigned()).Для протоколов DTLS, первые 16 битов порядкового номера представляют счётчик (эпоху), который увеличивается при каждом изменении состояния шифра. Остальные 48 битов справа от порядкового номера представляют последовательность записи, которая поддерживается отдельно для каждой эпохи.
- Implementation Note:
- Рекомендуется, чтобы поставщики никогда не допускали увеличения порядкового номера до
-1L. Если порядковый номер близок к переполнению, необходимо запросить переподключение, в противном случае соединение следует немедленно закрыть. Это должно выполняться автоматически базовой реализацией. - Returns:
- порядковый номер сгенерированной или потреблённой SSL/TLS/DTLS-записи; или
-1Lесли запись не сгенерирована или не потреблялась, или эта операция не поддерживается базовым поставщиком - Since:
- 9
- See Also:
Long.compareUnsigned(long, long)
toString
public String toString()
Возвращает строковое представление этого объекта.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/javax/net/ssl/SSLEngineResult.html