nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr

#include <src/lib/profiles/weave-tunneling/WeaveTunnelConnectionMgr.h>

Bu sınıf, tüm Weave tüneli bağlantı durumlarını ve ilişkili yönetim mantığını ve işlevlerini içerir.

Özet

Hizmete giden Weave tünelinin bulunacağı her arayüz üzerinden tüneli yönetmek için bu sınıfın bir örneği kullanılır.

Oluşturucular ve Yıkıcılar

WeaveTunnelConnectionMgr(void)

Herkese açık türler

ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec) typedef
void(*
Bir sonraki tünel yeniden bağlanmadan önce beklenecek zaman aralığını getirmek için geri çağırma.
TunnelConnNotifyReasons{
  kStatus_TunDown = 0,
  kStatus_TunPrimaryUp = 1,
  kStatus_TunPrimaryConnError = 2,
  kStatus_TunBackupConnError = 3,
  kStatus_TunFailoverToBackup = 4,
  kStatus_TunBackupOnlyDown = 5,
  kStatus_TunBackupUp = 6,
  kStatus_TunPrimaryAndBackupUp = 7,
  kStatus_TunPrimaryReconnectRcvd = 8,
  kStatus_TunBackupReconnectRcvd = 9,
  kStatus_TunPrimaryLiveness = 10,
  kStatus_TunBackupLiveness = 11
}
enum
TunnelConnNotifyReasons typedef
TunnelConnectionState{
  kState_NotConnected = 0,
  kState_Connecting = 1,
  kState_ConnectionEstablished = 2,
  kState_TunnelOpen = 3,
  kState_TunnelClosing = 4,
  kState_ReconnectRecvd = 5
}
enum
TunnelConnectionState typedef

Herkese açık özellikler

mServiceConnDelayPolicyCallback

Herkese açık işlevler

Init(WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName)
WeaveTunnelConnectionMgr'yi başlatın.
ServiceTunnelClose(WEAVE_ERROR err)
void
Hizmet tünelini kapatın.
SetInterfaceName(const char *intfName)
void
Tünel bağlantısı için InterfaceName'i ayarlayın.
SetInterfaceType(const SrcInterfaceType srcIntfType)
void
Tünel bağlantısı için SrcInterfaceType öğesini ayarlayın.
Shutdown(void)
void
StopAndReconnectTunnelConn(ReconnectParam & reconnParam)
void
Hizmet tüneli bağlantısını durdurun ve yeniden bağlanmayı deneyin.
TryConnectingNow(void)
Hizmet ile bağlantı kurmaya çalışma.

Herkese açık statik işlevler

DefaultReconnectPolicyCallback(void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec)
void
Hizmete bir sonraki bağlantıda getirme işleminde varsayılan politika uygulaması.
HandleServiceConnectionClosed(WeaveConnection *con, WEAVE_ERROR conErr)
void
Hizmet TCP bağlantısı kapatıldığında işleyici çağrıldı.
HandleServiceConnectionComplete(WeaveConnection *con, WEAVE_ERROR conErr)
void
Hizmet TCP bağlantısı tamamlandığında işleyici çağrıldı.
RecvdFromService(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message)
void
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.
ServiceMgrStatusHandler(void *appState, WEAVE_ERROR err, StatusReport *report)
void
Hizmet Yöneticisi, hizmet ile TCP bağlantısı kuramazsa işleyici çağrılır.

Herkese açık türler

ConnectPolicyCallback

void(* ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)

Bir sonraki tünel yeniden bağlanmadan önce beklenecek zaman aralığını getirmek için geri çağırma.

Ayrıntılar
Parametreler
[in] appState
SubscriptionClient'ın ilk kullanıma hazırlanması sırasında ayarlanan uygulama durumu işaretçisi.
[in] reconnectParam
Yeniden bağlantı gecikmesinin hesaplanmasını etkileyen parametrelere sahip yapı.
[out] delayMsec
Bir sonraki yeniden bağlantı denemesinden önce beklenecek süre (milisaniye cinsinden).

TunnelConnNotifyReasons

 TunnelConnNotifyReasons
Özellikler
kStatus_TunBackupConnError

Yedek tünel bağlantı girişiminin başarısız olduğunu veya mevcut bir tünel bağlantı girişiminin yerel olarak iptal edildiğini ya da eş tarafından kapatıldığını belirtmek için kullanılır.

kStatus_TunBackupLiveness

Yedek Dokuma tünelindeki Tünel Yayını sondası ile ilgili bilgileri göstermek için kullanılır.

kStatus_TunBackupOnlyDown

Yedekleme tünelinin kapalı olduğunu belirtmek için kullanılır.

kStatus_TunBackupReconnectRcvd

Hizmetin Yedek Weave tüneli için yeniden bağlantı isteğinde bulunduğunu belirtmek amacıyla kullanılır.

kStatus_TunBackupUp

Yedekleme Örgütü tünelinin çalıştığını belirtmek için kullanılır.

kStatus_TunDown

Weave tünelinin aşağı gittiğini belirtmek için kullanılır.

kStatus_TunFailoverToBackup

Birincil tünelin kapalı olduğunu ve yedek tünele geçildiğini belirtmek için kullanılır.

kStatus_TunPrimaryAndBackupUp

Hem Birincil hem de Yedek Dokuma tünelinin çalıştığını belirtmek için kullanılır.

kStatus_TunPrimaryConnError

Birincil tünel bağlantı girişiminin başarısız olduğunu veya mevcut bir tünelin yerel olarak iptal edildiğini ya da eş tarafından kapatıldığını belirtmek için kullanılır.

kStatus_TunPrimaryLiveness

Birincil Weave tünelindeki Tünel Yayını sondası ile ilgili bilgileri göstermek için kullanılır.

kStatus_TunPrimaryReconnectRcvd

Hizmetin Birincil Weave tüneli için yeniden bağlantı isteğinde bulunduğunu belirtmek amacıyla kullanılır.

kStatus_TunPrimaryUp

Birincil Weave tünelinin çalıştığını belirtmek için kullanılır.

TunnelConnNotifyReasons

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons

TunnelConnectionState

 TunnelConnectionState
Özellikler
kState_Connecting

Örgü Tünel bağlantısının başlatıldığını belirtmek için kullanılır.

kState_ConnectionEstablished

Örgü Tünel bağlantısının kurulduğunu ve rota bilgilerinin paylaşıldığını belirtmek için kullanılır.

kState_NotConnected

Örgü Tüneli'nin bağlı olmadığını belirtmek için kullanılır.

kState_ReconnectRecvd

Hizmetin, bir dizin aramasının ardından sınır ağ geçidinin yeniden bağlanmasını istediğini belirtmek için kullanılır.

kState_TunnelClosing

Örgü Tüneli'nin kapanmakta ve bağlantının kopmakta olduğunu belirtmek için kullanılır.

kState_TunnelOpen

Weave Tüneli'nin açık ve veri trafiği geçişi için hazır olduğunu belirtmek için kullanılır.

TunnelConnectionState

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnectionState TunnelConnectionState

Herkese açık özellikler

mServiceConnDelayPolicyCallback

ConnectPolicyCallback mServiceConnDelayPolicyCallback

Herkese açık işlevler

Init

WEAVE_ERROR Init(
  WeaveTunnelAgent *tunAgent,
  TunnelType tunType,
  SrcInterfaceType srcIntfType,
  const char *connIntfName
)

WeaveTunnelConnectionMgr'yi başlatın.

ServiceTunnelClose

void ServiceTunnelClose(
  WEAVE_ERROR err
)

Hizmet tünelini kapatın.

Ayrıntılar
Parametreler
[in] err
Arayandan bir WEAVE_ERROR geçti.

SetInterfaceName

void SetInterfaceName(
  const char *intfName
)

Tünel bağlantısı için InterfaceName'i ayarlayın.

Ayrıntılar
Parametreler
[in] tunIntf
Hizmet tüneli bağlantısını ayarlamak için kullanılan ArayüzAdı.

SetInterfaceType

void SetInterfaceType(
  const SrcInterfaceType srcIntfType
)

Tünel bağlantısı için SrcInterfaceType öğesini ayarlayın.

Ayrıntılar
Parametreler
[in] srcIntfType
Hizmet tüneli bağlantısı arayüzü için ağ teknolojisi türü.

Kapat

void Shutdown(
  void
)

StopAndReconnectTunnelConn

void StopAndReconnectTunnelConn(
  ReconnectParam & reconnParam
)

Hizmet tüneli bağlantısını durdurun ve yeniden bağlanmayı deneyin.

Ayrıntılar
Parametreler
[in] err
Arayandan bir WEAVE_ERROR geçti.

TryConnectingNow

WEAVE_ERROR TryConnectingNow(
  void
)

Hizmet ile bağlantı kurmaya çalışma.

ServiceManager'ı kullanarak veya doğrudan hizmet ile bağlantı kurmayı deneyin.

WeaveTunnelConnectionMgr

 WeaveTunnelConnectionMgr(
  void
)

Herkese açık statik işlevler

DefaultReconnectPolicyCallback

void DefaultReconnectPolicyCallback(
  void *const appstate,
  ReconnectParam & reconnectParam,
  uint32_t & delayMsec
)

Hizmete bir sonraki bağlantıda getirme işleminde varsayılan politika uygulaması.

Bu politika, artan bir pencerede ve en fazla WEAVE_CONFIG_ ekleyinING_RECONNECT_MAX_FIBONACCI_INDEX olan bir fibonacci dizisini izleyerek rastgele bir zaman dilimi (milisaniyelik çözünürlüklü) seçer.

Ayrıntılar
Parametreler
[in] appState
SubscriptionClient'ın ilk kullanıma hazırlanması sırasında ayarlanan uygulama durumu işaretçisi.
[in] reconnectParam
Yeniden bağlantı gecikmesinin hesaplanmasını etkileyen parametrelere sahip yapı.
[out] delayMsec
Bir sonraki yeniden bağlantı denemesinden önce beklenecek süre (milisaniye cinsinden).

HandleServiceConnectionClosed

void HandleServiceConnectionClosed(
  WeaveConnection *con,
  WEAVE_ERROR conErr
)

Hizmet TCP bağlantısı kapatıldığında işleyici çağrıldı.

mServiceConKeepAlive doğru değerine ayarlanmışsa cihaz, Hizmet ile bağlantıyı yeniden kurmaya çalışır.

Ardından cihaz, Hizmet ile olan bağlantıyı yeniden kurmaya çalışır.

Ayrıntılar
Parametreler
[in] con
WeaveConnection nesnesinin işaretçisi.
[in] conErr
WeaveConnection veya WEAVE_NO_ERROR içindeki herhangi bir hata.

HandleServiceConnectionComplete

void HandleServiceConnectionComplete(
  WeaveConnection *con,
  WEAVE_ERROR conErr
)

Hizmet TCP bağlantısı tamamlandığında işleyici çağrıldı.

Cihaz, bu işlevden Hizmet'e giden tünel kontrol komutlarını başlatmaya devam eder.

Cihaz, bu işlevden Hizmet'e giden tünel kontrol komutlarını başlatmaya devam eder.

Ayrıntılar
Parametreler
[in] con
WeaveConnection nesnesinin işaretçisi.
[in] conErr
WeaveConnection veya WEAVE_NO_ERROR içindeki herhangi bir hata.

RecvdFromService

void RecvdFromService(
  WeaveConnection *con,
  const WeaveMessageInfo *msgInfo,
  PacketBuffer *message
)

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.

ServiceMgrStatusHandler

void ServiceMgrStatusHandler(
  void *appState,
  WEAVE_ERROR err,
  StatusReport *report
)

Hizmet Yöneticisi, hizmet ile TCP bağlantısı kuramazsa işleyici çağrılır.