nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent

Podsumowanie

Konstruktory i niszczyciele

WeaveTunnelAgent(void)

Typy publiczne

AgentState{
  kState_NotInitialized = 0,
  kState_Initialized_NoTunnel = 1,
  kState_PrimaryTunModeEstablished = 2,
  kState_BkupOnlyTunModeEstablished = 3,
  kState_PrimaryAndBkupTunModeEstablished = 4
}
enum | typ wyliczeniowy
stanów Agenta tunelu w odniesieniu do jego połączeń z Usługą.
AgentState typedef
stanów Agenta tunelu w odniesieniu do jego połączeń z Usługą.
OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt) typedef
void(*
Wskaźnik funkcji do modułu obsługi ustawiony przez wyższą warstwę w przypadku odebrania ponownego połączenia tunelowego z usługi.
OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt) typedef
void(*
Wskaźnik funkcji do modułu obsługi ustawiony przez wyższą warstwę w celu reagowania na różne powiadomienia dotyczące tunelu do usługi.
PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt) typedef
void(*
Wskaźnik funkcji prowadzący do modułu obsługi udostępnionego przez aplikację, który służy do sprawdzania online na poziomie sieci.
WeaveTunnelFlags{
  kTunnelFlag_PrimaryEnabled = 0x01,
  kTunnelFlag_BackupEnabled = 0x02,
  kTunnelFlag_PrimaryRestricted = 0x04,
  kTunnelFlag_BackupRestricted = 0x08
}
enum | typ wyliczeniowy
Bity flagi tunelu Weave Tunnel.
WeaveTunnelFlags typedef
Bity flagi tunelu Weave Tunnel.

Atrybuty publiczne

NetworkOnlineCheck
OnServiceTunReconnectNotify
OnServiceTunStatusNotify
Wskaźnik funkcji do modułu obsługi ustawiony przez wyższą warstwę w celu reagowania na różne powiadomienia dotyczące tunelu do usługi.
mServiceMgr
WeaveServiceManager *
Wskaźnik menedżera usługi służący do wyszukiwania usługi i łączenia się z nią.

Funkcje publiczne

DisablePrimaryTunnel(void)
void
Wyłącz tunel główny.
EnablePrimaryTunnel(void)
void
Włącz tunel główny.
GetAgentStateName(const AgentState state)
const char *
Pobierz nazwę WeaveTunnelAgentState.
GetTimeMsec(void)
uint64_t
Podaj czas systemowy w milisekundach.
GetWeaveTunnelAgentState(void)
Pobieranie stanu TunnelAgent.
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, WeaveAuthMode authMode, WeaveServiceManager *svcMgr, const char *intfName, uint8_t role, void *appContext)
Zainicjuj agenta tunelu.
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext)
Zainicjuj agenta tunelu.
IsPrimaryTunnelEnabled(void) const
bool
Sprawdź, czy tunel główny jest włączony.
IsPrimaryTunnelRoutingRestricted(void)
bool
Sprawdź, czy tunel główny podlega ograniczeniom routingu przez usługę.
IsTunnelRoutingRestricted(void)
bool
Sprawdź, czy tunel podlega ograniczeniom routingu przez usługę.
NetworkOnlineCheckResult(TunnelType tunType, bool isOnline)
void
Wywołanie zwrotne wywoływane przez platformę, gdy dostępny jest wynik sprawdzania online sieci.
ResetPrimaryReconnectBackoff(bool reconnectImmediately)
Zresetuj czas ponownego połączenia dla tunelu głównego.
SetAuthMode(const WeaveAuthMode authMode)
void
Ustaw WeaveAuthMode dla tunelu.
SetDestination(const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort)
void
Ustaw identyfikator węzła docelowego, adres IP i port tunelu.
SetTunnelingDeviceRole(const Role role)
void
Ustaw rolę urządzenia z tunelowaniem(BorderGateway, StandaloneDevice, MobileDevice) dla tunelu.
Shutdown(void)
Wyłącz agenta tunelu.
StartServiceTunnel(void)
Uruchom tunel usługi.
StartServiceTunnel(uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode)
Uruchom tunel usługi.
StopServiceTunnel(void)
void
Zamknij połączenie tunelu z usługą.
StopServiceTunnel(WEAVE_ERROR err)
void
Zamknij połączenie tunelu z usługą.

Publiczne funkcje statyczne

