nl:: Inet:: UDPEndPoint
#include <src/inet/UDPEndPoint.h>
Gli oggetti di questa classe rappresentano gli endpoint di trasporto UDP.
Riepilogo
Nest Inet Layer incapsula i metodi per interagire con gli endpoint di trasporto UDP (socket SOCK_DGRAM su sistemi Linux e BSD) o con i blocchi di controllo del protocollo LwIP UDP, in quanto il sistema è configurato di conseguenza.
Eredità
Eredita da: nl::Inet::IPEndPointBasis
Funzioni pubbliche |
|
---|---|
Bind(IPAddressType addrType, IPAddress addr, uint16_t port, InterfaceId intfId)
|
Associa l'endpoint a un indirizzo IP dell'interfaccia.
|
BindInterface(IPAddressType addrType, InterfaceId intf)
|
Associa l'endpoint a un'interfaccia di rete.
|
Close(void)
|
void
Chiudi l'endpoint.
|
Free(void)
|
void
Chiudi l'endpoint e ricicla la memoria.
|
GetBoundInterface(void)
|
InterfaceId
Ottieni l'interfaccia associata su questo endpoint.
|
GetBoundPort(void)
|
uint16_t
|
Listen(void)
|
Prepara l'endpoint per la ricezione dei messaggi UDP.
|
SendMsg(const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Invia un messaggio UDP a una destinazione specificata.
|
SendTo(IPAddress addr, uint16_t port, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Un sinonimo di
SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags) . |
SendTo(IPAddress addr, uint16_t port, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Invia un messaggio UDP all'indirizzo di destinazione specificato.
|
Funzioni pubbliche
Associa
INET_ERROR Bind( IPAddressType addrType, IPAddress addr, uint16_t port, InterfaceId intfId )
Associa l'endpoint a un indirizzo IP dell'interfaccia.
Associa l'endpoint all'indirizzo IP dell'interfaccia di rete specificato.
Dettagli | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||||
Valori restituiti |
|
Su LwIP, questo metodo non deve essere chiamato con il blocco dello stack LwIP già acquisito.
BindInterface
INET_ERROR BindInterface( IPAddressType addrType, InterfaceId intf )
Associa l'endpoint a un'interfaccia di rete.
Associa l'endpoint all'indirizzo IP dell'interfaccia di rete specificato.
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||
Valori restituiti |
|
Su LwIP, questo metodo non deve essere chiamato con il blocco dello stack LwIP già acquisito.
Chiudi
void Close( void )
Chiudi l'endpoint.
Se mState != kState_Closed
, l'endpoint viene chiuso e rimosso dall'insieme di endpoint idonei per gli eventi di comunicazione.
Nei sistemi LwIP, questo metodo non deve essere chiamato se il blocco dello stack LwIP è già acquisito.
Gratis
void Free( void )
Chiudi l'endpoint e ricicla la memoria.
Richiama il metodo Close
, quindi richiama il metodo InetLayerBasis::Release
per restituire l'oggetto nel relativo pool di memoria.
Nei sistemi LwIP, questo metodo non deve essere chiamato se il blocco dello stack LwIP è già acquisito.
GetBoundInterface
InterfaceId GetBoundInterface( void )
Ottieni l'interfaccia associata su questo endpoint.
Dettagli | |
---|---|
Restituisce |
InterfaceId L'ID dell'interfaccia associata.
|
GetBoundPort
uint16_t GetBoundPort( void )
Ascolta
INET_ERROR Listen( void )
Prepara l'endpoint per la ricezione dei messaggi UDP.
Se State
è già kState_Listening
, non viene eseguita alcuna operazione, altrimenti mState
viene impostato su kState_Listening
e l'endpoint viene preparato per la ricezione di messaggi UDP, in base alla semantica della piattaforma.
Dettagli | |||||
---|---|---|---|---|---|
Valori restituiti |
|
Su LwIP, questo metodo non deve essere chiamato con il blocco dello stack LwIP già acquisito
SendMsg
INET_ERROR SendMsg( const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Invia un messaggio UDP a una destinazione specificata.
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.
Dettagli | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||
Valori restituiti |
|
SendTo
INET_ERROR SendTo( IPAddress addr, uint16_t port, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Un sinonimo di SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags)
.
SendTo
INET_ERROR SendTo( IPAddress addr, uint16_t port, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Invia un messaggio UDP all'indirizzo di destinazione specificato.
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.
Dettagli | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||
Valori restituiti |
|