nl:: örgü:: Profiller:: WeaveTünel:: WeaveTünel Aracısı

Özet

Yapıcılar ve Yıkıcılar

WeaveTunnelAgent (void)

Genel türler

AgentState {
kState_NotInitialized = 0,
kState_Initialized_NoTunnel = 1,
kState_PrimaryTunModeEstablished = 2,
kState_BkupOnlyTunModeEstablished = 3,
kState_PrimaryAndBkupTunModeEstablished = 4
}
Sıralama
Tünel Aracısının Hizmetle olan bağlantı(lar)ıyla ilgili durumları.
AgentState typedef
Tünel Aracısının Hizmetle olan bağlantı(lar)ıyla ilgili durumları.
OnServiceTunnelReconnectNotifyFunct )(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt) typedef
void(*
Hizmetten bir Tünel Yeniden Bağlantısı 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 giden tünelle ilgili çeşitli bildirimlere göre hareket etmek için daha yüksek bir katman tarafından ayarlanan işleyiciye işlev işaretçisi.
PlatformNetworkOnlineCheck )(TunnelType tunType, void *appCtxt) typedef
void(*
Ağ düzeyinde çevrimiçi denetim gerçekleştirmek için uygulama tarafından sağlanan bir işleyiciye işlev işaretçisi.
WeaveTunnelFlags {
kTunnelFlag_PrimaryEnabled = 0x01,
kTunnelFlag_BackupEnabled = 0x02,
kTunnelFlag_PrimaryRestricted = 0x04,
kTunnelFlag_BackupRestricted = 0x08
}
Sıralama
Tünel bayrak bitlerini örün.
WeaveTunnelFlags typedef
Tünel bayrak bitlerini örün.

Genel özellikler

NetworkOnlineCheck
OnServiceTunReconnectNotify
OnServiceTunStatusNotify
Hizmete giden tünelle ilgili çeşitli bildirimlere göre hareket etmek için daha yüksek bir katman tarafından ayarlanan işleyiciye işlev işaretçisi.
mServiceMgr
WeaveServiceManager *
Servis aramak ve Servise bağlanmak için kullanılacak Servis Yöneticisi işaretçisi.

Kamu işlevleri

DisablePrimaryTunnel (void)
void
Birincil Tüneli Devre Dışı Bırakın.
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 alın.
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 hizmet tarafından yönlendirme kısıtlamalarına tabi olup olmadığını kontrol edin.
NetworkOnlineCheckResult (TunnelType tunType, bool isOnline)
void
Ağ çevrimiçi denetleyicisinin sonucu mevcut olduğunda platform tarafından çağrılan geri arama.
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 düğüm kimliğini, IP Adresini ve bağlantı noktasını ayarlayın.
SetTunnelingDeviceRole (const Role role)
void
Tünel için Tünel açma cihazı rolünü (BorderGateway, StandaloneDevice, MobileDevice) ayarlayın.
Shutdown (void)
Tünel Aracısını Kapatın.
StartServiceTunnel (void)
Servis Tüneli'ni başlatın.
StartServiceTunnel (uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode)
Servis Tüneli'ni başlatın.
StopServiceTunnel (void)
void
Hizmete Tünel bağlantısını kapatın.
StopServiceTunnel ( WEAVE_ERROR err)
void
Hizmete Tünel bağlantısını kapatın.

Genel statik işlevler

RecvdFromShortcutUDPTunnel ( WeaveMessageLayer *msgLayer, PacketBuffer *message)
void
İşleyici, sınır ağ geçidi ile mobil cihaz arasındaki kısayol UDP tüneli üzerinden tünellenmiş IPv6 paketlerini alır ve ham IPv6 paketini tünel başlığının içinden ayırdıktan sonra Tünel Bitiş Noktası arayüzüne iletir.
RecvdFromTunnelEndPoint ( TunEndPoint *tunEP, PacketBuffer *message)
void
İşleyici, IPv6 paketlerini Tünel Bitiş Noktası arabiriminden alıp, IPv6 paketini tünel başlığı içine yerleştirdikten sonra Hizmet TCP bağlantısı aracılığıyla Hizmete veya bir kısayol tüneli üzerinden Mobil istemciye iletir.

Genel türler

AgentState

 AgentState

Tünel Aracısının Hizmetle olan bağlantı(lar)ıyla ilgili durumları.

Özellikleri
kState_BkupOnlyTunModeEstablished

Hizmete giden Yedekleme tünelinin kurulduğunu belirtmek için kullanılır.

kState_Initialized_NoTunnel

Tünel Aracısının başlatıldığını ancak tünelin 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 kurulduğunu belirtmek için kullanılır.

kState_PrimaryTunModeEstablished

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

AgentState

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

Tünel Aracısının Hizmetle olan bağlantı(lar)ıyla ilgili durumları.

OnServiceTunnelReconnectNotifyFunct

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

Hizmetten bir Tünel Yeniden Bağlantısı 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
Hizmet tarafından yeniden bağlanmak için sağlanan ana bilgisayar adı.
[in] reconnectPort
Hizmet tarafından yeniden bağlanmak için sağlanan hedef bağlantı noktası.
[in] appCtxt
Bir uygulama bağlam nesnesine işaretçi

OnServiceTunnelStatusNotifyFunct

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

Hizmete giden tünelle ilgili çeşitli bildirimlere göre hareket etmek için daha yüksek bir katman tarafından ayarlanan işleyiciye işlev işaretçisi.

Ayrıntılar
parametreler
[in] reason
Uygulamaya durum bildiriminin nedeni.
[in] err
Varsa örgü hatasıyla karşılaşıldı
[in] appCtxt
Bir uygulama bağlam nesnesine işaretçi

PlatformNetworkÇevrimiçiKontrol

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

Ağ düzeyinde çevrimiçi denetim gerçekleştirmek için uygulama tarafından sağlanan bir işleyiciye yönelik işlev işaretçisi.

Ayrıntılar
parametreler
[in] tunType
Tünel türü, Birincil veya Yedek.
[in] appCtxt
Bir uygulama bağlam nesnesine işaretçi

ÖrgüTünelBayraklar

 WeaveTunnelFlags

Tünel bayrak bitlerini örün.

Özellikleri
kTunnelFlag_BackupEnabled

Yedekleme tünelinin ne zaman etkinleştirileceğini ayarlayın.

kTunnelFlag_BackupRestricted

Yedekleme tünelinin yönlendirme kısıtlı olduğu zamanı ayarlayın.

kTunnelFlag_PrimaryEnabled

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

kTunnelFlag_PrimaryRestricted

Birincil tünel yönlendirme kısıtlı olduğunda ayarlayın.

ÖrgüTünelBayraklar

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

Tünel bayrak bitlerini örün.

Genel özellikler

AğÇevrimiçiKontrol

PlatformNetworkOnlineCheck NetworkOnlineCheck

OnServiceTunReconnectNotify

OnServiceTunnelReconnectNotifyFunct OnServiceTunReconnectNotify

OnServiceTunStatusBildirim

OnServiceTunnelStatusNotifyFunct OnServiceTunStatusNotify

Hizmete giden tünelle ilgili çeşitli bildirimlere göre hareket etmek için daha yüksek bir katman tarafından ayarlanan işleyiciye işlev işaretçisi.

mServiceMgr

WeaveServiceManager * mServiceMgr

Servis aramak ve Servise bağlanmak için kullanılacak Servis Yöneticisi işaretçisi.

Kamu işlevleri

Devre Dışı BırakBirincilTünel

void DisablePrimaryTunnel(
  void
)

Birincil Tüneli Devre Dışı Bırakın.

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.

GetTimeMsn

uint64_t GetTimeMsec(
  void
)

Sistem saatini milisaniye cinsinden alın.

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

GetWeaveTunnelAgentState

AgentState GetWeaveTunnelAgentState(
  void
)

TunnelAgent durumunu alın.

Ayrıntılar
İadeler
Mevcut durumunu AgentState WeaveTunnelAgent .

İçinde

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, te Tünel bitiş noktası nesnesi oluşturur tünel arayüzü kurar, üye değişkenleri, geri aramalar ve başlatır WeaveTunnelControl .

İçinde

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, te Tünel bitiş noktası nesnesi oluşturur tünel arayüzü kurar, üye değişkenleri, geri aramalar ve başlatır WeaveTunnelControl .

BirincilTünelEtkin

bool IsPrimaryTunnelEnabled(
  void
) const 

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

Ayrıntılar
İadeler
etkinse true , yoksa false .

IsBirincil TünelYönlendirmeKısıtlı

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 kurulmuşsa ancak hizmet tarafından yönlendirme kısıtlamalarına tabiyse true .

TünelYönlendirmeKısıtlı

bool IsTunnelRoutingRestricted(
  void
)

Tünelin hizmet tarafından 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 kurulmuşsa ve hizmet tarafından yönlendirme kısıtlamalarına tabiyse true .

AğÇevrimiçiKontrolSonucu

void NetworkOnlineCheckResult(
  TunnelType tunType,
  bool isOnline
)

Ağ çevrimiçi denetleyicisinin sonucu mevcut olduğunda platform tarafından çağrılan geri arama.

Ayrıntılar
parametreler
[in] tunType
Ağ bağlantısı denetiminin gerçekleştirildiği arabirime karşılık gelen tünel türü.
[in] isOnline
Ağ çevrimiçiyse doğru, değilse yanlış.

SıfırlaBirincilYeniden Bağlan

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ğlanmak gerekirse doğru, aksi takdirde yapılandırılmış yeniden bağlanma zaman aşımını kullanın.

Yetki Modu Ayarla

void SetAuthMode(
  const WeaveAuthMode authMode
)

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

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

Hedef belirlemek

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

Tünel için hedef düğüm kimliğini, IP Adresini ve bağlantı noktasını ayarlayın.

Tünel için hedef düğüm kimliğini ve IPAdresi'ni 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ı.

Tünel AçmaCihaz Rolü Ayarla

void SetTunnelingDeviceRole(
  const Role role
)

Tünel için Tünel açma cihazı rolünü (BorderGateway, StandaloneDevice, MobileDevice) ayarlayın.

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

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

Kapat

WEAVE_ERROR Shutdown(
  void
)

Tünel Aracısını Kapatın.

Bu, Hizmete olan bağlantıyı koparır ve tünel arabirimiyle ilişkili adresleri ve yolları kaldırdıktan sonra TunEndPoint arabirimini kapatır.

Bu, Hizmete olan bağlantıyı koparır ve tünel arabirimiyle ilişkili adresleri ve yolları kaldırdıktan sonra TunEndPoint arabirimini kapatır.

Ayrıntılar
İadeler
Başarı durumunda WEAVE_NO_ERROR, aksi takdirde ilgili bir WEAVE_ERROR türü.

StartServiceTunnel

WEAVE_ERROR StartServiceTunnel(
  void
)

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

Bu, tüneli etkinleştirir ve Hizmetle bağlantı kurmaya çalışır.

Bu, Hizmetle bir bağlantı kurmaya çalışır ve aynı zamanda tünel arabirimine giden yapı yolunu ayarlar.

Ayrıntılar
İadeler
Başarı durumunda WEAVE_NO_ERROR, aksi takdirde ilgili bir WEAVE_ERROR türü.

StartServiceTunnel

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

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

Bu, tüneli etkinleştirir ve Hizmetle bağlantı kurmaya çalışır.

StopServiceTünel

void StopServiceTunnel(
  void
)

Hizmete Tünel bağlantısını kapatın.

StopServiceTünel

void StopServiceTunnel(
  WEAVE_ERROR err
)

Hizmete Tünel bağlantısını kapatın.

Ayrıntılar
parametreler
[in] err
WEAVE_NO_ERROR, bu StopServiceTunnel isteği için belirli bir neden yoksa, aksi takdirde hatanın nedeni aktarılır.

WeaveTünel Aracısı

 WeaveTunnelAgent(
  void
)

Genel statik işlevler

RecvdFromKısayolUDPTunnel

void RecvdFromShortcutUDPTunnel(
  WeaveMessageLayer *msgLayer,
  PacketBuffer *message
)

İşleyici, sınır ağ geçidi ile mobil cihaz arasındaki kısayol UDP tüneli üzerinden tünellenmiş IPv6 paketlerini alır ve ham IPv6 paketini tünel başlığının içinden ayırdıktan sonra Tünel Bitiş Noktası arayüzüne iletir.

Hizmet TCP bağlantısından tünellenmiş IPv6 paketlerini alacak ve ham IPv6 paketini tünel başlığının içinden ayırdıktan sonra Tünel Bitiş Noktası arayüzüne iletecek işleyici.

Ayrıntılar
parametreler
[in] con
Bir işaretçi WeaveConnection nesne.
[in] msgInfo
Bir işaretçi WeaveMessageInfo nesne.
[in] message
Tünel oluşturulmuş IPv6 paketini tutan PacketBuffer nesnesine yönelik bir işaretçi.

Tünelden Alınan Uç Nokta

void RecvdFromTunnelEndPoint(
  TunEndPoint *tunEP,
  PacketBuffer *message
)

İşleyici, IPv6 paketlerini tünel başlığı içinde kapsülledikten sonra Hizmet TCP bağlantısı aracılığıyla Hizmete veya bir kısayol tüneli üzerinden Mobil istemciye Tünel Bitiş Noktası arabiriminden alıp iletir.

İşleyici, IPv6 paketlerini tünel başlığının içine yerleştirdikten sonra Hizmet TCP bağlantısı aracılığıyla Hizmete veya yerel bir tünel üzerinden Mobil istemciye, Tünel Bitiş Noktası arabiriminden IPv6 paketlerini alır ve iletir.

Servis bağlantısı henüz kurulmamışsa, bağlantı kurulana kadar mesaj kuyruğa alınır. Mobil istemci cihazına tünel açmak için nexthop komşu tablosuna başvurulur.

Servis bağlantısı henüz kurulmamışsa, bağlantı kurulana kadar mesaj kuyruğa alınır. Mobil istemci cihazına tünel açmak için nexthop komşu tablosuna başvurulur.

Ayrıntılar
parametreler
[in] tunEP
TunEndPoint nesnesine bir işaretçi.
[in] message
Ham IPv6 paketini tutan PacketBuffer nesnesine yönelik bir işaretçi.