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 servicio. |
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 hacia el 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 del túnel de Weave. |
WeaveTunnelFlags
|
typedef Bits de bandera del túnel de Weave. |
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 hacia el Service.
|
mServiceMgr
|
WeaveServiceManager *
Puntero de Service Manager que se usa para buscar servicios y conectarse a él.
|
Funciones públicas |
|
---|---|
DisablePrimaryTunnel(void)
|
void
Inhabilitar el túnel principal
|
EnablePrimaryTunnel(void)
|
void
Habilitar el túnel principal
|
GetAgentStateName(const AgentState state)
|
const char *
Obtén el nombre WeaveTunnelAgentState.
|
GetTimeMsec(void)
|
uint64_t
Obtén 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 las 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 WeaveAuthMode para el túnel.
|
SetDestination(const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort)
|
void
Establece el nodeId de destino, la dirección IP y el puerto para el túnel.
|
SetTunnelingDeviceRole(const Role role)
|
void
Establece el rol del dispositivo de tunelización(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 de túnel con el servicio.
|
StopServiceTunnel(WEAVE_ERROR err)
|
void
Cierra la conexión de túnel con el servicio.
|
Funciones estáticas públicas |
|
---|---|
RecvdFromShortcutUDPTunnel(WeaveMessageLayer *msgLayer, PacketBuffer *message)
|
void
El controlador recibirá paquetes IPv6 en túnel a través del túnel UDP de acceso directo entre la puerta de enlace fronteriza y el dispositivo móvil, y reenviará a la interfaz del extremo del túnel 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 móvil a través de un túnel de acceso directo.
|
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 se inicializó el agente de túnel, pero no se estableció ningún túnel. |
kState_NotInitialized
|
Se utiliza 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 para 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 servicio.
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 hacia el 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 del túnel de Weave.
Propiedades | |
---|---|
kTunnelFlag_BackupEnabled
|
Se establece cuando el túnel de copia de seguridad está habilitado. |
kTunnelFlag_BackupRestricted
|
Se establece cuando el túnel de respaldo tiene un enrutamiento restringido. |
kTunnelFlag_PrimaryEnabled
|
Se establece cuando el túnel principal está habilitado. |
kTunnelFlag_PrimaryRestricted
|
Se establece cuando el túnel principal tiene un enrutamiento restringido. |
WeaveTunnelFlags
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::WeaveTunnelFlags WeaveTunnelFlags
Bits de bandera del túnel de Weave.
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 hacia el Service.
mServiceMgr
WeaveServiceManager * mServiceMgr
Puntero de Service Manager que se usa para buscar servicios y conectarse a él.
Funciones públicas
DisablePrimaryTunnel
void DisablePrimaryTunnel( void )
Inhabilitar el túnel principal
Inhabilita el túnel principal.
EnablePrimaryTunnel
void EnablePrimaryTunnel( void )
Habilitar el túnel principal
Habilita el túnel principal.
GetAgentStateName
const char * GetAgentStateName( const AgentState state )
Obtén el nombre WeaveTunnelAgentState.
GetTimeMsec
uint64_t GetTimeMsec( void )
Obtén la hora del sistema en milisegundos.
Obtén 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 | |
---|---|
Qué muestra |
AgentState es 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 Tunnel, configura la interfaz del túnel, inicializa las variables de los miembros, 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 Tunnel, configura la interfaz del túnel, inicializa las variables de los miembros, las devoluciones de llamada y WeaveTunnelControl.
IsPrimaryTunnelEnabled
bool IsPrimaryTunnelEnabled( void ) const
Verifica si el túnel principal está habilitado.
Detalles | |
---|---|
Qué muestra |
Es verdadero si está habilitado; de lo contrario, es falso.
|
IsPrimaryTunnelRoutingRestricted
bool IsPrimaryTunnelRoutingRestricted( void )
Comprueba si el túnel principal está sujeto a las restricciones de enrutamiento del servicio.
Comprueba si el túnel principal está sujeto a restricciones de enrutamiento.
Detalles | |
---|---|
Qué muestra |
Es verdadero si el túnel principal se establece, pero está sujeto a las 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 | |
---|---|
Qué muestra |
true si se establece el túnel principal o el de respaldo, y ambos están sujetos 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 WeaveAuthMode para el túnel.
Detalles | |||
---|---|---|---|
Parámetros |
|
SetDestination
void SetDestination( const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort )
Establece el nodeId de destino, la dirección IP y el puerto para el túnel.
Establece el nodeId y la dirección IP de destino para el túnel.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
SetTunnelingDeviceRole
void SetTunnelingDeviceRole( const Role role )
Establece el rol del dispositivo de tunelización(BorderGateway, StandaloneDevice, MobileDevice) para el túnel.
Establece el rol del dispositivo de tunelización(BorderGateway o independiente) para el túnel.
Detalles | |||
---|---|---|---|
Parámetros |
|
Cierre
WEAVE_ERROR Shutdown( void )
Apaga el agente de túnel.
Esta acción finaliza la conexión con el Service y cierra la interfaz de TunEndPoint después de quitar las direcciones y rutas asociadas con la interfaz del túnel.
Esta acción finaliza la conexión con el Service y cierra la interfaz de TunEndPoint después de quitar las direcciones y rutas asociadas con la interfaz del túnel.
Detalles | |
---|---|
Qué muestra |
WEAVE_NO_ERROR si la operación se realiza correctamente; de lo contrario, se trata de un tipo 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 Service y también se establece la ruta de la estructura a la interfaz del túnel.
Detalles | |
---|---|
Qué muestra |
WEAVE_NO_ERROR si la operación se realiza correctamente; de lo contrario, se trata de un tipo 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 de túnel con el servicio.
StopServiceTunnel
void StopServiceTunnel( WEAVE_ERROR err )
Cierra la conexión de túnel con el servicio.
Detalles | |||
---|---|---|---|
Parámetros |
|
WeaveTunnelAgent
WeaveTunnelAgent( void )
Funciones estáticas públicas
RecvdFromShortcutUDPTunnel
void RecvdFromShortcutUDPTunnel( WeaveMessageLayer *msgLayer, PacketBuffer *message )
El controlador recibirá paquetes IPv6 en túnel a través del túnel UDP de acceso directo entre la puerta de enlace fronteriza y el dispositivo móvil, y reenviará a la interfaz del extremo del túnel después de desencapsular el paquete IPv6 sin procesar desde el encabezado del túnel.
Controlador para recibir paquetes IPv6 en túnel de la conexión TCP del servicio 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 móvil a través de un túnel de acceso directo.
Controlador para recibir paquetes IPv6 de la interfaz de Tunnel EndPoint y reenviarlos, ya sea al servicio a través de la conexión TCP del servicio después de encapsular el paquete IPv6 dentro del encabezado del túnel o al cliente móvil a través de un túnel local.
Si la conexión del servicio aún no está activa, el mensaje se pondrá 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 vecino del siguiente salto.
Si la conexión del servicio aún no está activa, el mensaje se pondrá 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 vecino del siguiente salto.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|