nl:: Weave:: Profiles:: WeaveTunnel:: WeaveTunnelAgent
Resumen
Constructores y destructores |
|
---|---|
WeaveTunnelAgent(void)
|
Tipos públicos |
|
---|---|
AgentState{
|
enum Estados del agente de túnel en relación con sus conexiones con el servicio. |
AgentState
|
typedef Estados del agente de túnel en relación con sus conexiones con el servicio. |
OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)
|
typedefvoid(*
Puntero de función al controlador establecido por una capa superior cuando se recibe una reconexión de túnel del Service. |
OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)
|
typedefvoid(*
Puntero de función al controlador establecido por una capa superior para actuar sobre varias notificaciones relacionadas con el túnel al Service. |
PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)
|
typedefvoid(*
Puntero de función a un controlador proporcionado por la aplicación para realizar una verificación en línea a nivel de la red. |
WeaveTunnelFlags{
|
enum Bits de bandera de Weave Tunnel. |
WeaveTunnelFlags
|
typedef Bits de bandera de Weave Tunnel. |
Atributos públicos |
|
---|---|
NetworkOnlineCheck
|
|
OnServiceTunReconnectNotify
|
|
OnServiceTunStatusNotify
|
Puntero de función al controlador establecido por una capa superior para actuar sobre varias notificaciones relacionadas con el túnel al Service.
|
mServiceMgr
|
WeaveServiceManager *
Puntero del administrador de servicios que se usa para buscar servicios y conectarse a él.
|
Funciones públicas |
|
---|---|
DisablePrimaryTunnel(void)
|
void
Inhabilitar túnel principal
|
EnablePrimaryTunnel(void)
|
void
Habilitar el túnel principal
|
GetAgentStateName(const AgentState state)
|
const char *
Obtén el nombre de WeaveTunnelAgentState.
|
GetTimeMsec(void)
|
uint64_t
Obtiene la hora del sistema en milisegundos.
|
GetWeaveTunnelAgentState(void)
|
Obtén el estado de TunnelAgent.
|
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, WeaveAuthMode authMode, WeaveServiceManager *svcMgr, const char *intfName, uint8_t role, void *appContext)
|
Inicializa el agente de túnel.
|
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext)
|
Inicializa el agente de túnel.
|
IsPrimaryTunnelEnabled(void) const
|
bool
Verifica si el túnel principal está habilitado.
|
IsPrimaryTunnelRoutingRestricted(void)
|
bool
Comprueba si el túnel principal está sujeto a restricciones de enrutamiento del servicio.
|
IsTunnelRoutingRestricted(void)
|
bool
Comprueba si el túnel está sujeto a restricciones de enrutamiento del servicio.
|
NetworkOnlineCheckResult(TunnelType tunType, bool isOnline)
|
void
Es la devolución de llamada que invoca la plataforma cuando el resultado del verificador en línea de la red está disponible.
|
ResetPrimaryReconnectBackoff(bool reconnectImmediately)
|
Restablece el tiempo de reconexión del túnel principal.
|
SetAuthMode(const WeaveAuthMode authMode)
|
void
Configura el WeaveAuthMode para el túnel.
|
SetDestination(const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort)
|
void
Configura el nodeId de destino, la dirección IP y el puerto del túnel.
|
SetTunnelingDeviceRole(const Role role)
|
void
Configura el rol Dispositivo de túnel(BorderGateway, StandaloneDevice, MobileDevice) para el túnel.
|
Shutdown(void)
|
Apaga el agente de túnel.
|
StartServiceTunnel(void)
|
Inicia el túnel de servicio.
|
StartServiceTunnel(uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode)
|
Inicia el túnel de servicio.
|
StopServiceTunnel(void)
|
void
Cierra la conexión del túnel al servicio.
|
StopServiceTunnel(WEAVE_ERROR err)
|
void
Cierra la conexión del túnel al servicio.
|
Funciones estáticas públicas |
|
---|---|
RecvdFromShortcutUDPTunnel(WeaveMessageLayer *msgLayer, PacketBuffer *message)
|
void
Controlador para recibir paquetes IPv6 tunelizados a través del túnel UDP de acceso directo entre la puerta de enlace fronteriza y el dispositivo móvil, y reenviarlos a la interfaz de Tunnel EndPoint después de desencapsular el paquete IPv6 sin procesar desde el encabezado del túnel.
|
RecvdFromTunnelEndPoint(TunEndPoint *tunEP, PacketBuffer *message)
|
void
Controlador para recibir paquetes IPv6 de la interfaz de Tunnel EndPoint y reenviarlos, ya sea al Service a través de la conexión TCP del Service después de encapsular el paquete IPv6 dentro del encabezado del túnel o al cliente de dispositivo móvil a través de un túnel de atajos.
|
Tipos públicos
AgentState
AgentState
Estados del agente de túnel en relación con sus conexiones con el servicio.
Propiedades | |
---|---|
kState_BkupOnlyTunModeEstablished
|
Se usa para indicar que se estableció el túnel de respaldo para el servicio. |
kState_Initialized_NoTunnel
|
Se usa para indicar que el agente de túnel se inicializó, pero no se estableció ningún túnel. |
kState_NotInitialized
|
Se usa para indicar que no se inicializó el agente de túnel. |
kState_PrimaryAndBkupTunModeEstablished
|
Se usa para indicar que se establecieron el túnel principal y el de respaldo. |
kState_PrimaryTunModeEstablished
|
Se usa para indicar que se estableció el túnel principal hacia el servicio. |
AgentState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::AgentState AgentState
Estados del agente de túnel en relación con sus conexiones con el servicio.
OnServiceTunnelReconnectNotifyFunct
void(* OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)
Puntero de función al controlador establecido por una capa superior cuando se recibe una reconexión de túnel del Service.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
OnServiceTunnelStatusNotifyFunct
void(* OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)
Puntero de función al controlador establecido por una capa superior para actuar sobre varias notificaciones relacionadas con el túnel al Service.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
PlatformNetworkOnlineCheck
void(* PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)
Puntero de función a un controlador proporcionado por la aplicación para realizar una verificación en línea a nivel de la red.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
WeaveTunnelFlags
WeaveTunnelFlags
Bits de bandera de Weave Tunnel.
Propiedades | |
---|---|
kTunnelFlag_BackupEnabled
|
Se establece cuando se habilita el túnel de respaldo. |
kTunnelFlag_BackupRestricted
|
Se establece cuando el túnel de respaldo tiene el enrutamiento restringido. |
kTunnelFlag_PrimaryEnabled
|
Se establece cuando se habilita el túnel principal. |
kTunnelFlag_PrimaryRestricted
|
Se establece cuando el túnel principal tiene enrutamiento restringido. |
WeaveTunnelFlags
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::WeaveTunnelFlags WeaveTunnelFlags
Bits de bandera de Weave Tunnel.
Atributos públicos
NetworkOnlineCheck
PlatformNetworkOnlineCheck NetworkOnlineCheck
OnServiceTunReconnectNotify
OnServiceTunnelReconnectNotifyFunct OnServiceTunReconnectNotify
OnServiceTunStatusNotify
OnServiceTunnelStatusNotifyFunct OnServiceTunStatusNotify
Puntero de función al controlador establecido por una capa superior para actuar sobre varias notificaciones relacionadas con el túnel al Service.
mServiceMgr
WeaveServiceManager * mServiceMgr
Puntero del administrador de servicios que se usa para buscar servicios y conectarse a él.
Funciones públicas
DisablePrimaryTunnel
void DisablePrimaryTunnel( void )
Inhabilitar túnel principal
Inhabilitar el túnel principal
.EnablePrimaryTunnel
void EnablePrimaryTunnel( void )
Habilitar el túnel principal
Habilitar el túnel principal
.GetAgentStateName
const char * GetAgentStateName( const AgentState state )
Obtén el nombre de WeaveTunnelAgentState.
GetTimeMsec
uint64_t GetTimeMsec( void )
Obtiene la hora del sistema en milisegundos.
Obtiene la hora del sistema o la hora monótona en milisegundos si la hora del sistema no está disponible.
GetWeaveTunnelAgentState
AgentState GetWeaveTunnelAgentState( void )
Obtén el estado de TunnelAgent.
Detalles | |
---|---|
Resultado que se muestra |
AgentState: El estado actual de WeaveTunnelAgent.
|
Init
WEAVE_ERROR Init( InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, WeaveAuthMode authMode, WeaveServiceManager *svcMgr, const char *intfName, uint8_t role, void *appContext )
Inicializa el agente de túnel.
Esto crea el objeto de extremo de Tunnel, configura la interfaz del túnel, inicializa las variables de miembro, las devoluciones de llamada y WeaveTunnelControl.
Init
WEAVE_ERROR Init( InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext )
Inicializa el agente de túnel.
Esto crea el objeto de extremo de Tunnel, configura la interfaz del túnel, inicializa las variables de miembro, las devoluciones de llamada y WeaveTunnelControl.
IsPrimaryTunnelEnabled
bool IsPrimaryTunnelEnabled( void ) const
Verifica si el túnel principal está habilitado.
Detalles | |
---|---|
Resultado que se muestra |
true si está habilitada; de lo contrario, false.
|
IsPrimaryTunnelRoutingRestricted
bool IsPrimaryTunnelRoutingRestricted( void )
Comprueba si el túnel principal está sujeto a restricciones de enrutamiento del servicio.
Verifica si el túnel principal está sujeto a restricciones de enrutamiento.
Detalles | |
---|---|
Resultado que se muestra |
true si se establece el túnel principal, pero está sujeto a restricciones de enrutamiento del servicio.
|
IsTunnelRoutingRestricted
bool IsTunnelRoutingRestricted( void )
Comprueba si el túnel está sujeto a restricciones de enrutamiento del servicio.
Comprueba si el túnel está sujeto a restricciones de enrutamiento.
Detalles | |
---|---|
Resultado que se muestra |
true si se establece el túnel principal o de respaldo, y cualquiera de ellos está sujeto a restricciones de enrutamiento por parte del servicio.
|
NetworkOnlineCheckResult
void NetworkOnlineCheckResult( TunnelType tunType, bool isOnline )
Es la devolución de llamada que invoca la plataforma cuando el resultado del verificador en línea de la red está disponible.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
ResetPrimaryReconnectBackoff
WEAVE_ERROR ResetPrimaryReconnectBackoff( bool reconnectImmediately )
Restablece el tiempo de reconexión del túnel principal.
.Detalles | |||
---|---|---|---|
Parámetros |
|
SetAuthMode
void SetAuthMode( const WeaveAuthMode authMode )
Configura el WeaveAuthMode para el túnel.
Detalles | |||
---|---|---|---|
Parámetros |
|
SetDestination
void SetDestination( const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort )
Configura el nodeId de destino, la dirección IP y el puerto del túnel.
Configura el nodeId y la IPAddress de destino para el túnel.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
SetTunnelingDeviceRole
void SetTunnelingDeviceRole( const Role role )
Configura el rol Dispositivo de túnel(BorderGateway, StandaloneDevice, MobileDevice) para el túnel.
Establece el rol del dispositivo de tunelización(BorderGateway vs. Independiente) para el túnel.
Detalles | |||
---|---|---|---|
Parámetros |
|
Cierre
WEAVE_ERROR Shutdown( void )
Apaga el agente de túnel.
De esta manera, se elimina la conexión con el Service y se cierra la interfaz de TunEndPoint después de quitar las direcciones y rutas asociadas con la interfaz del túnel.
De esta manera, se elimina la conexión con el Service y se cierra la interfaz de TunEndPoint después de quitar las direcciones y rutas asociadas con la interfaz del túnel.
Detalles | |
---|---|
Resultado que se muestra |
WEAVE_NO_ERROR si la operación se realiza correctamente; de lo contrario, se usará el tipo de WEAVE_ERROR correspondiente.
|
StartServiceTunnel
WEAVE_ERROR StartServiceTunnel( void )
Inicia el túnel de servicio.
Esto habilita el túnel y trata de establecer una conexión con el Service.
Con esta acción, se intenta establecer una conexión con el servicio y se establece la ruta de la estructura hacia la interfaz del túnel.
Detalles | |
---|---|
Resultado que se muestra |
WEAVE_NO_ERROR si la operación se realiza correctamente; de lo contrario, se usará el tipo de WEAVE_ERROR correspondiente.
|
StartServiceTunnel
WEAVE_ERROR StartServiceTunnel( uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode )
Inicia el túnel de servicio.
Esto habilita el túnel y trata de establecer una conexión con el Service.
StopServiceTunnel
void StopServiceTunnel( void )
Cierra la conexión del túnel al servicio.
StopServiceTunnel
void StopServiceTunnel( WEAVE_ERROR err )
Cierra la conexión del túnel al servicio.
Detalles | |||
---|---|---|---|
Parámetros |
|
WeaveTunnelAgent
WeaveTunnelAgent( void )
Funciones estáticas públicas
RecvdFromShortcutUDPTunnel
void RecvdFromShortcutUDPTunnel( WeaveMessageLayer *msgLayer, PacketBuffer *message )
Controlador para recibir paquetes IPv6 tunelizados a través del túnel UDP de acceso directo entre la puerta de enlace fronteriza y el dispositivo móvil, y reenviarlos a la interfaz de Tunnel EndPoint después de desencapsular el paquete IPv6 sin procesar desde el encabezado del túnel.
Controlador para recibir paquetes IPv6 en túnel desde la conexión TCP del Service y reenviar a la interfaz del extremo de túnel después de desencapsular el paquete IPv6 sin procesar desde el encabezado del túnel.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
RecvdFromTunnelEndPoint
void RecvdFromTunnelEndPoint( TunEndPoint *tunEP, PacketBuffer *message )
Controlador para recibir paquetes IPv6 de la interfaz de Tunnel EndPoint y reenviarlos, ya sea al Service a través de la conexión TCP del Service después de encapsular el paquete IPv6 dentro del encabezado del túnel o al cliente de dispositivo móvil a través de un túnel de atajos.
Controlador para recibir paquetes IPv6 desde la interfaz de Tunnel EndPoint y reenviarlos, ya sea al Service a través de la conexión TCP del Service después de encapsular el paquete IPv6 dentro del encabezado del túnel o al cliente de dispositivo móvil a través de un túnel local.
Si la conexión del servicio aún no ha finalizado, el mensaje estará en cola hasta que se configure la conexión. Para la tunelización al dispositivo cliente móvil, se hace referencia a la tabla de vecinos de nexthop.
Si la conexión del servicio aún no ha finalizado, el mensaje estará en cola hasta que se configure la conexión. Para la tunelización al dispositivo cliente móvil, se hace referencia a la tabla de vecinos de nexthop.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|