nl:: Weave:: Profiles:: WeaveTunnel:: WeaveTunnelConnectionMgr
#include <src/lib/profiles/weave-tunneling/WeaveTunnelConnectionMgr.h>
Class ini mengenkapsulasi semua status koneksi tunnel Weave serta logika dan fungsi pengelolaan terkait.
Ringkasan
Instance class ini akan digunakan untuk mengelola tunnel di setiap antarmuka tempat tunnel Weave ke Service berada.
Konstruktor dan Destruktor |
|
---|---|
WeaveTunnelConnectionMgr(void)
|
Jenis publik |
|
---|---|
ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
|
typedefvoid(*
Callback untuk mengambil interval waktu tunggu sebelum tunnel berikutnya terhubung kembali. |
TunnelConnNotifyReasons{
|
enum |
TunnelConnNotifyReasons
|
typedef |
TunnelConnectionState{
|
enum |
TunnelConnectionState
|
typedef |
Atribut publik |
|
---|---|
mServiceConnDelayPolicyCallback
|
Fungsi publik |
|
---|---|
Init(WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName)
|
Lakukan inisialisasi WeaveTunnelConnectionMgr.
|
ServiceTunnelClose(WEAVE_ERROR err)
|
void
Tutup tunnel Service.
|
SetInterfaceName(const char *intfName)
|
void
Setel InterfaceName untuk koneksi Tunnel.
|
SetInterfaceType(const SrcInterfaceType srcIntfType)
|
void
Menyetel SrcInterfaceType untuk koneksi Tunnel.
|
Shutdown(void)
|
void
Matikan WeaveTunnelConnectionMgr.
|
StopAndReconnectTunnelConn(ReconnectParam & reconnParam)
|
void
Hentikan koneksi tunnel Layanan dan coba hubungkan kembali.
|
TryConnectingNow(void)
|
Berupaya membuat koneksi ke Layanan.
|
Fungsi statis publik |
|
---|---|
DefaultReconnectPolicyCallback(void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec)
|
void
Implementasi kebijakan default untuk mengambil waktu berikutnya untuk terhubung ke Layanan.
|
HandleServiceConnectionClosed(WeaveConnection *con, WEAVE_ERROR conErr)
|
void
Pengendali dipanggil saat koneksi TCP Layanan ditutup.
|
HandleServiceConnectionComplete(WeaveConnection *con, WEAVE_ERROR conErr)
|
void
Pengendali dipanggil saat koneksi TCP Layanan selesai.
|
RecvdFromService(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message)
|
void
Pengendali untuk menerima paket IPv6 yang disalurkan dari koneksi TCP Layanan dan meneruskan ke antarmuka Tunnel EndPoint setelah mendekapsulasi paket IPv6 mentah dari dalam header tunnel.
|
ServiceMgrStatusHandler(void *appState, WEAVE_ERROR err, StatusReport *report)
|
void
Pengendali dipanggil jika Pengelola Layanan gagal membuat koneksi TCP ke Layanan.
|
Jenis publik
ConnectPolicyCallback
void(* ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
Callback untuk mengambil interval waktu tunggu sebelum tunnel berikutnya terhubung kembali.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
TunnelConnNotifyReasons
TunnelConnNotifyReasons
Properti | |
---|---|
kStatus_TunBackupConnError
|
Digunakan untuk menunjukkan bahwa upaya koneksi tunnel cadangan telah gagal atau koneksi yang ada dibatalkan atau ditutup secara lokal oleh peer. |
kStatus_TunBackupLiveness
|
Digunakan untuk menunjukkan informasi tentang pemeriksaan Keaktifan Terowongan di terowongan Backup Weave. |
kStatus_TunBackupOnlyDown
|
Digunakan untuk menunjukkan bahwa tunnel cadangan sedang tidak aktif. |
kStatus_TunBackupReconnectRcvd
|
Digunakan untuk menunjukkan bahwa Layanan telah meminta koneksi ulang untuk tunnel Weave Cadangan. |
kStatus_TunBackupUp
|
Digunakan untuk menunjukkan bahwa tunnel Weave Pencadangan sudah aktif. |
kStatus_TunDown
|
Digunakan untuk menunjukkan bahwa terowongan Weave telah turun. |
kStatus_TunFailoverToBackup
|
Digunakan untuk menunjukkan bahwa tunnel utama sedang tidak aktif dan telah terjadi peralihan ke tunnel cadangan. |
kStatus_TunPrimaryAndBackupUp
|
Digunakan untuk menunjukkan bahwa tunnel Weave Utama dan Cadangan Weave sudah aktif. |
kStatus_TunPrimaryConnError
|
Digunakan untuk menunjukkan bahwa upaya koneksi tunnel utama telah gagal atau upaya yang ada dibatalkan atau ditutup secara lokal oleh peer. |
kStatus_TunPrimaryLiveness
|
Digunakan untuk menunjukkan informasi tentang pemeriksaan Keaktifan Terowongan di terowongan Primary Weave. |
kStatus_TunPrimaryReconnectRcvd
|
Digunakan untuk menunjukkan bahwa Layanan telah meminta koneksi ulang untuk tunnel Weave Utama. |
kStatus_TunPrimaryUp
|
Digunakan untuk menunjukkan bahwa terowongan Weave utama sudah naik. |
TunnelConnNotifyReasons
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
TunnelConnectionState
TunnelConnectionState
Properti | |
---|---|
kState_Connecting
|
Digunakan untuk menunjukkan bahwa koneksi Weave Tunnel telah dimulai. |
kState_ConnectionEstablished
|
Digunakan untuk menunjukkan bahwa koneksi Terowongan Weave telah dibuat dan informasi rute dipertukarkan. |
kState_NotConnected
|
Digunakan untuk menunjukkan bahwa Weave Tunnel tidak terhubung. |
kState_ReconnectRecvd
|
Digunakan untuk menunjukkan bahwa Layanan ingin gateway batas terhubung kembali setelah pencarian direktori. |
kState_TunnelClosing
|
Digunakan untuk menunjukkan bahwa Weave Tunnel ditutup dan koneksi sedang diputus. |
kState_TunnelOpen
|
Digunakan untuk menunjukkan bahwa Weave Tunnel terbuka dan siap untuk transit lalu lintas data. |
TunnelConnectionState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnectionState TunnelConnectionState
Atribut publik
mServiceConnDelayPolicyCallback
ConnectPolicyCallback mServiceConnDelayPolicyCallback
Fungsi publik
Init
WEAVE_ERROR Init( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName )
Lakukan inisialisasi WeaveTunnelConnectionMgr.
ServiceTunnelClose
void ServiceTunnelClose( WEAVE_ERROR err )
Tutup tunnel Service.
Detail | |||
---|---|---|---|
Parameter |
|
SetInterfaceName
void SetInterfaceName( const char *intfName )
Setel InterfaceName untuk koneksi Tunnel.
Detail | |||
---|---|---|---|
Parameter |
|
SetInterfaceType
void SetInterfaceType( const SrcInterfaceType srcIntfType )
Menyetel SrcInterfaceType untuk koneksi Tunnel.
Detail | |||
---|---|---|---|
Parameter |
|
StopAndReconnectTunnelConn
void StopAndReconnectTunnelConn( ReconnectParam & reconnParam )
Hentikan koneksi tunnel Layanan dan coba hubungkan kembali.
Detail | |||
---|---|---|---|
Parameter |
|
TryConnectingNow
WEAVE_ERROR TryConnectingNow( void )
Berupaya membuat koneksi ke Layanan.
Coba buat koneksi ke Layanan menggunakan ServiceManager atau secara langsung.
WeaveTunnelConnectionMgr
WeaveTunnelConnectionMgr( void )
Fungsi statis publik
DefaultReconnectPolicyCallback
void DefaultReconnectPolicyCallback( void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec )
Implementasi kebijakan default untuk mengambil waktu berikutnya untuk terhubung ke Layanan.
Kebijakan ini memilih slot waktu acak (dengan resolusi milidetik) pada jendela yang meningkat, mengikuti urutan fibonacci hingga WEAVE_CONFIG_ multi-tripING_RECONNECT_MAX_FIBONACCI_INDEX.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
HandleServiceConnectionClosed
void HandleServiceConnectionClosed( WeaveConnection *con, WEAVE_ERROR conErr )
Pengendali dipanggil saat koneksi TCP Layanan ditutup.
Perangkat akan mencoba membuat kembali koneksi ke Layanan jika mServiceConKeepAlive disetel ke benar (true).
Kemudian, perangkat mencoba membuat kembali koneksi ke Layanan.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
HandleServiceConnectionComplete
void HandleServiceConnectionComplete( WeaveConnection *con, WEAVE_ERROR conErr )
Pengendali dipanggil saat koneksi TCP Layanan selesai.
Perangkat akan melanjutkan perintah kontrol Tunnel ke Service dari fungsi ini.
Perangkat akan melanjutkan perintah kontrol Tunnel ke Service dari fungsi ini.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
RecvdFromService
void RecvdFromService( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message )
Pengendali untuk menerima paket IPv6 yang disalurkan dari koneksi TCP Layanan dan meneruskan ke antarmuka Tunnel EndPoint setelah mendekapsulasi paket IPv6 mentah dari dalam header tunnel.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
ServiceMgrStatusHandler
void ServiceMgrStatusHandler( void *appState, WEAVE_ERROR err, StatusReport *report )
Pengendali dipanggil jika Pengelola Layanan gagal membuat koneksi TCP ke Layanan.