RecvdFromShortcutUDPTunnel(WeaveMessageLayer *msgLayer, PacketBuffer *message)
void
Moduł obsługi do odbierania tunelowanych pakietów IPv6 przez tunel UDP skrótu między bramą graniczną a urządzeniem mobilnym oraz do przekazywania ich do interfejsu Tunnel EndPoint po usunięciu nieprzetworzonego pakietu IPv6 z nagłówka tunelu.
RecvdFromTunnelEndPoint(TunEndPoint *tunEP, PacketBuffer *message)
void
Moduł obsługi do odbierania pakietów IPv6 z interfejsu Tunnel EndPoint i przekazywania ich do usługi przez połączenie TCP usługi po zawarciu pakietu IPv6 w nagłówku tunelu lub do klienta mobilnego przez tunel skrótu.

Typy publiczne

AgentState

 AgentState

Stany agenta tunelu w odniesieniu do jego połączeń z Usługą.

Właściwości
kState_BkupOnlyTunModeEstablished

Służy do wskazywania, że tunel kopii zapasowej do usługi został ustanowiony.

kState_Initialized_NoTunnel

Służy do wskazania, że agent tunelu został zainicjowany, ale nie ustanowiono tunelu.

kState_NotInitialized

Służy do wskazania, że agent tunelu nie został zainicjowany.

kState_PrimaryAndBkupTunModeEstablished

Służy do wskazania, że ustanowiono zarówno tunel główny, jak i tunel zapasowy.

kState_PrimaryTunModeEstablished

Służy do wskazywania, że podstawowy tunel do usługi został ustanowiony.

AgentState

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::AgentState AgentState

Stany agenta tunelu w odniesieniu do jego połączeń z Usługą.

OnServiceTunnelReconnectNotifyFunct

void(* OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)

Wskaźnik funkcji do modułu obsługi ustawiony przez wyższą warstwę w przypadku odebrania ponownego połączenia tunelowego z usługi.

Szczegóły
Parametry
[in] tunType
Typ tunelu: Główny lub zapasowy.
[in] reconnectHost
Nazwa hosta udostępniona przez usługę w celu ponownego połączenia.
[in] reconnectPort
Port docelowy udostępniany przez usługę, z którym ma nastąpić ponowne połączenie.
[in] appCtxt
Wskaźnik do obiektu kontekstu aplikacji

OnServiceTunnelStatusNotifyFunct

void(* OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)

Wskaźnik funkcji do modułu obsługi ustawiony przez wyższą warstwę w celu reagowania na różne powiadomienia dotyczące tunelu do usługi.

Szczegóły
Parametry
[in] reason
Powód powiadomienia o stanie zgłoszenia.
[in] err
Wystąpił błąd weave (jeśli występuje)
[in] appCtxt
Wskaźnik do obiektu kontekstu aplikacji

PlatformNetworkOnlineCheck

void(* PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)

Wskaźnik funkcji do modułu obsługi udostępnionego przez aplikację, który służy do sprawdzania online na poziomie sieci.

Szczegóły
Parametry
[in] tunType
Typ tunelu: Główny lub zapasowy.
[in] appCtxt
Wskaźnik do obiektu kontekstu aplikacji

WeaveTunnelFlags

 WeaveTunnelFlags

Elementy flagi tunelu Weave Tunnel.

Właściwości
kTunnelFlag_BackupEnabled

Ustaw, kiedy tunel zapasowy jest włączony.

kTunnelFlag_BackupRestricted

Ustaw, kiedy ograniczenie routingu tunelu zapasowego jest ograniczone.

kTunnelFlag_PrimaryEnabled

Ustaw, kiedy tunel główny jest włączony.

kTunnelFlag_PrimaryRestricted

Ustaw, kiedy ograniczenie routingu przez tunel główny jest ograniczone.

WeaveTunnelFlags

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::WeaveTunnelFlags WeaveTunnelFlags

Elementy flagi tunelu Weave Tunnel.

Atrybuty publiczne

NetworkOnlineCheck

PlatformNetworkOnlineCheck NetworkOnlineCheck

OnServiceTunReconnectNotify

OnServiceTunnelReconnectNotifyFunct OnServiceTunReconnectNotify

OnServiceTunStatusNotify

OnServiceTunnelStatusNotifyFunct OnServiceTunStatusNotify

Wskaźnik funkcji do modułu obsługi ustawiony przez wyższą warstwę w celu reagowania na różne powiadomienia dotyczące tunelu do usługi.

mServiceMgr

WeaveServiceManager * mServiceMgr

Wskaźnik menedżera usługi służący do wyszukiwania usługi i łączenia się z nią.

Funkcje publiczne

DisablePrimaryTunnel

void DisablePrimaryTunnel(
  void
)

Wyłącz tunel główny.

Wyłącz tunel główny.

.

EnablePrimaryTunnel

void EnablePrimaryTunnel(
  void
)

Włącz tunel główny.

Włącz tunel główny.

.

GetAgentStateName

const char * GetAgentStateName(
  const AgentState state
)

