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ığı ile işlevlerini içerir.
Özet
Hizmete giden Weave tünelinin geçtiği her arayüzde 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)
|
typedefvoid(*
Bir sonraki tünele yeniden bağlanmadan önce beklenecek zaman aralığını getirmek için geri çağırma. |
TunnelConnNotifyReasons{
|
enum |
TunnelConnNotifyReasons
|
typedef |
TunnelConnectionState{
|
enum |
TunnelConnectionState
|
typedef |
Herkese açık özellikler |
|
---|---|
mServiceConnDelayPolicyCallback
|
Kamu işlevleri |
|
---|---|
Init(WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName)
|
WeaveTunnelConnectionMgr parametresini başlatın.
|
ServiceTunnelClose(WEAVE_ERROR err)
|
void
Hizmet tünelini kapatın.
|
SetInterfaceName(const char *intfName)
|
void
Tunnel 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
WeaveTunnelConnectionMgr parametresini kapatın.
|
StopAndReconnectTunnelConn(ReconnectParam & reconnParam)
|
void
Hizmet tüneli bağlantısını durdurun ve yeniden bağlanmayı deneyin.
|
TryConnectingNow(void)
|
Hizmet ile bağlantı kurmayı deneyin.
|
Herkese açık statik işlevler |
|
---|---|
DefaultReconnectPolicyCallback(void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec)
|
void
Hizmete bir sonraki bağlanma işleminde getirme için varsayılan politika 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
İşleyici. Hizmet TCP bağlantısından tünelli IPv6 paketlerini alacak ve ham IPv6 paketinin kopyasını tünel başlığının içinden çıkardıktan sonra Tünel EndPoint arayüzüne iletecektir.
|
ServiceMgrStatusHandler(void *appState, WEAVE_ERROR err, StatusReport *report)
|
void
Hizmet Yöneticisi, Hizmet'e 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ünele yeniden bağlanmadan önce beklenecek zaman aralığını getirmek için geri çağırma.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
TunnelConnNotifyReasons
TunnelConnNotifyReasons
Özellikler | |
---|---|
kStatus_TunBackupConnError
|
Bir yedek tünel bağlantı girişiminin başarısız olduğunu veya mevcut bir girişimin yerel olarak iptal edildiğini ya da eş tarafından kapatıldığını belirtmek için kullanılır. |
kStatus_TunBackupLiveness
|
Yedek Örgü tünelindeki Tünel Yayın Durumu kontrolüyle ilgili bilgileri göstermek için kullanılır. |
kStatus_TunBackupOnlyDown
|
Yedek tünelin devre dışı olduğunu belirtmek için kullanılır. |
kStatus_TunBackupReconnectRcvd
|
Hizmetin, Yedek Weave tüneline yeniden bağlanma isteğinde bulunduğunu belirtmek için kullanılır. |
kStatus_TunBackupUp
|
Yedek Weave tünelinin açık olduğunu belirtmek için kullanılır. |
kStatus_TunDown
|
Weave tünelinin çöktüğünü göstermek için kullanılır. |
kStatus_TunFailoverToBackup
|
Birincil tünelin devre dışı olduğunu ve yedek tünele geçiş yapıldığını göstermek için kullanılır. |
kStatus_TunPrimaryAndBackupUp
|
Hem Birincil hem de Yedek Örgü tünelinin açık olduğunu belirtmek için kullanılır. |
kStatus_TunPrimaryConnError
|
Birincil tünel bağlantı girişiminin başarısız olduğunu veya mevcut bir bağlantı girişiminin yerel olarak iptal edildiğini ya da eş tarafından kapatıldığını belirtmek için kullanılır. |
kStatus_TunPrimaryLiveness
|
Birincil Örgü tünelindeki Tünel Yayın Durumu kontrolüyle ilgili bilgileri göstermek için kullanılır. |
kStatus_TunPrimaryReconnectRcvd
|
Hizmetin Birincil Weave tüneline yeniden bağlanma isteğinde bulunduğunu belirtmek için kullanılır. |
kStatus_TunPrimaryUp
|
Birincil Weave tünelinin açık olduğunu belirtmek için kullanılır. |
TunnelConnNotifyReasons
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
TunnelConnectionState
TunnelConnectionState
Özellikler | |
---|---|
kState_Connecting
|
Weave Tunnel bağlantısının başlatıldığını belirtmek için kullanılır. |
kState_ConnectionEstablished
|
Weave Tüneli bağlantısının kurulduğunu ve rota bilgilerinin paylaşıldığını göstermek için kullanılır. |
kState_NotConnected
|
Weave Tüneli'nin bağlı olmadığını göstermek için kullanılır. |
kState_ReconnectRecvd
|
Hizmetin, dizin araması sonrasında sınır ağ geçidinin yeniden bağlanmasını istediğini belirtmek için kullanılır. |
kState_TunnelClosing
|
Weave Tüneli'nin kapandığını ve bağlantının sonlandırıldığını belirtmek için kullanılır. |
kState_TunnelOpen
|
Weave Tüneli'nin açık ve veri trafiği aktarımına 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
Kamu işlevleri
Başlat
WEAVE_ERROR Init( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName )
WeaveTunnelConnectionMgr parametresini başlatın.
ServiceTunnelClose
void ServiceTunnelClose( WEAVE_ERROR err )
Hizmet tünelini kapatın.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
SetInterfaceName
void SetInterfaceName( const char *intfName )
Tunnel 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 |
|
TryConnectingNow
WEAVE_ERROR TryConnectingNow( void )
Hizmet ile bağlantı kurmayı deneyin.
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ğlanma işleminde getirme için varsayılan politika uygulaması.
Bu politika, WEAVE_CONFIG_TUNNELING_RECONNECT_MAX_FIBONACCI_INDEX değerine kadar bir fibonacci dizisini takip ederek, artan bir zaman aralığında rastgele bir zaman dilimi (milisaniyelik çözünürlüğe sahip) seçer.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
HandleServiceConnectionClosed
void HandleServiceConnectionClosed( WeaveConnection *con, WEAVE_ERROR conErr )
Hizmet TCP bağlantısı kapatıldığında işleyici çağrılır.
mServiceConKeepAlive Doğru değerine ayarlanırsa cihaz, Hizmet ile bağlantıyı yeniden kurmaya çalışır.
Bunun ardından cihaz, Hizmet ile 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 işlevden Hizmet'e Tünel kontrolü komutlarını başlatır.
Cihaz, bu işlevden Hizmet'e Tünel kontrolü komutlarını başlatır.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
RecvdFromService
void RecvdFromService( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message )
İşleyici. Hizmet TCP bağlantısından tünelli IPv6 paketlerini alacak ve ham IPv6 paketinin kopyasını tünel başlığının içinden çıkardıktan sonra Tünel EndPoint arayüzüne iletecektir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
ServiceMgrStatusHandler
void ServiceMgrStatusHandler( void *appState, WEAVE_ERROR err, StatusReport *report )
Hizmet Yöneticisi, Hizmet'e TCP bağlantısı kuramazsa işleyici çağrılır.