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) | typedefvoid(* Bir sonraki tünel yeniden bağlanmadan önce beklenecek zaman aralığını almak için geri arama. |
TunnelConnNotifyReasons { | Sıralama |
TunnelConnNotifyReasons | typedef |
TunnelConnectionState { | Sıralama |
TunnelConnectionState | typedef |
Genel özellikler | |
---|---|
mServiceConnDelayPolicyCallback |
Kamu işlevleri | |
---|---|
Init ( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName) | Başlatma WeaveTunnelConnectionMgr . |
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 Kapatma WeaveTunnelConnectionMgr . |
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 |
|
TunnelConnBildirim Sebepleri
TunnelConnNotifyReasons
TunnelConnBildirim Sebepleri
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
TünelBağlantıDurumu
TunnelConnectionState
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 )
Başlatma WeaveTunnelConnectionMgr .
ServisTünelKapat
void ServiceTunnelClose( WEAVE_ERROR err )
Servis tünelini kapatın.
Ayrıntılar | |||
---|---|---|---|
parametreler |
|
SetArayüzAdı
void SetInterfaceName( const char *intfName )
Tünel bağlantısı için InterfaceName ayarlayın.
Ayrıntılar | |||
---|---|---|---|
parametreler |
|
SetInterfaceType
void SetInterfaceType( const SrcInterfaceType srcIntfType )
Tünel bağlantısı için SrcInterfaceType'ı ayarlayın.
Ayrıntılar | |||
---|---|---|---|
parametreler |
|
StopAndReconnectTunnelConn
void StopAndReconnectTunnelConn( ReconnectParam & reconnParam )
Hizmet tüneli bağlantısını durdurun ve yeniden bağlanmayı deneyin.
Ayrıntılar | |||
---|---|---|---|
parametreler |
|
Ş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 |
|
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 |
|
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 |
|
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 |
|
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.