Spec-Zone.ru › OpenJDK 27

Класс 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
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного периода реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного периода реального времени.

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

MessageInfo

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

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

createOutgoing

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

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

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

createOutgoing

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

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

Параметры:
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, 2026, 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.

Spec-Zone.ru

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