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

Özet

Oluşturucular ve Yıkıcılar

WeaveTunnelAgent(void)

Herkese açık türler

AgentState{
  kState_NotInitialized = 0,
  kState_Initialized_NoTunnel = 1,
  kState_PrimaryTunModeEstablished = 2,
  kState_BkupOnlyTunModeEstablished = 3,
  kState_PrimaryAndBkupTunModeEstablished = 4
}
enum
Tünel Aracısı'nın Hizmet'le olan bağlantılarıyla ilgili durumu.
AgentState typedef
Tünel Aracısı'nın Hizmet'le olan bağlantılarıyla ilgili durumu.
OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt) typedef
void(*
Hizmet'ten bir Tünel Yeniden Bağlanma işlemi alındığında, daha yüksek bir katman tarafından ayarlanan işleyiciye işlev işaretçisi.
OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt) typedef
void(*
Hizmete tünelle ilgili çeşitli bildirimler üzerinde işlem yapmak için daha yüksek bir katman tarafından ayarlanmış işlev işaretçisi.
PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt) typedef
void(*
Uygulama tarafından ağ düzeyinde online kontrol yapmak için sağlanan bir işleyiciye işlev işaretçisi.
WeaveTunnelFlags{
  kTunnelFlag_PrimaryEnabled = 0x01,
  kTunnelFlag_BackupEnabled = 0x02,
  kTunnelFlag_PrimaryRestricted = 0x04,
  kTunnelFlag_BackupRestricted = 0x08
}
enum
Weave Tunnel işaret bitleri.
WeaveTunnelFlags typedef
Weave Tunnel işaret bitleri.

Herkese açık özellikler

NetworkOnlineCheck
OnServiceTunReconnectNotify
OnServiceTunStatusNotify
Hizmete tünelle ilgili çeşitli bildirimler üzerinde işlem yapmak için daha yüksek bir katman tarafından ayarlanmış işlev işaretçisi.
mServiceMgr
WeaveServiceManager *
Hizmet aramak ve hizmete bağlanmak için kullanılacak Service Manager işaretçisi.

Kamu işlevleri

DisablePrimaryTunnel(void)
void
Birincil Tüneli devre dışı bırak.
EnablePrimaryTunnel(void)
void
Birincil Tüneli Etkinleştir.
GetAgentStateName(const AgentState state)
const char *
WeaveTunnelAgentState adını alın.
GetTimeMsec(void)
uint64_t
Sistem saatini milisaniye cinsinden alın.
GetWeaveTunnelAgentState(void)
TunnelAgent durumunu öğrenin.
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, WeaveAuthMode authMode, WeaveServiceManager *svcMgr, const char *intfName, uint8_t role, void *appContext)
Tünel aracısını başlatın.
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext)
Tünel aracısını başlatın.
IsPrimaryTunnelEnabled(void) const
bool
Birincil tünelin etkin olup olmadığını kontrol edin.
IsPrimaryTunnelRoutingRestricted(void)
bool
Birincil tünelin hizmet tarafından yönlendirme kısıtlamalarına tabi olup olmadığını kontrol edin.
IsTunnelRoutingRestricted(void)
bool
Tünelin, hizmetin yönlendirme kısıtlamalarına tabi olup olmadığını kontrol edin.
NetworkOnlineCheckResult(TunnelType tunType, bool isOnline)
void
Ağ online denetleyicisinin sonucu kullanılabilir olduğunda platform tarafından çağrılan geri çağırma.
ResetPrimaryReconnectBackoff(bool reconnectImmediately)
Birincil tünel için yeniden bağlanma süresini sıfırlayın.
SetAuthMode(const WeaveAuthMode authMode)
void
Tünel için WeaveAuthMode'u ayarlayın.
SetDestination(const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort)
void
Tünel için hedef NodeId, IPAddress ve bağlantı noktasını ayarlayın.
SetTunnelingDeviceRole(const Role role)
void
Tünel için Tünel cihazı rolünü(BorderGateway, BağımsızCihaz, MobileDevice) ayarlayın.
Shutdown(void)
Tünel Aracısı'nı kapatın.
StartServiceTunnel(void)
Hizmet Tüneli'ni başlatın.
StartServiceTunnel(uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode)
Hizmet Tüneli'ni başlatın.
StopServiceTunnel(void)
void
Hizmet ile Tünel bağlantısını kapatın.
StopServiceTunnel(WEAVE_ERROR err)
void
Hizmet ile Tünel bağlantısını kapatın.

Herkese açık statik işlevler

