нл:: Инет:: UDPEndPoint
#include <src/inet/UDPEndPoint.h>
Объекты этого класса представляют конечные точки транспорта UDP.
Краткое содержание
Nest Inet Layer инкапсулирует методы взаимодействия с конечными точками транспорта UDP (сокетами SOCK_DGRAM в системах на базе Linux и BSD) или блоками управления протоколом LwIP UDP, если система настроена соответствующим образом.
Наследование
Наследуется от: nl::Inet::IPEndPointBasisОбщественные функции | |
---|---|
Bind (IPAddressType addrType, IPAddress addr, uint16_t port, InterfaceId intfId) | Привяжите конечную точку к IP-адресу интерфейса. |
BindInterface (IPAddressType addrType, InterfaceId intf) | Привяжите конечную точку к сетевому интерфейсу. |
Close (void) | void Закройте конечную точку. |
Free (void) | void Закройте конечную точку и перезапустите ее память. |
GetBoundInterface (void) | InterfaceId Получите связанный интерфейс на этой конечной точке. |
GetBoundPort (void) | uint16_t |
Listen (void) | Подготовьте конечную точку для приема сообщений UDP. |
SendMsg (const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags) | Отправьте UDP-сообщение в указанный пункт назначения. |
SendTo ( IPAddress addr, uint16_t port, Weave::System::PacketBuffer *msg, uint16_t sendFlags) | Синоним SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags) . |
SendTo ( IPAddress addr, uint16_t port, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags) | Отправьте UDP-сообщение на указанный адрес назначения. |
Общественные функции
Связывать
INET_ERROR Bind( IPAddressType addrType, IPAddress addr, uint16_t port, InterfaceId intfId )
Привяжите конечную точку к IP-адресу интерфейса.
Привязывает конечную точку к указанному IP-адресу сетевого интерфейса.
Подробности | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||||
Возвращаемые значения |
|
В LwIP этот метод нельзя вызывать с уже полученной блокировкой стека LwIP.
BindИнтерфейс
INET_ERROR BindInterface( IPAddressType addrType, InterfaceId intf )
Привяжите конечную точку к сетевому интерфейсу.
Привязывает конечную точку к указанному IP-адресу сетевого интерфейса.
Подробности | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||
Возвращаемые значения |
|
В LwIP этот метод нельзя вызывать с уже полученной блокировкой стека LwIP.
Закрывать
void Close( void )
Закройте конечную точку.
Если mState != kState_Closed
, то закрывает конечную точку, удаляя ее из набора конечных точек, имеющих право на события связи.
В системах LwIP этот метод нельзя вызывать с уже полученной блокировкой стека LwIP.
Бесплатно
void Free( void )
Закройте конечную точку и перезапустите ее память.
Вызывает метод Close
, затем вызывает метод InetLayerBasis::Release
, чтобы вернуть объект в его пул памяти.
В системах LwIP этот метод нельзя вызывать с уже полученной блокировкой стека LwIP.
GetBoundИнтерфейс
InterfaceId GetBoundInterface( void )
Получите связанный интерфейс на этой конечной точке.
Подробности | |
---|---|
Возврат | InterfaceId Идентификатор связанного интерфейса. |
GetBoundPort
uint16_t GetBoundPort( void )
Слушать
INET_ERROR Listen( void )
Подготовьте конечную точку для приема сообщений UDP.
Если State
уже kState_Listening
, то никакая операция не выполняется, в противном случае mState
устанавливается в kState_Listening
и конечная точка готовится к получению сообщений UDP в соответствии с семантикой платформы.
Подробности | |||||
---|---|---|---|---|---|
Возвращаемые значения |
|
В LwIP этот метод нельзя вызывать с уже полученной блокировкой стека LwIP.
ОтправитьСообщение
INET_ERROR SendMsg( const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Отправьте UDP-сообщение в указанный пункт назначения.
Send the UDP message in \c msg to the destination address and port given in \c pktInfo. If \c pktInfo contains an interface id, the message will be sent over the specified interface. If \c pktInfo contains a source address, the given address will be used as the source of the UDP message. Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this method deep-copies \c msg into a fresh object, and queues that for transmission, leaving the original \c msg available after return.
Подробности | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||
Возвращаемые значения |
|
Отправить
INET_ERROR SendTo( IPAddress addr, uint16_t port, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Синоним SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags)
.
Отправить
INET_ERROR SendTo( IPAddress addr, uint16_t port, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Отправьте UDP-сообщение на указанный адрес назначения.
If possible, then this method sends the UDP message \c msg to the destination \c addr (with \c intfId used as the scope identifier for IPv6 link-local destinations) and \c port with the transmit option flags encoded in \c sendFlags. Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this method deep-copies \c msg into a fresh object, and queues that for transmission, leaving the original \c msg available after return.
Подробности | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||
Возвращаемые значения |
|