Класс 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
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Инициализирует новый экземпляр этого класса. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract SocketAddress |
address() |
Возвращает адрес исходного сокета, если сообщение было получено, в противном случае — предпочтительный адрес назначения сообщения для отправки. |
abstract Association |
association() |
Возвращает ассоциацию, по которой было получено сообщение, если оно было получено, в противном случае — ассоциацию, по которой следует отправить сообщение. |
abstract int |
bytes() |
Возвращает количество байтов, прочитанных для полученного сообщения. |
abstract MessageInfo |
complete |
Устанавливает, является ли сообщение полным. |
static MessageInfo |
createOutgoing |
Создаёт экземпляр MessageInfo, подходящий для отправки сообщения по указанной ассоциации. |
static MessageInfo |
createOutgoing |
Создаёт экземпляр MessageInfo, подходящий для отправки сообщения. |
abstract boolean |
isComplete() |
Определяет, является ли сообщение полным. |
abstract boolean |
isUnordered() |
Определяет, является ли сообщение неупорядоченным. |
abstract int |
payloadProtocolID() |
Возвращает идентификатор протокола полезной нагрузки. |
abstract MessageInfo |
payloadProtocolID |
Устанавливает идентификатор протокола полезной нагрузки. |
abstract int |
streamNumber() |
Возвращает номер потока, по которому было получено сообщение, если оно было получено, в противном случае — номер потока, по которому следует отправить сообщение. |
abstract MessageInfo |
streamNumber |
Устанавливает номер потока, по которому следует отправить сообщение. |
abstract long |
timeToLive() |
Период времени, по истечении которого отправляющая сторона может удалить неотправленное сообщение, или 0, указывающее на отсутствие тайм-аута. |
abstract MessageInfo |
timeToLive |
Устанавливает период времени, по истечении которого отправляющая сторона может удалить неотправленное сообщение. |
abstract MessageInfo |
unordered |
Устанавливает, является ли сообщение неупорядоченным. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии. Финализация объявлена устаревшей и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного периода реального времени. |
final void |
wait |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного периода реального времени. |
Подробное описание конструкторов
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
- См. также:
isUnordered
public abstract boolean isUnordered()
true означает, что сообщение было отправлено без упорядочивания. Для отправляемых сообщений значение true запрашивает доставку сообщения без упорядочивания, а значение false означает, что сообщение упорядочено.- Возвращает:
-
true, если сообщение неупорядоченное; в противном случае —false
unordered
public abstract MessageInfo unordered(boolean unordered)
- Параметры:
-
unordered—trueзапрашивает доставку сообщения без упорядочивания, аfalseозначает, что сообщение упорядочено. - Возвращает:
- Этот экземпляр MessageInfo
- См. также:
payloadProtocolID
public abstract int payloadProtocolID()
Значение указывает тип передаваемых или получаемых данных протокола полезной нагрузки. SCTP передаёт это значение как непрозрачные данные. 0 обозначает неуказанный идентификатор протокола полезной нагрузки.
- Возвращает:
- Идентификатор протокола полезной нагрузки
payloadProtocolID
public abstract MessageInfo payloadProtocolID(int ppid)
Значение указывает тип передаваемых данных протокола полезной нагрузки. SCTP передаёт это значение как непрозрачные данные.
- Параметры:
-
ppid— Идентификатор протокола полезной нагрузки или0для указания неуказанного идентификатора протокола полезной нагрузки. - Возвращает:
- Этот экземпляр MessageInfo
- См. также:
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
- См. также:
© 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.