RecvdFromShortcutUDPTunnel(WeaveMessageLayer *msgLayer, PacketBuffer *message)
void
Sınır ağ geçidi ile mobil cihaz arasındaki kısayol UDP tüneli üzerinden tünelli IPv6 paketlerini alacak ve ham IPv6 paketinin tünel başlığının içinden kapsülünü kaldırdıktan sonra Tünel EndPoint arayüzüne iletecek işleyici.
RecvdFromTunnelEndPoint(TunEndPoint *tunEP, PacketBuffer *message)
void
Tünel Uç Noktası arayüzünden IPv6 paketlerini alıp iletecek işleyici. IPv6 paketini tünel başlığının içine yerleştirdikten sonra Hizmet TCP bağlantısı üzerinden Hizmet'e veya bir kısayol tüneli üzerinden Mobil istemciye yönlendirir.

Herkese açık türler

AgentState

 AgentState

Tünel Aracısı'nın Hizmet'le olan bağlantılarıyla ilgili durumu.

Özellikler
kState_BkupOnlyTunModeEstablished

Hizmete giden yedek tünelin oluşturulduğunu belirtmek için kullanılır.

kState_Initialized_NoTunnel

Tünel Aracısı'nın başlatıldığını ancak tünel kurulmadığını belirtmek için kullanılır.

kState_NotInitialized

Tünel Aracısı'nın başlatılmadığını belirtmek için kullanılır.

kState_PrimaryAndBkupTunModeEstablished

Hem Birincil hem de Yedek tünelin oluşturulduğunu belirtmek için kullanılır.

kState_PrimaryTunModeEstablished

Hizmete giden Birincil tünelin oluşturulduğunu belirtmek için kullanılır.

AgentState

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

Tünel Aracısı'nın Hizmet'le olan bağlantılarıyla ilgili durumu.

OnServiceTunnelReconnectNotifyFunct

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

Hizmet'ten bir Tünel Yeniden Bağlanma işlemi alındığında, daha yüksek bir katman tarafından ayarlanan işleyiciye işlev işaretçisi.

Ayrıntılar
Parametreler
[in] tunType
Tünel türü (Birincil veya Yedek).
[in] reconnectHost
Yeniden bağlanılacak Hizmet tarafından sağlanan ana makine adı.
[in] reconnectPort
Hizmet tarafından yeniden bağlanılacak hedef bağlantı noktası.
[in] appCtxt
Uygulama bağlamı nesnesine yönelik işaretçi

OnServiceTunnelStatusNotifyFunct

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

Hizmete tünelle ilgili çeşitli bildirimler üzerinde işlem yapmak için daha yüksek bir katman tarafından ayarlanmış işlev işaretçisi.

Ayrıntılar
Parametreler
[in] reason
Başvuruya gönderilen durum bildiriminin nedeni.
[in] err
Varsa, hata oluştu
[in] appCtxt
Uygulama bağlamı nesnesine yönelik işaretçi

PlatformNetworkOnlineCheck

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

Uygulama tarafından ağ düzeyinde online kontrol yapmak için sağlanan bir işleyiciye işlev işaretçisi.

Ayrıntılar
Parametreler
[in] tunType
Tünel türü (Birincil veya Yedek).
[in] appCtxt
Uygulama bağlamı nesnesine yönelik işaretçi

WeaveTunnelFlags

 WeaveTunnelFlags

Weave Tunnel işaret bitleri.

Özellikler
kTunnelFlag_BackupEnabled

Yedek tünelin ne zaman etkinleştirileceğini ayarlayın.

kTunnelFlag_BackupRestricted

Yedek tünelin yönlendirme kısıtlamalı olduğu zamanı ayarlayın.

kTunnelFlag_PrimaryEnabled

Birincil tünel etkinleştirildiğinde ayarlayın.

kTunnelFlag_PrimaryRestricted

Birincil tünelin yönlendirme kısıtlamalı olduğu zamanı ayarlayın.

WeaveTunnelFlags

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

Weave Tunnel işaret bitleri.

Herkese açık özellikler

NetworkOnlineCheck

PlatformNetworkOnlineCheck NetworkOnlineCheck

OnServiceTunReconnectNotify

OnServiceTunnelReconnectNotifyFunct OnServiceTunReconnectNotify

OnServiceTunStatusNotify

OnServiceTunnelStatusNotifyFunct OnServiceTunStatusNotify

Hizmete tünelle ilgili çeşitli bildirimler üzerinde işlem yapmak için daha yüksek bir katman tarafından ayarlanmış işlev işaretçisi.

mServiceMgr

WeaveServiceManager * mServiceMgr

Hizmet aramak ve hizmete bağlanmak için kullanılacak Service Manager işaretçisi.

Kamu işlevleri

DisablePrimaryTunnel

