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 ile olan bağlantılarıyla ilişkili durumları.
AgentState typedef
Tünel Aracısı'nın Hizmet ile olan bağlantılarıyla ilişkili durumları.
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şleyici işaretçisine yönelik 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 işlem yapmak için daha yüksek bir katman tarafından ayarlanan işleyici işaretçisine işlev işaretçisi.
PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt) typedef
void(*
Ağ düzeyinde online kontrol gerçekleştirmek için uygulama tarafından sağlanan işleyiciye yönelik işlev işaretçisi.
WeaveTunnelFlags{
  kTunnelFlag_PrimaryEnabled = 0x01,
  kTunnelFlag_BackupEnabled = 0x02,
  kTunnelFlag_PrimaryRestricted = 0x04,
  kTunnelFlag_BackupRestricted = 0x08
}
enum
Örgü Tünel işareti bitleri.
WeaveTunnelFlags typedef
Örgü Tünel işareti bitleri.

Herkese açık özellikler

NetworkOnlineCheck
OnServiceTunReconnectNotify
OnServiceTunStatusNotify
Hizmete giden tünelle ilgili çeşitli bildirimlere göre işlem yapmak için daha yüksek bir katman tarafından ayarlanan işleyici işaretçisine işlev işaretçisi.
mServiceMgr
WeaveServiceManager *
Hizmet'i aramak ve hizmete bağlanmak için kullanılacak Hizmet Yöneticisi işaretçisi.

Herkese açık işlevler

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 zamanını 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, hizmetin 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
Online ağ kontrol aracının 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 değerini 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, StandaloneDevice, 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
Hizmete olan Tünel bağlantısını kapatın.
StopServiceTunnel(WEAVE_ERROR err)
void
Hizmete olan Tünel bağlantısını kapatın.

Herkese açık statik işlevler

RecvdFromShortcutUDPTunnel(WeaveMessageLayer *msgLayer, PacketBuffer *message)
void
Ham IPv6 paketini tünel başlığının içinden ham IPv6 paketinin kapsülünden aldıktan sonra, sınır ağ geçidiyle mobil cihaz arasındaki kısayol UDP tüneli üzerinden tünel IPv6 paketleri almak ve Tünel Uç Noktası arayüzüne yönlendirme yapmak için işleyici.
RecvdFromTunnelEndPoint(TunEndPoint *tunEP, PacketBuffer *message)
void
Tünel Uç Noktası arayüzünden IPv6 paketleri almak ve iletmek için işleyici.

Herkese açık türler

AgentState

 AgentState

Tünel Aracısı'nın Hizmet ile olan bağlantılarıyla ilişkili durumları.

Özellikler
kState_BkupOnlyTunModeEstablished

Hizmete giden Yedekleme tünelinin 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 oluşturulmadığı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 ile olan bağlantılarıyla ilişkili durumları.

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şleyici işaretçisine yönelik işlev işaretçisi.

Ayrıntılar
Parametreler
[in] tunType
Birincil veya Yedek tünel türü.
[in] reconnectHost
Hizmet tarafından yeniden bağlanmak için sağlanan ana makine adı.
[in] reconnectPort
Hizmet tarafından yeniden bağlanılacak hedef bağlantı noktası.
[in] appCtxt
Uygulama bağlamı nesnesinin işaretçisi

OnServiceTunnelStatusNotifyFunct

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

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

Ayrıntılar
Parametreler
[in] reason
Uygulamaya gönderilen durum bildiriminin nedeni.
[in] err
Varsa, doku hatasıyla karşılaşıldı
[in] appCtxt
Uygulama bağlamı nesnesinin işaretçisi

PlatformNetworkOnlineCheck

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

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

Ayrıntılar
Parametreler
[in] tunType
Birincil veya Yedek tünel türü.
[in] appCtxt
Uygulama bağlamı nesnesinin işaretçisi

WeaveTunnelFlags

 WeaveTunnelFlags

Örgü Tünel işareti bitleri.

Özellikler
kTunnelFlag_BackupEnabled

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

kTunnelFlag_BackupRestricted

Yedek tünelin ne zaman yönlendirme yapacağını belirleyin.

kTunnelFlag_PrimaryEnabled

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

kTunnelFlag_PrimaryRestricted

Birincil tünelin ne zaman yönlendirme yapacağını belirleyin.

WeaveTunnelFlags

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

Örgü Tünel işareti bitleri.

Herkese açık özellikler

NetworkOnlineCheck

PlatformNetworkOnlineCheck NetworkOnlineCheck

OnServiceTunReconnectNotify

OnServiceTunnelReconnectNotifyFunct OnServiceTunReconnectNotify

OnServiceTunStatusNotify

OnServiceTunnelStatusNotifyFunct OnServiceTunStatusNotify

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

mServiceMgr

WeaveServiceManager * mServiceMgr

Hizmet'i aramak ve hizmete bağlanmak için kullanılacak Hizmet Yöneticisi işaretçisi.

Herkese açık işlevler

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ştir.

GetAgentStateName

const char * GetAgentStateName(
  const AgentState state
)

WeaveTunnelAgentState adını alın.

GetTimeMsec

uint64_t GetTimeMsec(
  void
)

Sistem zamanını milisaniye cinsinden alın.

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

ziyaret edin.

GetWeaveTunnelAgentState

AgentState GetWeaveTunnelAgentState(
  void
)

TunnelAgent durumunu alın.

Ayrıntılar
İadeler
AgentState, WeaveTunnelAgent'ın mevcut durumunu gösterir.

Init

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 komut 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.

Init

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 komut 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
etkinse "doğru", aksi takdirde "yanlış" değerini alır.

IsPrimaryTunnelRoutingRestricted

bool IsPrimaryTunnelRoutingRestricted(
  void
)

Birincil tünelin, hizmetin 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 true değerini alır.

IsTunnelRoutingRestricted

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 oluşturulduysa ve her biri hizmet tarafından yönlendirme kısıtlamalarına tabiyse true değerini alır.

NetworkOnlineCheckResult

void NetworkOnlineCheckResult(
  TunnelType tunType,
  bool isOnline
)

Online ağ kontrol aracının 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ğ çevrimiçiyse 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ğlanmak için gerekirse doğru değerini alır, aksi takdirde yapılandırılan yönlendirme zaman aşımını kullanır.

SetAuthMode

void SetAuthMode(
  const WeaveAuthMode authMode
)

Tünel için WeaveAuthMode değerini ayarlayın.

Ayrıntılar
Parametreler
[in] authMode
Eş ile kullanılan örgü 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, StandaloneDevice, 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 bağlantısını 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 bağlantısını 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ıda WEAVE_NO_ERROR, aksi takdirde karşılık gelen 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 yapı olarak tünel rotasını da ayarlar.

Ayrıntılar
İadeler
Başarıda WEAVE_NO_ERROR, aksi takdirde karşılık gelen 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
)

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

