нл:: Переплетение:: Слой Сообщения
#include <src/lib/core/WeaveMessageLayer.h>
Определение класса WeaveMessageLayer , который управляет связью с другими узлами Weave.
Краткое содержание
Он использует одну из нескольких конечных точек InetLayer для установления канала связи с другими узлами Weave.
Конструкторы и деструкторы | |
---|---|
WeaveMessageLayer (void) Конструктор слоя Weave Message. |
Публичные типы | |
---|---|
AcceptErrorFunct )(WeaveMessageLayer *msgLayer, WEAVE_ERROR err) | определение типаvoid(* Эта функция является обратным вызовом более высокого уровня для сообщения об ошибке во время обработки входящего TCP-соединения. |
CallbackRemovedFunct )(void *listenerState) | определение типаvoid(* Эта функция вызывается для удаления обратного вызова. |
ConnectionReceiveFunct )(WeaveMessageLayer *msgLayer, WeaveConnection *con) | определение типаvoid(* Эта функция является обратным вызовом более высокого уровня для обработки входящего TCP-соединения. |
MessageLayerActivityChangeHandlerFunct )(bool messageLayerIsActive) | определение типаvoid(* Эта функция является обратным вызовом приложения для сообщения об изменении активности уровня сообщений. |
MessageReceiveFunct )(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload) | определение типаvoid(* Эта функция представляет собой обратный вызов более высокого уровня, который вызывается при получении сообщения Weave по UDP. |
ReceiveErrorFunct )(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo) | определение типаvoid(* Эта функция представляет собой обратный вызов более высокого уровня, вызываемый при обнаружении ошибки. |
State { | перечисление Состояние WeaveMessageLayer . |
TunneledMsgReceiveFunct )(WeaveMessageLayer *msgLayer, PacketBuffer *payload) | определение типаvoid(* Эта функция представляет собой обратный вызов более высокого уровня, который вызывается при получении туннелированного пакета через локальный туннель UDP. |
Публичные атрибуты | |
---|---|
AppState | void * Указатель на объект состояния конкретного приложения. |
ExchangeMgr | [ТОЛЬКО ДЛЯ ЧТЕНИЯ] Связанный объект WeaveExchangeManager . |
FabricState | [ТОЛЬКО ДЛЯ ЧТЕНИЯ] Связанный объект WeaveFabricState . |
IncomingConIdleTimeout | uint32_t Тайм-аут простоя по умолчанию (в миллисекундах) для входящих соединений. |
Inet | InetLayer * [ТОЛЬКО ДЛЯ ЧТЕНИЯ] Связанный объект InetLayer. |
IsListening | bool [ТОЛЬКО ДЛЯ ЧТЕНИЯ] True, если прослушивается входящие соединения/сообщения, в противном случае — false. |
OnAcceptError | |
OnConnectionReceived | |
OnMessageReceived | |
OnReceiveError | |
OnUDPTunneledMessageReceived | |
SecurityMgr | [ТОЛЬКО ДЛЯ ЧТЕНИЯ] Связанный объект WeaveSecurityManager . |
State | uint8_t [ТОЛЬКО ДЛЯ ЧТЕНИЯ] Состояние объекта WeaveMessageLayer . |
SystemLayer | |
mDropMessage | bool Внутренний и только для отладки; Если установлено, WeaveMessageLayer удаляет сообщение и возвращает его. |
Общественные функции | |
---|---|
ClearUnsecuredConnectionListener ( ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved) | |
CloseEndpoints (void) | Закройте все открытые конечные точки TCP и UDP. |
CreateTunnel ( WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS) | Создайте WeaveConnectionTunnel , соединив два указанных WeaveConnection. |
DecodeHeader ( PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart) | Декодируйте заголовок слоя сообщения Weave из полученного сообщения Weave. |
EncodeMessage ( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve) | Закодируйте заголовок WeaveMessageLayer в PacketBuffer. |
EncodeMessage (const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload) | Закодируйте заголовок уровня сообщений Weave в PacketBuffer. |
EphemeralUDPPortEnabled (void) const | bool Проверьте, следует ли отправлять локально инициированные обмены UDP Weave с эфемерного исходного порта UDP. |
GetConnectionPoolStats (nl::Weave::System::Stats::count_t & aOutInUse) const | void Получите количество используемых WeaveConnections и размер пула. |
IPv4ListenEnabled (void) const | bool Проверьте, настроен ли WeaveMessageLayer для прослушивания входящих сообщений через IPv4. |
IPv6ListenEnabled (void) const | bool Проверьте, настроен ли WeaveMessageLayer для прослушивания входящих сообщений через IPv4. |
Init ( InitContext *context) | Инициализируйте объект слоя Weave Message. |
IsBoundToLocalIPv4Address (void) const | bool Проверьте, привязан ли WeaveMessageLayer к локальному адресу IPv4. |
IsBoundToLocalIPv6Address (void) const | bool Проверьте, привязан ли WeaveMessageLayer к локальному IPv6-адресу. |
IsMessageLayerActive (void) | bool |
NewConnection (void) | Создайте новый объект WeaveConnection из пула. |
NewConnectionTunnel (void) | Создайте новый объект WeaveConnectionTunnel из пула. |
ReEncodeMessage ( PacketBuffer *buf) | |
RefreshEndpoints (void) | Обновите конечные точки InetLayer на основе текущего состояния сетевых интерфейсов системы. |
ResendMessage ( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) | Повторно отправьте закодированное сообщение Weave, используя базовую конечную точку UDP Inetlayer. |
ResendMessage (const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) | Повторно отправьте закодированное сообщение Weave, используя базовую конечную точку UDP Inetlayer. |
ResendMessage (const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) | Повторно отправьте закодированное сообщение Weave, используя базовую конечную точку UDP Inetlayer. |
ResendMessage (const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) | Повторно отправьте закодированное сообщение Weave, используя базовую конечную точку UDP Inetlayer. |
SendMessage ( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) | Отправьте сообщение Weave, используя базовую конечную точку UDP Inetlayer после его кодирования. |
SendMessage (const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) | Отправьте сообщение Weave, используя базовую конечную точку UDP Inetlayer после его кодирования. |
SendMessage (const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) | Отправьте сообщение Weave, используя базовую конечную точку UDP Inetlayer после его кодирования. |
SendUDPTunneledMessage (const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) | Функция для отправки туннелированного пакета через локальный туннель UDP. |
SetSignalMessageLayerActivityChanged ( MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler) | void Установите обработчик приложения, который будет вызываться каждый раз, когда изменяется активность уровня сообщений. |
SetTCPListenEnabled (bool val) | void Включите или отключите прослушивание входящих TCP-соединений в WeaveMessageLayer . |
SetUDPListenEnabled (bool val) | void Включите или отключите прослушивание входящих сообщений UDP в WeaveMessageLayer . |
SetUnsecuredConnectionListener ( ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState) | |
Shutdown (void) | Завершите работу WeaveMessageLayer . |
TCPListenEnabled (void) const | bool Проверьте, настроен ли WeaveMessageLayer для прослушивания входящих TCP-соединений. |
UDPListenEnabled (void) const | bool Проверьте, настроен ли WeaveMessageLayer для прослушивания входящих сообщений UDP. |
UnsecuredListenEnabled (void) const | bool Включите или отключите инициацию обмена UDP Weave из временного исходного порта UDP. |
Публичные статические функции | |
---|---|
GetMaxWeavePayloadSize (const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU) | uint32_t Получите максимальный размер полезных данных Weave для конфигурации сообщения и предоставленный PacketBuffer. |
GetPeerDescription (char *buf, size_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, InterfaceId interfaceId, const WeaveConnection *con) | void Создает строку, описывающую одноранговый узел и связанную с ним информацию об адресе/соединении. |
GetPeerDescription (char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo) | void Создает строку, описывающую одноранговый узел, на основе информации, связанной с сообщением, полученным от однорангового узла. |
Классы | |
---|---|
nl:: Weave:: WeaveMessageLayer:: InitContext | Определение класса InitContext . |
Публичные типы
AcceptErrorFunct
void(* AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
Эта функция является обратным вызовом более высокого уровня для сообщения об ошибке во время обработки входящего TCP-соединения.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
Обратный вызовRemovedFunct
void(* CallbackRemovedFunct)(void *listenerState)
Эта функция вызывается для удаления обратного вызова.
Подробности | |||
---|---|---|---|
Параметры |
|
СоединениеReceiveFunct
void(* ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
Эта функция является обратным вызовом более высокого уровня для обработки входящего TCP-соединения.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
Слой сообщенияActivityChangeHandlerFunct
void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
Эта функция является обратным вызовом приложения для сообщения об изменении активности уровня сообщений.
Уровень сообщений считается активным, если существует хотя бы один открытый обмен или ожидающий запрос на синхронизацию счетчика сообщений.
Подробности | |||
---|---|---|---|
Параметры |
|
СообщениеПолучитьФункция
void(* MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
Эта функция представляет собой обратный вызов более высокого уровня, который вызывается при получении сообщения Weave по UDP.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
ПолучениеErrorFunct
void(* ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
Эта функция представляет собой обратный вызов более высокого уровня, вызываемый при обнаружении ошибки.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
Состояние
State
Состояние WeaveMessageLayer .
Характеристики | |
---|---|
kState_Initialized | Состояние, когда инициализируется WeaveMessageLayer . |
kState_Initializing | Состояние, когда WeaveMessageLayer находится в процессе инициализации. |
kState_NotInitialized | Состояние, когда WeaveMessageLayer не инициализирован. |
TunneledMsgReceiveFunct
void(* TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
Эта функция представляет собой обратный вызов более высокого уровня, который вызывается при получении туннелированного пакета через локальный туннель UDP.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
Публичные атрибуты
состояние приложения
void * AppState
Указатель на объект состояния конкретного приложения.
ExchangeMgr
WeaveExchangeManager * ExchangeMgr
[ТОЛЬКО ДЛЯ ЧТЕНИЯ] Связанный объект WeaveExchangeManager .
Состояние Фабрики
WeaveFabricState * FabricState
[ТОЛЬКО ДЛЯ ЧТЕНИЯ] Связанный объект WeaveFabricState .
ВходящийConIdleTimeout
uint32_t IncomingConIdleTimeout
Тайм-аут простоя по умолчанию (в миллисекундах) для входящих соединений.
инет
InetLayer * Inet
[ТОЛЬКО ДЛЯ ЧТЕНИЯ] Связанный объект InetLayer.
IsListening
bool IsListening
[ТОЛЬКО ДЛЯ ЧТЕНИЯ] True, если прослушивается входящие соединения/сообщения, в противном случае — false.
OnAcceptError
AcceptErrorFunct OnAcceptError
OnConnectionReceived
ConnectionReceiveFunct OnConnectionReceived
OnMessageReceived
MessageReceiveFunct OnMessageReceived
OnReceiveError
ReceiveErrorFunct OnReceiveError
ОнUDPTunneledMessageReceived
TunneledMsgReceiveFunct OnUDPTunneledMessageReceived
Менеджер по безопасности
WeaveSecurityManager * SecurityMgr
[ТОЛЬКО ДЛЯ ЧТЕНИЯ] Связанный объект WeaveSecurityManager .
Системный слой
System::Layer * SystemLayer
мдропмессаже
bool mDropMessage
Внутренний и только для отладки; Если установлено, WeaveMessageLayer удаляет сообщение и возвращает его.
Общественные функции
Прослушиватель ClearUnsecuredConnectionListener
WEAVE_ERROR ClearUnsecuredConnectionListener( ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved )
ЗакрытьКонечные точки
WEAVE_ERROR CloseEndpoints( void )
Закройте все открытые конечные точки TCP и UDP.
Затем прервите все открытые WeaveConnections и закройте все открытые объекты WeaveConnectionTunnel .
См. также:Неисправность() .
Создать туннель
WEAVE_ERROR CreateTunnel( WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS )
Создайте WeaveConnectionTunnel , соединив два указанных WeaveConnection.
При успешном создании TCPEndPoints, соответствующие объектам компонента WeaveConnection, передаются в WeaveConnectionTunnel , в противном случае WeaveConnections закрываются.
Подробности | |||||||||
---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||
Возвращаемые значения |
|
Декодирование заголовка
WEAVE_ERROR DecodeHeader( PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart )
Декодируйте заголовок слоя сообщения Weave из полученного сообщения Weave.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
Кодировать сообщение
WEAVE_ERROR EncodeMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve )
Закодируйте заголовок WeaveMessageLayer в PacketBuffer.
Подробности | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||||
Возвращаемые значения |
|
Кодировать сообщение
WEAVE_ERROR EncodeMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload )
Закодируйте заголовок уровня сообщений Weave в PacketBuffer.
Подробности | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||||
Возвращаемые значения |
|
ЭфемерныйUDPPortEnabled
bool EphemeralUDPPortEnabled( void ) const
Проверьте, следует ли отправлять локально инициированные обмены UDP Weave с эфемерного исходного порта UDP.
GetConnectionPoolStats
void GetConnectionPoolStats( nl::Weave::System::Stats::count_t & aOutInUse ) const
Получите количество используемых WeaveConnections и размер пула.
Подробности | |||
---|---|---|---|
Параметры |
|
IPv4ListenEnabled
bool IPv4ListenEnabled( void ) const
Проверьте, настроен ли WeaveMessageLayer для прослушивания входящих сообщений через IPv4.
IPv6ListenEnabled
bool IPv6ListenEnabled( void ) const
Проверьте, настроен ли WeaveMessageLayer для прослушивания входящих сообщений через IPv4.
Инициализировать
WEAVE_ERROR Init( InitContext *context )
Инициализируйте объект слоя Weave Message.
Подробности | |||||||||
---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||
Возвращаемые значения |
|
ИсбаундтолокалIPv4Address
bool IsBoundToLocalIPv4Address( void ) const
Проверьте, привязан ли WeaveMessageLayer к локальному адресу IPv4.
ИсбаундтолокалIPv6адрес
bool IsBoundToLocalIPv6Address( void ) const
Проверьте, привязан ли WeaveMessageLayer к локальному IPv6-адресу.
Исмессажелайерактиве
bool IsMessageLayerActive( void )
Новое соединение
WeaveConnection * NewConnection( void )
Создайте новый объект WeaveConnection из пула.
Подробности | |
---|---|
Возврат | указатель на вновь созданный объект WeaveConnection в случае успеха, в противном случае — NULL. |
Новое соединениеТуннель
WeaveConnectionTunnel * NewConnectionTunnel( void )
Создайте новый объект WeaveConnectionTunnel из пула.
Подробности | |
---|---|
Возврат | указатель на вновь созданный объект WeaveConnectionTunnel в случае успеха, в противном случае — NULL. |
Перекодировать сообщение
WEAVE_ERROR ReEncodeMessage( PacketBuffer *buf )
Обновить конечные точки
WEAVE_ERROR RefreshEndpoints( void )
Обновите конечные точки InetLayer на основе текущего состояния сетевых интерфейсов системы.
Подробности | |||||
---|---|---|---|---|---|
Возвращаемые значения |
|
Отправить сообщение повторно
WEAVE_ERROR ResendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Повторно отправьте закодированное сообщение Weave, используя базовую конечную точку UDP Inetlayer.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
Отправить сообщение повторно
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Повторно отправьте закодированное сообщение Weave, используя базовую конечную точку UDP Inetlayer.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
Отправить сообщение повторно
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Повторно отправьте закодированное сообщение Weave, используя базовую конечную точку UDP Inetlayer.
Подробности | |||||||||
---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||
Возвращаемые значения |
|
Отправить сообщение повторно
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Повторно отправьте закодированное сообщение Weave, используя базовую конечную точку UDP Inetlayer.
Примечание. - Если адрес назначения не указан, попытайтесь определить его по идентификатору узла в заголовке сообщения. Потерпите неудачу, если это невозможно сделать. — Если адрес назначения является адресом структуры для локальной структуры, а вызывающая сторона не указала идентификатор узла назначения, извлеките его из адреса назначения.
Подробности | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||
Возвращаемые значения |
|
Отправить сообщение
WEAVE_ERROR SendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Отправьте сообщение Weave, используя базовую конечную точку UDP Inetlayer после его кодирования.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
Отправить сообщение
WEAVE_ERROR SendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Отправьте сообщение Weave, используя базовую конечную точку UDP Inetlayer после его кодирования.
Примечание. – Используемый порт назначения — WEAVE_PORT . -Если адрес назначения не указан, попытайтесь определить его по идентификатору узла в заголовке сообщения. Потерпите неудачу, если это невозможно сделать.
— Если адрес назначения является адресом структуры для локальной структуры, а вызывающая сторона не указала идентификатор узла назначения, извлеките его из адреса назначения.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
Отправить сообщение
WEAVE_ERROR SendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Отправьте сообщение Weave, используя базовую конечную точку UDP Inetlayer после его кодирования.
Примечание. - Если адрес назначения не указан, попытайтесь определить его по идентификатору узла в заголовке сообщения. Потерпите неудачу, если это невозможно сделать. — Если адрес назначения является адресом структуры для локальной структуры, а вызывающая сторона не указала идентификатор узла назначения, извлеките его из адреса назначения.
Подробности | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||
Возвращаемые значения |
|
ОтправитьUDPTunneledMessage
WEAVE_ERROR SendUDPTunneledMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Функция для отправки туннелированного пакета через локальный туннель UDP.
Отправьте туннелированное сообщение данных IPv6 через UDP.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
SetSignalMessageLayerActivityChanged
void SetSignalMessageLayerActivityChanged( MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler )
Установите обработчик приложения, который будет вызываться каждый раз, когда изменяется активность уровня сообщений.
В частности, приложение будет уведомляться каждый раз:
- меняется количество открытых бирж.
- количество ожидающих запросов на синхронизацию счетчика сообщений изменяется с нуля как минимум до одного и обратно до нуля. Обработчик служит общим сигналом, указывающим, есть ли какие-либо текущие диалоги Weave или ожидающие ответы. Обработчик должен быть установлен после инициализации WeaveMessageLayer ; закрытие WeaveMessageLayer очистит текущий обработчик.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возвращаемые значения |
|
УстановитьTCPListenEnabled
void SetTCPListenEnabled( bool val )
Включите или отключите прослушивание входящих TCP-соединений в WeaveMessageLayer .
ПРИМЕЧАНИЕ. RefreshEndpoints()
необходимо вызывать после изменения состояния прослушивания TCP.
SetUDPListenEnabled
void SetUDPListenEnabled( bool val )
Включите или отключите прослушивание входящих сообщений UDP в WeaveMessageLayer .
ПРИМЕЧАНИЕ. RefreshEndpoints()
необходимо вызывать после изменения состояния прослушивания UDP.
SetUnsecuredConnectionListener
WEAVE_ERROR SetUnsecuredConnectionListener( ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState )
Неисправность
WEAVE_ERROR Shutdown( void )
Завершите работу WeaveMessageLayer .
Закройте все открытые конечные точки уровня Inet, сбросьте все обратные вызовы более высокого уровня, переменные-члены и объекты. Вызов Shutdown() завершает работу объекта WeaveMessageLayer .
TCPListenEnabled
bool TCPListenEnabled( void ) const
Проверьте, настроен ли WeaveMessageLayer для прослушивания входящих TCP-соединений.
UDPListenEnabled
bool UDPListenEnabled( void ) const
Проверьте, настроен ли WeaveMessageLayer для прослушивания входящих сообщений UDP.
Необеспеченный прослушивание включено
bool UnsecuredListenEnabled( void ) const
Включите или отключите инициацию обмена UDP Weave из временного исходного порта UDP.
ПРИМЕЧАНИЕ. RefreshEndpoints()
необходимо вызывать после изменения состояния временного порта. Проверьте, включено ли незащищенное прослушивание.
Слой Сообщения
WeaveMessageLayer( void )
Конструктор слоя Weave Message.
Публичные статические функции
GetMaxWeavePayloadSize
uint32_t GetMaxWeavePayloadSize( const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU )
Получите максимальный размер полезных данных Weave для конфигурации сообщения и предоставленный PacketBuffer.
Максимальный возвращаемый размер полезных данных не будет превышать доступное пространство для полезных данных внутри предоставленного PacketBuffer.
Если сообщение представляет собой UDP, максимальный возвращаемый размер полезных данных не приведет к тому, что сообщение Weave не переполнит указанный UDP MTU.
Наконец, максимальный возвращенный размер полезных данных не приведет к тому, что сообщение Weave превысит максимальный размер сообщения Weave.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возврат | максимальный размер полезной нагрузки Weave. |
GetPeerDescription
void GetPeerDescription( char *buf, size_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, InterfaceId interfaceId, const WeaveConnection *con )
Создает строку, описывающую одноранговый узел и связанную с ним информацию об адресе/соединении.
Сгенерированная строка имеет следующий формат:
([ ]: % , con )
Подробности | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
|
GetPeerDescription
void GetPeerDescription( char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo )
Создает строку, описывающую одноранговый узел, на основе информации, связанной с сообщением, полученным от однорангового узла.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|