void DisablePrimaryTunnel(
  void
)

Birincil Tüneli devre dışı bırak.

Birincil Tüneli devre dışı bırakın.

EnablePrimaryTunnel

void EnablePrimaryTunnel(
  void
)

Birincil Tüneli Etkinleştir.

Birincil Tüneli etkinleştirin.

GetAgentStateName

const char * GetAgentStateName(
  const AgentState state
)

WeaveTunnelAgentState adını alın.

GetTimeMsec

uint64_t GetTimeMsec(
  void
)

Sistem saatini milisaniye cinsinden alın.

Sistem saati mevcut değilse sistem saatini veya milisaniye cinsinden monotonik zamanı alın.

GetWeaveTunnelAgentState

AgentState GetWeaveTunnelAgentState(
  void
)

TunnelAgent durumunu öğrenin.

Ayrıntılar
İadeler
Aracı ifadesi, WeaveTunnelAgent'ın mevcut durumunu belirtir.

Başlat

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

Tünel aracısını başlatın.

Bu işlem te Tunnel uç nokta nesnesi oluşturur, tünel arayüzünü ayarlar, üye değişkenlerini, geri çağırmaları ve WeaveTunnelControl'ü başlatır.

Başlat

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

Tünel aracısını başlatın.

Bu işlem te Tunnel uç nokta nesnesi oluşturur, tünel arayüzünü ayarlar, üye değişkenlerini, geri çağırmaları ve WeaveTunnelControl'ü başlatır.

IsPrimaryTunnelEnabled

bool IsPrimaryTunnelEnabled(
  void
) const 

Birincil tünelin etkin olup olmadığını kontrol edin.

Ayrıntılar
İadeler
etkinleştirilirse true, aksi takdirde false.

IsPrimaryTunnelRoutingRestricted

bool IsPrimaryTunnelRoutingRestricted(
  void
)

Birincil tünelin hizmet tarafından yönlendirme kısıtlamalarına tabi olup olmadığını kontrol edin.

Birincil tünelin yönlendirme kısıtlamalarına tabi olup olmadığını kontrol edin.

Ayrıntılar
İadeler
Birincil tünel oluşturulduysa ancak hizmet tarafından yönlendirme kısıtlamalarına tabiyse doğru değerini döndürür.

IsTunnelRoutingRestricted

bool IsTunnelRoutingRestricted(
  void
)

Tünelin, hizmetin yönlendirme kısıtlamalarına tabi olup olmadığını kontrol edin.

Tünelin yönlendirme kısıtlamalarına tabi olup olmadığını kontrol edin.

Ayrıntılar
İadeler
birincil veya yedek tünel oluşturulduysa ve bu tünellerden biri hizmet tarafından yönlendirme kısıtlamalarına tabiyse doğru değerini döndürür.

NetworkOnlineCheckResult

void NetworkOnlineCheckResult(
  TunnelType tunType,
  bool isOnline
)

Ağ online denetleyicisinin sonucu kullanılabilir olduğunda platform tarafından çağrılan geri çağırma.

Ayrıntılar
Parametreler
[in] tunType
Ağ bağlantısı kontrolünün gerçekleştirildiği arayüze karşılık gelen tünel türü.
[in] isOnline
Ağ onlineysa doğru, aksi takdirde yanlış değerini alır.

ResetPrimaryReconnectBackoff

WEAVE_ERROR ResetPrimaryReconnectBackoff(
  bool reconnectImmediately
)

Birincil tünel için yeniden bağlanma süresini sıfırlayın.

Ayrıntılar
Parametreler
[in] reconnectImmediately
Hemen yeniden bağlanmanız gerekiyorsa doğru değerini alır, aksi takdirde yapılandırılmış yeniden bağlantı zaman aşımını kullanır.

SetAuthMode

void SetAuthMode(
  const WeaveAuthMode authMode
)

Tünel için WeaveAuthMode'u ayarlayın.

Ayrıntılar
Parametreler
[in] authMode
Eş ile kullanılan Weave kimlik doğrulama modu.

SetDestination

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

Tünel için hedef NodeId, IPAddress ve bağlantı noktasını ayarlayın.

Tünel için hedef NodeId ve IPAddress'i ayarlayın.

Ayrıntılar
Parametreler
[in] nodeId
Hedef düğümün düğüm kimliği.
[in] ipAddr
Hedef düğümün IP adresi.
[in] servicePort
Hedef düğümün bağlantı noktası.

SetTunnelingDeviceRole

void SetTunnelingDeviceRole(
  const Role role
)

Tünel için Tünel cihazı rolünü(BorderGateway, BağımsızCihaz, MobileDevice) ayarlayın.