StopServiceTunnel

void StopServiceTunnel(
  WEAVE_ERROR err
)

Hizmete olan 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, hatanın nedeni bildirilecektir.

WeaveTunnelAgent

 WeaveTunnelAgent(
  void
)

Herkese açık statik işlevler

RecvdFromShortcutUDPTunnel

void RecvdFromShortcutUDPTunnel(
  WeaveMessageLayer *msgLayer,
  PacketBuffer *message
)

Ham IPv6 paketini tünel başlığının içinden ham IPv6 paketinin kapsülünden aldıktan sonra, sınır ağ geçidiyle mobil cihaz arasındaki kısayol UDP tüneli üzerinden tünel IPv6 paketleri almak ve Tünel Uç Noktası arayüzüne yönlendirme yapmak için işleyici.

Ham IPv6 paketini tünel başlığının içinden ham IPv6 paketinin kapsülünden geçirdikten sonra, Hizmet TCP bağlantısından tünelli IPv6 paketlerini alıp Tünel Uç Nokta arayüzüne yönlendirme işleyicisi.

Ayrıntılar
Parametreler
[in] con
WeaveConnection nesnesinin işaretçisi.
[in] msgInfo
WeaveMessageInfo nesnesinin işaretçisi.
[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 paketleri almak ve iletmek için işleyici. Tünel başlığının içinde IPv6 paketini aldıktan sonra Hizmet TCP bağlantısı aracılığıyla Hizmet'e veya kısayol tüneli üzerinden Mobil istemciye iletilmelidir.

Tünel Uç Noktası arayüzünden IPv6 paketleri almak ve iletmek için işleyici.

Hizmet bağlantısı henüz kurulmadıysa ileti, bağlantı kurulana kadar sıraya alınır. Mobil istemci cihazına tünelleme 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ünelleme için sonraki durak komşu tablosuna başvurulur.

Ayrıntılar
Parametreler
[in] tunEP
TunEndPoint nesnesinin işaretçisi.
[in] message
Ham IPv6 paketini içeren PacketBuffer nesnesinin işaretçisi.