Класс SSLEngineResult
public class SSLEngineResult extends Object
SSLEngine. SSLEngine предоставляет средства для установления защищённых сеансов связи между двумя узлами. Операции SSLEngine обычно считывают байты из входного буфера и записывают байты в выходной буфер. Этот класс предоставляет значения результата операций, описывающие состояние SSLEngine, включая сведения о том, какие операции необходимы для завершения выполняющегося рукопожатия. Кроме того, он сообщает количество байтов, обработанных в результате этой операции.
- Начиная с:
- 1.5
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static enum |
SSLEngineResult.HandshakeStatus |
Перечисление SSLEngineResult, описывающее текущее состояние рукопожатия этого объекта SSLEngine. |
static enum |
SSLEngineResult.Status |
Перечисление SSLEngineResult, описывающее общий результат операции SSLEngine. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
SSLEngineResult |
Создаёт экземпляр этого класса. |
SSLEngineResult |
Создаёт экземпляр этого класса. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final int |
bytesConsumed() |
Возвращает количество байтов, считанных из входного буфера. |
final int |
bytesProduced() |
Возвращает количество байтов, записанных в выходной буфер. |
final SSLEngineResult.HandshakeStatus |
getHandshakeStatus() |
Возвращает состояние рукопожатия этой операции SSLEngine. |
final SSLEngineResult.Status |
getStatus() |
Возвращает значение результата этой операции SSLEngine. |
final long |
sequenceNumber() |
Возвращает порядковый номер созданной или обработанной записи SSL/TLS/DTLS (необязательная операция). |
String |
toString() |
Возвращает строковое представление этого объекта. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли другой объект этому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого объекта Object. |
int |
hashCode() |
Возвращает значение хеш-кода этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка времени. |
Подробное описание конструкторов
SSLEngineResult
public SSLEngineResult(SSLEngineResult.Status status, SSLEngineResult.HandshakeStatus handshakeStatus, int bytesConsumed, int bytesProduced)
- Параметры:
-
status— значение результата операции. -
handshakeStatus— текущее состояние рукопожатия. -
bytesConsumed— количество байтов, считанных из исходного ByteBuffer -
bytesProduced— количество байтов, помещённых в целевой ByteBuffer - Вызывает исключение:
-
IllegalArgumentException— если аргументыstatusилиhandshakeStatusравны null либоbytesConsumedилиbytesProducedотрицательны.
SSLEngineResult
public SSLEngineResult(SSLEngineResult.Status status, SSLEngineResult.HandshakeStatus handshakeStatus, int bytesConsumed, int bytesProduced, long sequenceNumber)
- Параметры:
-
status— значение результата операции. -
handshakeStatus— текущее состояние рукопожатия. -
bytesConsumed— количество байтов, считанных из исходного ByteBuffer -
bytesProduced— количество байтов, помещённых в целевой ByteBuffer -
sequenceNumber— порядковый номер (беззнаковое long) созданной или обработанной записи SSL/TLS/DTLS либо-1L, если запись не была создана или обработана - Вызывает исключение:
-
IllegalArgumentException— если аргументыstatusилиhandshakeStatusравны null либоbytesConsumedилиbytesProducedотрицательны - Начиная с:
- 9
Подробное описание методов
getStatus
public final SSLEngineResult.Status getStatus()
SSLEngine.- Возвращает:
- значение результата
getHandshakeStatus
public final SSLEngineResult.HandshakeStatus getHandshakeStatus()
SSLEngine.- Возвращает:
- состояние рукопожатия
bytesConsumed
public final int bytesConsumed()
- Возвращает:
- количество обработанных байтов.
bytesProduced
public final int bytesProduced()
- Возвращает:
- количество созданных байтов
sequenceNumber
public final long sequenceNumber()
- Примечание API:
- Обратите внимание, что порядковый номер является беззнаковым long и не может превышать
-1L. Для сравнения значений беззнакового long рекомендуется использовать режим сравнения беззнаковых long (см. такжеLong.compareUnsigned()).В протоколах DTLS первые 16 бит порядкового номера представляют собой счётчик (эпоху), значение которого увеличивается при каждом изменении состояния шифра. Оставшиеся 48 бит справа в порядковом номере обозначают последовательность записи, которая отслеживается отдельно для каждой эпохи.
- Примечание по реализации:
- Рекомендуется, чтобы поставщики никогда не допускали увеличения порядкового номера до
-1L. Если порядковый номер близок к переполнению, следует запросить повторное согласование; в противном случае соединение следует немедленно закрыть. Базовая реализация должна выполнять это автоматически. - Возвращает:
- порядковый номер созданной или обработанной записи SSL/TLS/DTLS; либо
-1L, если запись не создаётся или не обрабатывается или эта операция не поддерживается базовым поставщиком - Начиная с:
- 9
- См. также:
toString
© 1993, 2025, 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.