nl:: örgü:: Profiller:: WeaveTünel:: ÖrgüTünelBağlantıYönetimi

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

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

özet

Bu sınıfın bir örneği, Servis'e giden Weave tünelinin var olacağı her arabirim üzerindeki tüneli yönetmek için kullanılacaktır.

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

WeaveTunnelConnectionMgr (void)

Genel 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ı almak için geri arama.
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
}
Sıralama
TunnelConnNotifyReasons typedef
TunnelConnectionState {
kState_NotConnected = 0,
kState_Connecting = 1,
kState_ConnectionEstablished = 2,
kState_TunnelOpen = 3,
kState_TunnelClosing = 4,
kState_ReconnectRecvd = 5
}
Sıralama
TunnelConnectionState typedef

Genel özellikler

mServiceConnDelayPolicyCallback

Kamu işlevleri

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

Genel statik işlevler

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

Genel 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ı almak için geri arama.

Ayrıntılar
parametreler
[in] appState
SubscriptionClient'in başlatılması 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ğlanma girişiminden önce beklenecek milisaniye cinsinden süre.

TunnelConnBildirim Sebepleri

 TunnelConnNotifyReasons
Özellikleri
kStatus_TunBackupConnError

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

kStatus_TunBackupLiveness

Backup Weave tünelindeki Tünel Canlılığı probu hakkındaki bilgileri belirtmek için kullanılır.

kStatus_TunBackupOnlyDown

Yedek tünelin kapalı olduğunu belirtmek için kullanılır.

kStatus_TunBackupReconnectRcvd

Hizmetin Backup Weave tüneli için yeniden bağlantı istediğini belirtmek için kullanılır.

kStatus_TunBackupUp

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

kStatus_TunDown

Örgü tünelinin aşağı indiğini belirtmek için kullanılır.

kStatus_TunFailoverToBackup

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

kStatus_TunPrimaryAndBackupUp

Hem Birincil hem de Yedek Örgü 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 olanın yerel olarak iptal edildiğini veya eş tarafından kapatıldığını belirtmek için kullanılır.

kStatus_TunPrimaryLiveness

Birincil Örgü tünelindeki Tünel Canlılığı probu hakkındaki bilgileri belirtmek için kullanılır.

kStatus_TunPrimaryReconnectRcvd

Hizmetin Birincil Örgü tüneli için yeniden bağlantı talep ettiğini belirtmek için kullanılır.

kStatus_TunPrimaryUp

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

TunnelConnBildirim Sebepleri

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

TünelBağlantıDurumu

 TunnelConnectionState
Özellikleri
kState_Connecting

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

kState_ConnectionEstablished

Örgü Tüneli bağlantısının kurulduğunu ve rota bilgisi alışverişi yapıldığını belirtmek için kullanılır.

kState_NotConnected

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

kState_ReconnectRecvd

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

kState_TunnelClosing

Örgü Tünelinin kapandığını ve bağlantının kopmakta olduğunu belirtmek için kullanılır.

kState_TunnelOpen

Örgü Tünelinin açık ve veri trafiği geçişine hazır olduğunu belirtmek için kullanılır.

TünelBağlantı Durumu

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

Genel özellikler

mServiceConnDelayPolicyCallback

ConnectPolicyCallback mServiceConnDelayPolicyCallback

Kamu işlevleri

İçinde

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

ServisTünelKapat

void ServiceTunnelClose(
  WEAVE_ERROR err
)

Servis tünelini kapatın.

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

SetArayüzAdı

void SetInterfaceName(
  const char *intfName
)

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

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

SetInterfaceType

void SetInterfaceType(
  const SrcInterfaceType srcIntfType
)

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

Ayrıntılar
parametreler
[in] srcIntfType
Hizmet tüneli bağlantısı için arabirimin 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.

Şimdi Bağlanmayı Deneyin

WEAVE_ERROR TryConnectingNow(
  void
)

Hizmetle bağlantı kurmaya çalışın.

ServiceManager'ı kullanarak veya doğrudan Hizmetle bağlantı kurmaya çalışın.

ÖrgüTünelBağlantıMgr

 WeaveTunnelConnectionMgr(
  void
)

Genel statik işlevler

DefaultReconnectPolicyCallback

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

Hizmete bir sonraki bağlanışınızda getirme için varsayılan ilke uygulaması.

Bu politika, WEAVE_CONFIG_TUNNELING_RECONNECT_MAX_FIBONACCI_INDEX'e kadar bir fibonacci dizisini izleyerek artan bir pencerede rastgele bir zaman aralığı (milisaniye çözünürlükte) seçer.

Ayrıntılar
parametreler
[in] appState
SubscriptionClient'in başlatılması 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ğlanma girişiminden önce beklenecek milisaniye cinsinden süre.

HandleServiceConnectionKapalı

void HandleServiceConnectionClosed(
  WeaveConnection *con,
  WEAVE_ERROR conErr
)

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

mServiceConKeepAlive true olarak ayarlanmışsa, cihaz Hizmetle olan bağlantıyı yeniden kurmaya çalışır.

Cihaz daha sonra Hizmetle bağlantıyı yeniden kurmaya çalışır.

Ayrıntılar
parametreler
[in] con
Bir işaretçi WeaveConnection nesne.
[in] conErr
İçindeki herhangi bir hata WeaveConnection veya WEAVE_NO_ERROR.

HandleServiceConnectionComplete

void HandleServiceConnectionComplete(
  WeaveConnection *con,
  WEAVE_ERROR conErr
)

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

Cihaz, bu fonksiyondan Servise Tünel kontrol komutları başlatmaya devam eder.

Cihaz, bu fonksiyondan Servise Tünel kontrol komutları başlatmaya devam eder.

Ayrıntılar
parametreler
[in] con
Bir işaretçi WeaveConnection nesne.
[in] conErr
İçindeki herhangi bir hata WeaveConnection veya WEAVE_NO_ERROR.

RecvdFromService

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

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.

ServisMgrStatusHandler

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

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