Spec-Zone.ru › OpenJDK 21

Класс 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 используется более чем одной нитью, доступ к MessageInfo должен контролироваться соответствующей синхронизацией.

Since:
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)
Устанавливает, является ли сообщение неупорядоченным.

Методы, унаследованные от класса java.lang.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()

© 1993, 2023, 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/21/docs/api/jdk.sctp/com/sun/nio/sctp/MessageInfo.html

Spec-Zone.ru

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