nl::Inet::TunEndPoint

#include <src/inet/TunEndPoint.h>

Objekte dieser Klasse stellen Tunnelschnittstellen dar.

Zusammenfassung

Nest Inet Layer kapselt Methoden für die Interaktion mit POSIX-Systemen und LwIP-Systemen mit einem IP-in-IP-Tunneling-Mechanismus zur Unterstützung des Weave-Tunnel-Agents.

Übernahme

Übernimmt von : nl::Inet::EndPointBasis

Öffentliche Typen

@11 enum
Grundlegender dynamischer Status des zugrunde liegenden Tunnels.
OnPacketReceivedFunct)(TunEndPoint *endPoint, Weave::System::PacketBuffer *message) typedef
void(*
Typ des Event-Handlers zum Empfang von Paketen.
OnReceiveErrorFunct)(TunEndPoint *endPoint, INET_ERROR err) typedef
void(*
Typ des Fehlerereignis-Handlers.
RouteOp{
  kRouteTunIntf_Add = 0,
  kRouteTunIntf_Del = 1
}
enum
Vorgang beim Festlegen der Schnittstelle von Route zu Tunnel.
RouteOp typedef
Vorgang beim Festlegen der Schnittstelle von Route zu Tunnel.

Öffentliche Attribute

OnPacketReceived
Der Delegate des Paketempfangs-Event-Handlers des Endpunkts.
OnReceiveError
mAppState
void *
Zeiger auf ein anwendungsspezifisches Statusobjekt.
mState
enum nl::Inet::TunEndPoint::@11
Grundlegender dynamischer Status des zugrunde liegenden Tunnels.

Öffentliche Funktionen

Free(void)
void
Schließen Sie den Tunnel und lassen Sie den Handle für das Objekt los.
GetTunnelInterfaceId(void)
InterfaceId
Rufen Sie die Tunnelschnittstellen-ID ab.
Init(InetLayer *inetLayer)
void
Initialisieren Sie das Tunnel EndPoint-Objekt.
InterfaceDown(void)
Deaktivieren Sie die Tunnelschnittstelle.
InterfaceUp(void)
Aktivieren Sie die Tunnelschnittstelle.
IsInterfaceUp(void) const
bool
Extrahieren Sie den Aktivierungsstatus der Tunnelschnittstelle.
Open(void)
Öffnen Sie eine Tunnel-Pseudoschnittstelle und erstellen Sie einen Handle dafür.
Open(const char *intfName)
Send(Weave::System::PacketBuffer *message)
Ein IPv6-Paket an das Empfängergerät senden.

Öffentliche Typen

@11

 @11

Grundlegender dynamischer Status des zugrunde liegenden Tunnels.

Objekte werden im Status „Offen“ initialisiert. Sie kehren in den Status „Geschlossen“ über, wenn sie wiederverwendet werden können.

OnPacketReceivedFunct

void(* OnPacketReceivedFunct)(TunEndPoint *endPoint, Weave::System::PacketBuffer *message)

Typ des Event-Handlers zum Empfang von Paketen.

Typ des Bevollmächtigten, der an eine höhere Schicht gerichtet ist, wenn er nach dem Empfang eines IPv6-Pakets aus dem Tunnel aktiv wird.

Details
Parameter
[in] endPoint
Ein Zeiger auf das Objekt TunEndPoint.
[in] message
Ein Zeiger auf das Nachrichtenobjekt Weave::System::PacketBuffer.

OnReceiveErrorFunct

void(* OnReceiveErrorFunct)(TunEndPoint *endPoint, INET_ERROR err)

Typ des Fehlerereignis-Handlers.

Typ des Delegats an eine höhere Ebene, das auf die Fehlerverarbeitung eines IPv6-Pakets aus dem Tunnel reagiert.

Details
Parameter
[in] endPoint
Objekt TunEndPoint
[in] err
Fehlercode gemeldet.

RouteOp

 RouteOp

Vorgang beim Festlegen der Schnittstelle von Route zu Tunnel.

Werte dieses Aufzählungstyps werden beim Festlegen einer Route für den gekapselten Tunnel verwendet.

Attribute
kRouteTunIntf_Add

Fügen Sie eine Route für ein Präfix hinzu.

kRouteTunIntf_Del

Route für ein Präfix entfernen.

RouteOp

enum nl::Inet::TunEndPoint::RouteOp RouteOp

Vorgang beim Festlegen der Schnittstelle von Route zu Tunnel.

Werte dieses Aufzählungstyps werden beim Festlegen einer Route für den gekapselten Tunnel verwendet.

Öffentliche Attribute

OnPacketReceived

OnPacketReceivedFunct OnPacketReceived

Der Delegate des Paketempfangs-Event-Handlers des Endpunkts.

OnReceiveError

OnReceiveErrorFunct OnReceiveError

mAppState

void * mAppState

Zeiger auf ein anwendungsspezifisches Statusobjekt.

mState

enum nl::Inet::TunEndPoint::@11 mState

Grundlegender dynamischer Status des zugrunde liegenden Tunnels.

Objekte werden im Status „Offen“ initialisiert. Sie kehren in den Status „Geschlossen“ über, wenn sie wiederverwendet werden können.

Öffentliche Funktionen

Kostenlos

void Free(
  void
)

Schließen Sie den Tunnel und lassen Sie den Handle für das Objekt los.

Schließen Sie das Tunnel-Pseudoschnittstellengerät und verringern Sie die Referenzanzahl des InetLayer-Objekts.

GetTunnelInterfaceId

InterfaceId GetTunnelInterfaceId(
  void
)

Rufen Sie die Tunnelschnittstellen-ID ab.

Details
Rückgabe
Die Tunnelschnittstellen-ID.

Init

void Init(
  InetLayer *inetLayer
)

Initialisieren Sie das Tunnel EndPoint-Objekt.

Details
Parameter
[in] inetLayer
Ein Zeiger auf das Inet-Ebenenobjekt, das den Tunnel EndPoint erstellt hat.

InterfaceDown

INET_ERROR InterfaceDown(
  void
)

Deaktivieren Sie die Tunnelschnittstelle.

Details
Rückgabewerte
INET_NO_ERROR
Erfolg: Tunnelschnittstelle ist deaktiviert.
other
ein anderer System- oder Plattformfehler

InterfaceUp

INET_ERROR InterfaceUp(
  void
)

Aktivieren Sie die Tunnelschnittstelle.

Details
Rückgabewerte
INET_NO_ERROR
Erfolg: Tunnelschnittstelle ist aktiviert.
other
ein anderer System- oder Plattformfehler

IsInterfaceUp

bool IsInterfaceUp(
  void
) const 

Extrahieren Sie den Aktivierungsstatus der Tunnelschnittstelle.

Details
Rückgabe
true, wenn die Tunnelschnittstelle aktiv ist, andernfalls false.

Öffnen

INET_ERROR Open(
  void
)

Öffnen Sie eine Tunnel-Pseudoschnittstelle und erstellen Sie einen Handle dafür.

Details
Rückgabe
INET_NO_ERROR bei Erfolg, andernfalls ein entsprechender INET-Fehler bei zugeordnetem Betriebssystem.

Öffnen

INET_ERROR Open(
  const char *intfName
)

Senden

INET_ERROR Send(
  Weave::System::PacketBuffer *message
)

Ein IPv6-Paket an das Empfängergerät senden.

Details
Parameter
[in] message
das zu sendende IPv6-Paket.
Rückgabewerte
INET_NO_ERROR
Erfolg: Paket gekapselt und zum Senden in Warteschlange gestellt
INET_ERROR_NOT_SUPPORTED
Paket nicht IP-Version 6
INET_ERROR_BAD_ARGS
message ist ein NULL-Zeiger