Spec-Zone.ru › OpenJDK 25

Класс MessageInfo

java.lang.Object
com.sun.nio.sctp.MessageInfo
public abstract class MessageInfo extends Object
Класс MessageInfo предоставляет дополнительную вспомогательную информацию о сообщениях.

Полученные сообщения SCTP, возвращаемые методами SctpChannel.receive и SctpMultiChannel.receive, возвращают экземпляр MessageInfo, который можно запросить для получения вспомогательной информации о принятом сообщении. Для отправляемых сообщений следует использовать один из методов createOutgoing, чтобы предоставить вспомогательные данные для отправляемого сообщения; перед отправкой сообщения можно также использовать соответствующие методы установки значений, чтобы переопределить значения по умолчанию для unordered, timeToLive, complete и payloadProtocolID.

Для исходящих сообщений параметр timeToLive задает период времени, по истечении которого стек SCTP отправляющей стороны может удалить сообщение, если оно не было отправлено. Этот период времени указывает стеку, что по его истечении отправлять сообщение больше не требуется. Это не жесткий тайм-аут; на него может влиять поддержка ассоциацией расширения частичной надежности, RFC 3758 .

Экземпляры MessageInfo небезопасны для использования несколькими одновременно работающими потоками. Если объект MessageInfo используется более чем одним потоком, доступ к нему следует контролировать с помощью соответствующей синхронизации.

Начиная с:
1.7

Краткое описание конструкторов

MessageInfo()
Модификатор Конструктор Описание
protected
Инициализирует новый экземпляр этого класса.

Краткое описание методов

Модификатор и тип Метод Описание
abstract SocketAddress address()
Возвращает адрес исходного сокета, если сообщение получено, в противном случае — предпочтительный адрес назначения сообщения для отправки.
abstract Association association()
Возвращает ассоциацию, по которой было получено сообщение, если оно получено, в противном случае — ассоциацию, по которой сообщение должно быть отправлено.
abstract int bytes()
Возвращает количество байтов, прочитанных для полученного сообщения.
abstract MessageInfo complete(boolean complete)
Устанавливает, является ли сообщение полным.
static MessageInfo createOutgoing(Association association, SocketAddress address, int streamNumber)
Создает экземпляр MessageInfo, пригодный для отправки сообщения по заданной ассоциации.
static MessageInfo createOutgoing(SocketAddress address, int streamNumber)
Создает экземпляр MessageInfo, пригодный для отправки сообщения.
abstract boolean isComplete()
Указывает, является ли сообщение полным.
abstract boolean isUnordered()
Указывает, является ли сообщение неупорядоченным.
abstract int payloadProtocolID()
Возвращает идентификатор протокола полезной нагрузки.
abstract MessageInfo payloadProtocolID(int ppid)
Устанавливает идентификатор протокола полезной нагрузки.
abstract int streamNumber()
Возвращает номер потока, по которому было получено сообщение, если оно получено, в противном случае — номер потока, по которому сообщение должно быть отправлено.
abstract MessageInfo streamNumber(int streamNumber)
Устанавливает номер потока, по которому должно быть отправлено сообщение.
abstract long timeToLive()
Период времени, по истечении которого отправляющая сторона может удалить сообщение, если оно не было отправлено, или 0, указывающее, что тайм-аут не должен наступать.
abstract MessageInfo timeToLive(long millis)
Устанавливает период времени, по истечении которого отправляющая сторона может удалить сообщение, если оно не было отправлено.
abstract MessageInfo unordered(boolean unordered)
Устанавливает, является ли сообщение неупорядоченным.

Методы, объявленные в классе Object

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

Подробное описание конструкторов

MessageInfo

protected MessageInfo()
Инициализирует новый экземпляр этого класса.

Подробное описание методов

createOutgoing

public static MessageInfo createOutgoing(SocketAddress address, int streamNumber)
Создает экземпляр MessageInfo, пригодный для отправки сообщения.

Возвращаемому экземпляру присваиваются следующие значения: unordered — false, timeToLive — 0, complete — true, а payloadProtocolID — 0. При необходимости эти значения можно задать с помощью соответствующих методов установки перед отправкой сообщения.

Параметры:
address — Для подключенного SctpChannel адресом является предпочтительный адрес узла-пира ассоциации, которому отправляется сообщение, или null, чтобы использовать основной адрес узла-пира. Для SctpMultiChannel адрес используется для определения ассоциации; если ассоциации с узлом-пиром по этому адресу нет, она создается.
streamNumber — Номер потока, по которому будет отправлено сообщение
Возвращает:
Информация об исходящем сообщении
Вызывает исключение:
IllegalArgumentException — Если значение streamNumber отрицательно или больше 65536

createOutgoing

public static MessageInfo createOutgoing(Association association, SocketAddress address, int streamNumber)
Создает экземпляр MessageInfo, пригодный для отправки сообщения по заданной ассоциации. Обычно используется для SctpMultiChannel, когда ассоциация уже создана.

Возвращаемому экземпляру присваиваются следующие значения: unordered — false, timeToLive — 0, complete — true, а payloadProtocolID — 0. При необходимости эти значения можно задать с помощью соответствующих методов установки перед отправкой сообщения.