Tünel için Tünel cihazı rolünü(BorderGateway veya Bağımsız) ayarlayın.

Ayrıntılar
Parametreler
[in] role
Tünel Aracısı tarafından üstlenilen rol; Sınır Ağ Geçidi, Bağımsız veya Mobil Cihaz.

Kapat

WEAVE_ERROR Shutdown(
  void
)

Tünel Aracısı'nı kapatın.

Bu işlem, Hizmet ile olan bağlantıyı keser ve tünel arayüzüyle ilişkili adresleri ve rotaları kaldırdıktan sonra TunEndPoint arayüzünü kapatır.

Bu işlem, Hizmet ile olan bağlantıyı keser ve tünel arayüzüyle ilişkili adresleri ve rotaları kaldırdıktan sonra TunEndPoint arayüzünü kapatır.

Ayrıntılar
İadeler
Başarılı durumda WEAVE_NO_ERROR, aksi takdirde karşılık gelen bir WEAVE_ERROR türü.

StartServiceTunnel

WEAVE_ERROR StartServiceTunnel(
  void
)

Hizmet Tüneli'ni başlatın.

Bu işlem, tüneli etkinleştirir ve Hizmet ile bağlantı kurmaya çalışır.

Bu işlem, Hizmet ile bağlantı kurmaya çalışır ve ayrıca tünel arayüzüne yapı yolunu ayarlar.

Ayrıntılar
İadeler
Başarılı durumda WEAVE_NO_ERROR, aksi takdirde karşılık gelen bir WEAVE_ERROR türü.

StartServiceTunnel

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

Hizmet Tüneli'ni başlatın.

Bu işlem, tüneli etkinleştirir ve Hizmet ile bağlantı kurmaya çalışır.

StopServiceTunnel

void StopServiceTunnel(
  void
)

Hizmet ile Tünel bağlantısını kapatın.

StopServiceTunnel

void StopServiceTunnel(
  WEAVE_ERROR err
)

Hizmet ile Tünel bağlantısını kapatın.

Ayrıntılar
Parametreler
[in] err
Bu StopServiceTunnel isteği için belirli bir neden yoksa WEAVE_NO_ERROR, aksi takdirde hatanın nedeni belirtilir.

WeaveTunnelAgent

 WeaveTunnelAgent(
  void
)

Herkese açık statik işlevler

RecvdFromShortcutUDPTunnel

void RecvdFromShortcutUDPTunnel(
  WeaveMessageLayer *msgLayer,
  PacketBuffer *message
)

Sınır ağ geçidi ile mobil cihaz arasındaki kısayol UDP tüneli üzerinden tünelli IPv6 paketlerini alacak ve ham IPv6 paketinin tünel başlığının içinden kapsülünü kaldırdıktan sonra Tünel EndPoint arayüzüne iletecek işleyici.

İşleyici. Hizmet TCP bağlantısından tünelli IPv6 paketlerini alacak ve ham IPv6 paketinin kopyasını tünel başlığının içinden çıkardıktan sonra Tünel EndPoint arayüzüne iletecektir.

Ayrıntılar
Parametreler
[in] con
WeaveConnection nesnesine işaret eden bir işaretçi.
[in] msgInfo
WeaveMessageInfo nesnesine işaret eden bir işaret.
[in] message
Tünelli IPv6 paketini tutan PacketBuffer nesnesinin işaretçisi.

RecvdFromTunnelEndPoint

void RecvdFromTunnelEndPoint(
  TunEndPoint *tunEP,
  PacketBuffer *message
)

Tünel Uç Noktası arayüzünden IPv6 paketlerini alıp iletecek işleyici. IPv6 paketini tünel başlığının içine yerleştirdikten sonra Hizmet TCP bağlantısı üzerinden Hizmet'e veya bir kısayol tüneli üzerinden Mobil istemciye yönlendirir.

İşleyici, IPv6 paketlerini Tünel Uç Noktası arayüzünden alıp ilet. İşleyici.

Hizmet bağlantısı henüz kurulmadıysa ileti, bağlantı kurulana kadar sıraya alınır. Mobil istemci cihazına tünel oluşturma için sonraki durak komşu tablosuna başvurulur.

Hizmet bağlantısı henüz kurulmadıysa ileti, bağlantı kurulana kadar sıraya alınır. Mobil istemci cihazına tünel oluşturma için sonraki durak komşu tablosuna başvurulur.

Ayrıntılar
Parametreler
[in] tunEP
TunEndPoint nesnesine işaret eden bir işaret.
[in] message
Ham IPv6 paketini barındıran PacketBuffer nesnesine işaret eden bir işaretçi.