Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

nl::int::IPendpoint-Basis

#include <src/inet/IPEndPointBasis.h>

Objekte dieser Klasse stellen nicht nachweisliche IP-Protokollendpunkte dar.

Fazit

Übernahme

Übernimmt von: nl::Inet::EndPointBasis
Direkte bekannte Unterklassen:
nl::Inet::RawEndPoint
nl::Inet::UDPEndPoint

Öffentliche Typen

@8{
  kState_Ready = kBasisState_Closed,
  kState_Bound = 1,
  kState_Listening = 2,
  kState_Closed = 3
}
enum
Grundlegender dynamischer Status des zugrunde liegenden Endpunkts.
@9{
  kSendFlag_RetainBuffer = 0x0040
}
enum
Option-Flags für die SendMsg-Methode übertragen.
OnMessageReceivedFunct)(IPEndPointBasis *endPoint, Weave::System::PacketBuffer *msg, const IPPacketInfo *pktInfo) Typdef
void(*
Typ der Funktion zum Verarbeiten von Nachrichtentexten.
OnReceiveErrorFunct)(IPEndPointBasis *endPoint, INET_ERROR err, const IPPacketInfo *pktInfo) Typdef
void(*
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
[in] endPoint
Der Endpunkt, der dem Ereignis zugeordnet ist.
[in] msg
Den empfangenen Nachrichtentext
[in] senderAddr
Die IP-Adresse des Absenders.

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
[in] endPoint
Der Endpunkt, der dem Ereignis zugeordnet ist.
[in] err
Den Grund für den Fehler

Ö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
[in] aInterfaceId
Der Indikator der Netzwerkschnittstelle, die der Multicast-Gruppe hinzugefügt werden soll
[in] aAddress
Multicast-Gruppe, der die Schnittstelle hinzugefügt werden soll
Rückgabewerte
INET_NO_ERROR
Multicast-Gruppe entfernt
INET_ERROR_UNKNOWN_INTERFACE
unbekannte Netzwerkschnittstelle, aInterfaceId
INET_ERROR_WRONG_ADDRESS_TYPE
aAddress ist nicht kIPAddressType_IPv4 oder kIPAddressType_IPv6 oder es ist kein Multicast
other
System- oder Plattformfehler

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
[in] aInterfaceId
Indikator der Netzwerkschnittstelle, die aus der Multicast-Gruppe entfernt werden soll
[in] aAddress
Multicast-Gruppe aus der Schnittstelle entfernen
Rückgabewerte
INET_NO_ERROR
Multicast-Gruppe entfernt
INET_ERROR_UNKNOWN_INTERFACE
unbekannte Netzwerkschnittstelle, aInterfaceId
INET_ERROR_WRONG_ADDRESS_TYPE
aAddress ist nicht kIPAddressType_IPv4 oder kIPAddressType_IPv6 oder es ist kein Multicast
other
System- oder Plattformfehler

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
[in] aIPVersion
[in] aLoop
Rückgabewerte
INET_NO_ERROR
Erfolgreich: Multicast-Loopback-Verhalten festgelegt
other
System- oder Plattformfehler

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
[in] aBuffer
den Paketzwischenspeicher mit der IP-Nachricht
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.