Параметры:
association — Ассоциация, по которой отправляется сообщение
address — Предпочтительный адрес узла-пира ассоциации, которому отправляется сообщение, или null, чтобы использовать основной адрес узла-пира
streamNumber — Номер потока, по которому будет отправлено сообщение.
Возвращает:
Информация об исходящем сообщении
Вызывает исключение:
IllegalArgumentException — Если association равно null или значение streamNumber отрицательно либо больше 65536

address

public abstract SocketAddress address()
Возвращает адрес исходного сокета, если сообщение получено, в противном случае — предпочтительный адрес назначения сообщения для отправки.
Возвращает:
Адрес сокета или null, если этот экземпляр предназначен для отправки сообщения и был создан без указания предпочтительного адреса назначения

association

public abstract Association association()
Возвращает ассоциацию, по которой было получено сообщение, если оно получено, в противном случае — ассоциацию, по которой сообщение должно быть отправлено.
Возвращает:
Ассоциацию или null, если этот экземпляр предназначен для отправки сообщения и был создан с помощью статического фабричного метода createOutgoing(SocketAddress,int)

bytes

public abstract int bytes()
Возвращает количество байтов, прочитанных для полученного сообщения.

Этот метод применим только к полученным сообщениям; для отправляемых сообщений он не имеет смысла.

Возвращает:
Количество прочитанных байтов, -1, если канал является SctpChannel и достиг конца потока, в противном случае — 0

isComplete

public abstract boolean isComplete()
Указывает, является ли сообщение полным.

Для полученных сообщений true указывает, что сообщение получено полностью. Для отправляемых сообщений true указывает, что сообщение является полным, а false — что сообщение не является полным. Интерпретация этого значения каналом отправки зависит от значения параметра сокета SCTP_EXPLICIT_COMPLETE.

Возвращает:
true тогда и только тогда, когда сообщение является полным

complete

public abstract MessageInfo complete(boolean complete)
Устанавливает, является ли сообщение полным.

Для отправляемых сообщений true указывает, что сообщение является полным, а false — что сообщение не является полным. Интерпретация этого значения каналом отправки зависит от значения параметра сокета SCTP_EXPLICIT_COMPLETE.

Параметры:
complete — true тогда и только тогда, когда сообщение является полным
Возвращает:
Этот объект MessageInfo
См. также:
  • isComplete()

isUnordered

public abstract boolean isUnordered()
Указывает, является ли сообщение неупорядоченным. Для полученных сообщений true указывает, что сообщение было отправлено без упорядочивания. Для отправляемых сообщений true запрашивает доставку сообщения без упорядочивания, а false указывает, что сообщение упорядочено.
Возвращает:
true, если сообщение неупорядоченное, в противном случае — false

unordered

public abstract MessageInfo unordered(boolean unordered)
Устанавливает, является ли сообщение неупорядоченным.
Параметры:
unordered — true запрашивает доставку сообщения без упорядочивания, а false указывает, что сообщение упорядочено.
Возвращает:
Этот объект MessageInfo
См. также:
  • isUnordered()

payloadProtocolID

public abstract int payloadProtocolID()
Возвращает идентификатор протокола полезной нагрузки.

Значение, указывающее тип передаваемых или принимаемых данных протокола полезной нагрузки. SCTP передает это значение как непрозрачные данные. 0 указывает на неуказанный идентификатор протокола полезной нагрузки.

Возвращает:
Идентификатор протокола полезной нагрузки

payloadProtocolID

public abstract MessageInfo payloadProtocolID(int ppid)
Устанавливает идентификатор протокола полезной нагрузки.

Значение, указывающее тип передаваемых данных протокола полезной нагрузки. SCTP передает это значение как непрозрачные данные.

Параметры:
ppid — идентификатор протокола полезной нагрузки или 0, чтобы указать неуказанный идентификатор протокола полезной нагрузки.
Возвращает:
Этот объект MessageInfo
См. также:
  • payloadProtocolID()

streamNumber

public abstract int streamNumber()
Возвращает номер потока, по которому было получено сообщение, если оно получено, в противном случае — номер потока, по которому сообщение должно быть отправлено.
Возвращает:
Номер потока

streamNumber

public abstract MessageInfo streamNumber(int streamNumber)
Устанавливает номер потока, по которому должно быть отправлено сообщение.
Параметры:
streamNumber — Номер потока
Возвращает:
Этот объект MessageInfo
Вызывает исключение:
IllegalArgumentException — Если значение streamNumber отрицательно или больше 65536

timeToLive

public abstract long timeToLive()
Период времени, по истечении которого отправляющая сторона может удалить сообщение, если оно не было отправлено, или 0, указывающее, что тайм-аут не должен наступать. Это значение применимо только к отправляемым сообщениям; для полученных сообщений оно не имеет смысла.
Возвращает:
Период времени в миллисекундах или 0

timeToLive

public abstract MessageInfo timeToLive(long millis)
Устанавливает период времени, по истечении которого отправляющая сторона может удалить сообщение, если оно не было отправлено.
Параметры:
millis — Период времени в миллисекундах или 0, указывающее, что тайм-аут не должен наступать
Возвращает:
Этот объект MessageInfo
См. также:
  • timeToLive()

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе документации Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.
https://docs.oracle.com/en/java/javase/25/docs/api/jdk.sctp/com/sun/nio/sctp/MessageInfo.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API