Pobierz nazwę WeaveTunnelAgentState.

GetTimeMsec

uint64_t GetTimeMsec(
  void
)

Podaj czas systemowy w milisekundach.

Jeśli czas systemu jest niedostępny, podaj czas systemowy lub czas monotonny w milisekundach.

.

GetWeaveTunnelAgentState

AgentState GetWeaveTunnelAgentState(
  void
)

Pobieranie stanu TunnelAgent.

Szczegóły
Zwroty
AgentState – określa bieżący stan obiektu WeaveTunnelAgent.

Init

WEAVE_ERROR Init(
  InetLayer *inet,
  WeaveExchangeManager *exchMgr,
  uint64_t dstNodeId,
  WeaveAuthMode authMode,
  WeaveServiceManager *svcMgr,
  const char *intfName,
  uint8_t role,
  void *appContext
)

Zainicjuj agenta tunelu.

Spowoduje to utworzenie obiektu punktu końcowego tunelu, skonfigurowanie interfejsu tunelu, zainicjowanie zmiennych użytkownika, wywołania zwrotne i WeaveTunnelControl.

Init

WEAVE_ERROR Init(
  InetLayer *inet,
  WeaveExchangeManager *exchMgr,
  uint64_t dstNodeId,
  IPAddress dstIPAddr,
  WeaveAuthMode authMode,
  const char *intfName,
  uint8_t role,
  void *appContext
)

Zainicjuj agenta tunelu.

Spowoduje to utworzenie obiektu punktu końcowego tunelu, skonfigurowanie interfejsu tunelu, zainicjowanie zmiennych użytkownika, wywołania zwrotne i WeaveTunnelControl.

IsPrimaryTunnelEnabled

bool IsPrimaryTunnelEnabled(
  void
) const 

Sprawdź, czy tunel główny jest włączony.

Szczegóły
Zwroty
true (prawda), jeśli jest włączona, a w przeciwnym razie – ma wartość false (fałsz).

IsPrimaryTunnelRoutingRestricted

bool IsPrimaryTunnelRoutingRestricted(
  void
)

Sprawdź, czy tunel główny podlega ograniczeniom routingu przez usługę.

Sprawdź, czy tunel główny podlega ograniczeniom routingu.

Szczegóły
Zwroty
true (prawda), jeśli tunel główny został ustanowiony, ale usługa podlega ograniczeniom routingu przez usługę.

IsTunnelRoutingRestricted

bool IsTunnelRoutingRestricted(
  void
)

Sprawdź, czy tunel podlega ograniczeniom routingu przez usługę.

Sprawdź, czy tunel podlega ograniczeniom routingu.

Szczegóły
Zwroty
true (prawda), jeśli ustanowiono tunel główny lub zapasowy i obie usługi podlegają ograniczeniom routingu przez usługę.

NetworkOnlineCheckResult

void NetworkOnlineCheckResult(
  TunnelType tunType,
  bool isOnline
)

Wywołanie zwrotne wywoływane przez platformę, gdy dostępny jest wynik sprawdzania online sieci.

Szczegóły
Parametry
[in] tunType
Typ tunelu odpowiadający interfejsowi, w którym sprawdza się połączenie sieciowe.
[in] isOnline
Wartość „prawda”, jeśli sieć jest online, albo „fałsz”, jeśli jest inaczej.

ResetPrimaryReconnectBackoff

WEAVE_ERROR ResetPrimaryReconnectBackoff(
  bool reconnectImmediately
)

Zresetuj czas ponownego połączenia dla tunelu głównego.

Szczegóły
Parametry
[in] reconnectImmediately
Wartość „prawda”, jeśli wymagane jest natychmiastowe ponowne połączenie. W przeciwnym razie używana jest konfiguracja czasu oczekiwania na potwierdzenie.

SetAuthMode

void SetAuthMode(
  const WeaveAuthMode authMode
)

Ustaw WeaveAuthMode dla tunelu.

Szczegóły
Parametry
[in] authMode
Tryb uwierzytelniania Weave używany z peerem.

SetDestination

void SetDestination(
  const uint64_t nodeId,
  const IPAddress ipAddr,
  const uint16_t servicePort
)

Ustaw identyfikator węzła docelowego, adres IP i port tunelu.

Ustaw identyfikator węzła docelowego i adres IP tunelu.

Szczegóły
Parametry
[in] nodeId
Identyfikator węzła docelowego.
[in] ipAddr
Adres IP węzła docelowego.
[in] servicePort
Port węzła docelowego.

SetTunnelingDeviceRole

void SetTunnelingDeviceRole(
  const Role role
)

Ustaw rolę urządzenia z tunelowaniem(BorderGateway, StandaloneDevice, MobileDevice) dla tunelu.

