nl::Inet::TunEndPoint

#include <src/inet/TunEndPoint.h>

Los objetos de esta clase representan interfaces de túnel.

Resumen

La capa de Inet de Nest encapsula métodos para interactuar tanto en sistemas POSIX como en sistemas LwIP con un mecanismo de tunelización IP en IP para admitir el agente de túnel de Weave.

Herencia

Se hereda de: nl::Inet::EndPointBasis

Tipos públicos

@11 enum
Estado dinámico básico del túnel subyacente.
OnPacketReceivedFunct)(TunEndPoint *endPoint, Weave::System::PacketBuffer *message) typedef
void(*
Tipo de controlador de eventos de recepción de paquetes.
OnReceiveErrorFunct)(TunEndPoint *endPoint, INET_ERROR err) typedef
void(*
Tipo de controlador de eventos de error.
RouteOp{
  kRouteTunIntf_Add = 0,
  kRouteTunIntf_Del = 1
}
enum
Operación cuando se configura la ruta a la interfaz del túnel.
RouteOp typedef
Operación cuando se configura la ruta a la interfaz del túnel.

Atributos públicos

OnPacketReceived
El delegado del controlador de eventos de recepción del paquete del extremo
OnReceiveError
mAppState
void *
Es el puntero al objeto de estado específico de la aplicación.
mState
enum nl::Inet::TunEndPoint::@11
Estado dinámico básico del túnel subyacente.

Funciones públicas

Free(void)
void
Cierra el túnel y suelta el controlador del objeto.
GetTunnelInterfaceId(void)
InterfaceId
Obtén el identificador de la interfaz del túnel.
Init(InetLayer *inetLayer)
void
Inicializa el objeto de extremo de túnel.
InterfaceDown(void)
Desactiva la interfaz del túnel.
InterfaceUp(void)
Activa la interfaz del túnel.
IsInterfaceUp(void) const
bool
Extraer el estado de activación de la interfaz del túnel.
Open(void)
Abre una seudointerfaz de túnel y crea un handle para ella.
Open(const char *intfName)
Send(Weave::System::PacketBuffer *message)
Envía un paquete IPv6 al dispositivo sintonizador que se enviará.

Tipos públicos

@11

 @11

Estado dinámico básico del túnel subyacente.

Los objetos se inicializan en el estado “abierto”. ve a la sección "cerrado" cuando estén listos para reciclarse.

OnPacketReceivedFunct

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

Tipo de controlador de eventos de recepción de paquetes.

Tipo de delegado a una capa superior para actuar cuando se recibe un paquete IPv6 del túnel.

Detalles
Parámetros
[in] endPoint
Un puntero al objeto TunEndPoint.
[in] message
Un puntero al objeto de mensaje Weave::System::PacketBuffer.

OnReceiveErrorFunct

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

Tipo de controlador de eventos de error.

Tipo de delegado a una capa superior para actuar en caso de error cuando se procesa un paquete IPv6 desde el túnel.

Detalles
Parámetros
[in] endPoint
El objeto TunEndPoint.
[in] err
Se informó el código de error.

RouteOp

 RouteOp

Operación cuando se configura la ruta a la interfaz del túnel.

Los valores de este tipo enumerado se usan cuando se configura una ruta para el túnel encapsulado.

Propiedades
kRouteTunIntf_Add

Agrega una ruta para un prefijo.

kRouteTunIntf_Del

Quita la ruta de un prefijo.

RouteOp

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

Operación cuando se configura la ruta a la interfaz del túnel.

Los valores de este tipo enumerado se usan cuando se configura una ruta para el túnel encapsulado.

Atributos públicos

OnPacketReceived

OnPacketReceivedFunct OnPacketReceived

El delegado del controlador de eventos de recepción del paquete del extremo

OnReceiveError

OnReceiveErrorFunct OnReceiveError

mAppState

void * mAppState

Es el puntero al objeto de estado específico de la aplicación.

mState

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

Estado dinámico básico del túnel subyacente.

Los objetos se inicializan en el estado “abierto”. ve a la sección "cerrado" cuando estén listos para reciclarse.

Funciones públicas

Gratis

void Free(
  void
)

Cierra el túnel y suelta el controlador del objeto.

Cierra el dispositivo de seudointerfaz de túnel y disminuye el recuento de referencias del objeto InetLayer.

GetTunnelInterfaceId

InterfaceId GetTunnelInterfaceId(
  void
)

Obtén el identificador de la interfaz del túnel.

Detalles
Resultado que se muestra
El identificador de la interfaz del túnel.

Init

void Init(
  InetLayer *inetLayer
)

Inicializa el objeto de extremo de túnel.

Detalles
Parámetros
[in] inetLayer
Un puntero al objeto de la capa de Inet que creó el extremo del túnel.

InterfaceDown

INET_ERROR InterfaceDown(
  void
)

Desactiva la interfaz del túnel.

Detalles
Valores de retorno
INET_NO_ERROR
éxito: se desactiva la interfaz del túnel.
other
otro error del sistema o de la plataforma

InterfaceUp

INET_ERROR InterfaceUp(
  void
)

Activa la interfaz del túnel.

Detalles
Valores de retorno
INET_NO_ERROR
éxito: se activó la interfaz del túnel.
other
otro error del sistema o de la plataforma

IsInterfaceUp

bool IsInterfaceUp(
  void
) const 

Extraer el estado de activación de la interfaz del túnel.

Detalles
Resultado que se muestra
true si la interfaz del túnel está activa; de lo contrario, es false.

Abrir

INET_ERROR Open(
  void
)

Abre una seudointerfaz de túnel y crea un handle para ella.

Detalles
Resultado que se muestra
INET_NO_ERROR si la operación es exitosa; de lo contrario, corresponde al error de SO asignado de INET.

Abrir

INET_ERROR Open(
  const char *intfName
)

Enviar

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

Envía un paquete IPv6 al dispositivo sintonizador que se enviará.

Detalles
Parámetros
[in] message
el paquete IPv6 que se enviará.
Valores de retorno
INET_NO_ERROR
éxito: paquete encapsulado y en cola para enviarlo
INET_ERROR_NOT_SUPPORTED
paquete que no es la versión de IP 6
INET_ERROR_BAD_ARGS
message es un puntero de NULL