nl:: int:: IPendpoint-Basis
#include <src/inet/IPEndPointBasis.h>
Objekte dieser Klasse stellen nicht nachweisliche IP-Protokollendpunkte dar.
Fazit
Übernahme
Übernimmt von: nl::Inet::EndPointBasisDirekte bekannte Unterklassen:
nl::Inet::RawEndPoint
nl::Inet::UDPEndPoint
Öffentliche Typen |
|
---|---|
@8{
|
enum Grundlegender dynamischer Status des zugrunde liegenden Endpunkts. |
@9{
|
enum Option-Flags für die SendMsg -Methode übertragen. |
OnMessageReceivedFunct)(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo)
|
Typdefvoid(*
Typ der Funktion zum Verarbeiten von Nachrichtentexten. |
OnReceiveErrorFunct)(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo)
|
Typdefvoid(*
Typ der Funktion zur Verarbeitung von Empfangsfehlerereignissen |
Öffentliche Attribute |
|
---|---|
OnMessageReceived
|
Die Delegierung der Ereignisfunktion für die Ereignisverarbeitung des Endpunkts.
|
OnReceiveError
|
Der Delegat der Funktion zur Fehlerereignisverarbeitung für den Endpunkt wird empfangen.
|
mState
|
enum nl::Inet::IPEndPointBasis::@8
Grundlegender dynamischer Status des zugrunde liegenden Endpunkts.
|
Geschützte Attribute |
|
---|---|
mBoundIntfId
|
InterfaceId
|
Öffentliche Funktionen |
|
---|---|
JoinMulticastGroup(InterfaceId aInterfaceId, const IPAddress & aAddress)
|
Einer IP-Multicast-Gruppe beitreten
|
LeaveMulticastGroup(InterfaceId aInterfaceId, const IPAddress & aAddress)
|
Verlassen Sie eine IP-Multicast-Gruppe.
|
SetMulticastLoopback(IPVersion aIPVersion, bool aLoopback)
|
Legt fest, ob der Multicast-Traffic für IP-Adressen als Schleife wiedergegeben werden soll.
|
Geschützte Funktionen |
|
---|---|
Bind(IPAddressType aAddressType, IPAddress aAddress, uint16_t aPort, InterfaceId aInterfaceId)
|
|
BindInterface(IPAddressType aAddressType, InterfaceId aInterfaceId)
|
|
GetSocket(IPAddressType aAddressType, int aType, int aProtocol)
|
|
HandleDataReceived(Weave::System::PacketBuffer *aBuffer)
|
void
|
HandlePendingIO(uint16_t aPort)
|
void
|
Init(InetLayer *aInetLayer)
|
void
|
PrepareIO(void)
|
|
SendMsg(const IPPacketInfo *aPktInfo, Weave::System::PacketBuffer *aBuffer, uint16_t aSendFlags)
|
Öffentliche statische Funktionen |
|
---|---|
FindNetifFromInterfaceId(InterfaceId aInterfaceId)
|
struct netif *
|
Geschützte statische Funktionen |
|
---|---|
GetPacketInfo(Weave::System::PacketBuffer *buf)
|
Rufen Sie Informationen zur LwIP-IP-Ebene und zur Zieladresse ab.
|
Öffentliche Typen
@8
@8
Grundlegender dynamischer Status des zugrunde liegenden Endpunkts.
Objekte werden im Zustand „&ready“ initialisiert, nach der Bindung an eine lokale Schnittstellenadresse in den Zustand „gebunden“ und dann zum Status „Zuhören“ gewechselt, wenn Fortsetzungen bei der Verarbeitung von Ereignissen für den Empfang von ICMP-Nachrichten registriert sind.
Hinweis:Die Aufzählung kBasisState_Closed
ist aus Gründen der Kompatibilität mit Binärprogrammen kState_Ready
zugeordnet. Mit der bestehenden kState_Closed
kann separat die Unterscheidung zwischen „Noch nicht geöffnet“ und „Bisher geöffnet jetzt“ abgeschlossen werden und bisher in den Status kState_Ready
und kState_Closed
vorhanden.
Attribute | |
---|---|
kState_Bound
|
Endpunktbindung, aber keine Überwachung. |
kState_Closed
|
Endpunkt geschlossen und bereit zur Veröffentlichung. |
kState_Listening
|
Endpunkt, der Datagramme erhält |
kState_Ready
|
Endpunkt initialisiert, aber nicht geöffnet. |
@9
@9
Option-Flags für die SendMsg
-Methode übertragen.
Attribute | |
---|---|
kSendFlag_RetainBuffer
|
Nachrichten nicht in die Warteschlange stellen. Kopieren Sie die Kopie in die Warteschlange. |
OnMessageReceived
void(* OnMessageReceivedFunct)(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo)
Typ der Funktion zum Verarbeiten von Nachrichtentexten.
Stellen Sie dem Bevollmächtigten OnMessageReceived
eine Funktion dieses Typs zur Verfügung, um Ereignisse zum Empfangen von Nachrichten am endPoint
zu verarbeiten. Dabei ist msg
der Nachrichtentext, der vom Absender um senderAddr
empfangen wurde.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
OnReceiveErrorFunct
void(* OnReceiveErrorFunct)(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo)
Typ der Funktion zur Verarbeitung von Empfangsfehlerereignissen
Stellen Sie dem Bevollmächtigten OnReceiveError
eine Funktion dieses Typs zur Verfügung, um Empfangsfehlerereignisse in endPoint
zu verarbeiten. Das Argument err
enthält bestimmte Details zum Fehlertyp.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
Öffentliche Attribute
OnMessageReceived
OnMessageReceivedFunct OnMessageReceived
Die Delegierung der Ereignisfunktion für die Ereignisverarbeitung des Endpunkts.
OnReceiveError (Fehler beim Empfang)
OnReceiveErrorFunct OnReceiveError
Der Delegat der Funktion zur Fehlerereignisverarbeitung für den Endpunkt wird empfangen.
MState
enum nl::Inet::IPEndPointBasis::@8 mState
Grundlegender dynamischer Status des zugrunde liegenden Endpunkts.
Objekte werden im Zustand „&ready“ initialisiert, nach der Bindung an eine lokale Schnittstellenadresse in den Zustand „gebunden“ und dann zum Status „Zuhören“ gewechselt, wenn Fortsetzungen bei der Verarbeitung von Ereignissen für den Empfang von ICMP-Nachrichten registriert sind.
Hinweis: Die Aufzählung kBasisState_Closed
ist aus Gründen der Kompatibilität mit Binärprogrammen kState_Ready
zugeordnet. Mit der bestehenden kState_Closed
kann separat die Unterscheidung zwischen „Noch nicht geöffnet“ und „Bisher geöffnet jetzt“ abgeschlossen werden und bisher in den Status kState_Ready
und kState_Closed
vorhanden.
Geschützte Attribute
mBoundIntfId-ID
InterfaceId mBoundIntfId
Öffentliche Funktionen
MultiMultiGruppe beitreten
INET_ERROR JoinMulticastGroup( InterfaceId aInterfaceId, const IPAddress & aAddress )
Einer IP-Multicast-Gruppe beitreten
Damit verbinden Sie den Endpunkt mit der angegebenen Multicast-Gruppe auf der angegebenen Schnittstelle.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
MulticastGroup verlassen
INET_ERROR LeaveMulticastGroup( InterfaceId aInterfaceId, const IPAddress & aAddress )
Verlassen Sie eine IP-Multicast-Gruppe.
Endpunkt aus der bereitgestellten Multicast-Gruppe auf der angegebenen Schnittstelle entfernen
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
SetMulticastLoopback
INET_ERROR SetMulticastLoopback( IPVersion aIPVersion, bool aLoopback )
Legt fest, ob der Multicast-Traffic für IP-Adressen als Schleife wiedergegeben werden soll.
Legen Sie fest, ob der Multicast-Traffic von IP-Adressen als Schleife an diesem Endpunkt zurückgegeben werden soll.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
Geschützte Funktionen
Binden
INET_ERROR Bind( IPAddressType aAddressType, IPAddress aAddress, uint16_t aPort, InterfaceId aInterfaceId )
BindInterface
INET_ERROR BindInterface( IPAddressType aAddressType, InterfaceId aInterfaceId )
GetSocket
INET_ERROR GetSocket( IPAddressType aAddressType, int aType, int aProtocol )
HandleDataReceived
void HandleDataReceived( Weave::System::PacketBuffer *aBuffer )
HandleAusstehendIO
void HandlePendingIO( uint16_t aPort )
Init
void Init( InetLayer *aInetLayer )
Vorbereitung
SocketEvents PrepareIO( void )
MS-MMS
INET_ERROR SendMsg( const IPPacketInfo *aPktInfo, Weave::System::PacketBuffer *aBuffer, uint16_t aSendFlags )
Öffentliche statische Funktionen
FindNetifFromInterfaceId
struct netif * FindNetifFromInterfaceId( InterfaceId aInterfaceId )
Geschützte statische Funktionen
GetPacketInfo
IPPacketInfo * GetPacketInfo( Weave::System::PacketBuffer *buf )
Rufen Sie Informationen zur LwIP-IP-Ebene und zur Zieladresse ab.
Wenn LwIP-Informationen zum Paket verwendet werden, werden sie vor dem Start der Daten im Paketpuffer im reservierten Bereich gespeichert. Das ist erforderlich, weil die Ereignisse der Systemebene nur zwei Argumente haben. In diesem Fall wird der Zeiger zum Endpunkt und der Zeiger zum Puffer übertragen.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
ist ein Hinweis auf die erfolgreichen Adressinformationen. Andernfalls NULL, wenn im Paket nicht genügend Speicherplatz für die Adressinformationen vorhanden ist.
|
In den meisten Fällen lässt sich das speichern, bevor die Daten funktionieren. Der erste Puffer in einer LwIP-IP-Nachricht enthält den Speicherplatz für die Ethernet-/IP-/UDP-Header. Aufgrund der aktuellen Größe der IPPacketInfo-Struktur (40 Byte) ist jedoch nicht genug Platz für die Strukturstruktur mit der Nutzlast in einem einzelnen Paketzwischenspeicher. Das sollte jedoch nur bei sehr großen IPv4-Paketen passieren, die ohne Ethernet-Header eingehen.