Ustaw rolę urządzenia z tunelowaniem(BorderGateway lub samodzielny) dla tunelu.

Szczegóły
Parametry
[in] role
Rola przyjęta przez agenta tunelu; Brama graniczna, samodzielna lub urządzenie mobilne.

Wyłączono

WEAVE_ERROR Shutdown(
  void
)

Wyłącz agenta tunelu.

Spowoduje to przerwanie połączenia z usługą i zamknięcie interfejsu TunEndPoint po usunięciu adresów i tras powiązanych z interfejsem tunelu.

Spowoduje to przerwanie połączenia z usługą i zamknięcie interfejsu TunEndPoint po usunięciu adresów i tras powiązanych z interfejsem tunelu.

Szczegóły
Zwroty
WEAVE_NO_ERROR, w przeciwnym razie odpowiada typ WEAVE_ERROR.

StartServiceTunnel

WEAVE_ERROR StartServiceTunnel(
  void
)

Uruchom tunel usługi.

Spowoduje to włączenie tunelu i próbę nawiązania połączenia z usługą.

Próba nawiązania połączenia z usługą oraz ustawienia trasy tkaniny do interfejsu tunelu.

Szczegóły
Zwroty
WEAVE_NO_ERROR, w przeciwnym razie odpowiada typ WEAVE_ERROR.

StartServiceTunnel

WEAVE_ERROR StartServiceTunnel(
  uint64_t dstNodeId,
  IPAddress dstIPAddr,
  WeaveAuthMode authMode
)

Uruchom tunel usługi.

Spowoduje to włączenie tunelu i próbę nawiązania połączenia z usługą.

StopServiceTunnel

void StopServiceTunnel(
  void
)

Zamknij połączenie tunelu z usługą.

StopServiceTunnel

void StopServiceTunnel(
  WEAVE_ERROR err
)

Zamknij połączenie tunelu z usługą.

Szczegóły
Parametry
[in] err
WEAVE_NO_ERROR, jeśli nie ma konkretnego powodu dla tego żądania StopServiceTunnel. W przeciwnym razie informacje o przyczynie błędu zostaną przekazane.

WeaveTunnelAgent

 WeaveTunnelAgent(
  void
)

Publiczne funkcje statyczne

RecvdFromShortcutUDPTunnel

void RecvdFromShortcutUDPTunnel(
  WeaveMessageLayer *msgLayer,
  PacketBuffer *message
)

Moduł obsługi do odbierania tunelowanych pakietów IPv6 przez tunel UDP skrótu między bramą graniczną a urządzeniem mobilnym oraz do przekazywania ich do interfejsu Tunnel EndPoint po usunięciu nieprzetworzonego pakietu IPv6 z nagłówka tunelu.

Moduł obsługi do odbierania tunelowanych pakietów IPv6 z połączenia TCP usługi i przekazywania ich do interfejsu punktu końcowego tunelu po usunięciu nieprzetworzonego pakietu IPv6 z nagłówka tunelu.

Szczegóły
Parametry
[in] con
Wskaźnik do obiektu WeaveConnection.
[in] msgInfo
Wskaźnik do obiektu WeaveMessageInfo.
[in] message
Wskaźnik do obiektu PacketBuffer zawierającego tunelowany pakiet IPv6.

RecvdFromTunnelEndPoint

void RecvdFromTunnelEndPoint(
  TunEndPoint *tunEP,
  PacketBuffer *message
)

Moduł obsługi do odbierania pakietów IPv6 z interfejsu Tunnel EndPoint i przekazywania ich do usługi przez połączenie TCP usługi po zawarciu pakietu IPv6 w nagłówku tunelu lub do klienta mobilnego przez tunel skrótu.

Moduł obsługi do odbierania pakietów IPv6 z interfejsu Tunnel EndPoint i przekazywania ich do usługi przez połączenie TCP usługi po zawarciu pakietu IPv6 w nagłówku tunelu lub do klienta mobilnego przez tunel lokalny.

Jeśli połączenie z usługą nie zostało jeszcze nawiązane, wiadomość trafi do kolejki do czasu jego skonfigurowania. Podczas tunelowania do urządzenia mobilnego klienta odwołuje się tabela sąsiadów następnego przeskoku.

Jeśli połączenie z usługą nie zostało jeszcze nawiązane, wiadomość trafi do kolejki do czasu jego skonfigurowania. Podczas tunelowania do urządzenia mobilnego klienta odwołuje się tabela sąsiadów następnego przeskoku.

Szczegóły
Parametry
[in] tunEP
Wskaźnik do obiektu TunEndPoint.
[in] message
Wskaźnik do obiektu PacketBuffer zawierającego nieprzetworzony pakiet IPv6.