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 atas setiap antarmuka tempat tunnel Weave ke Layanan akan ada.
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 Layanan.
|
SetInterfaceName(const char *intfName)
|
void
Menetapkan InterfaceName untuk koneksi Tunnel.
|
SetInterfaceType(const SrcInterfaceType srcIntfType)
|
void
Menetapkan SrcInterfaceType untuk koneksi Tunnel.
|
Shutdown(void)
|
void
Matikan WeaveTunnelConnectionMgr.
|
StopAndReconnectTunnelConn(ReconnectParam & reconnParam)
|
void
Hentikan koneksi tunnel Service dan coba hubungkan kembali.
|
TryConnectingNow(void)
|
Mencoba membuat koneksi ke Layanan.
|
Fungsi statis publik |
|
---|---|
DefaultReconnectPolicyCallback(void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec)
|
void
Implementasi kebijakan default untuk mengambil saat berikutnya 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
Handler 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 yang 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 gagal atau koneksi yang ada telah dibatalkan atau ditutup secara lokal oleh peer. |
kStatus_TunBackupLiveness
|
Digunakan untuk menunjukkan informasi mengenai probe Keaktifan Tunnel pada 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 Backup Weave. |
kStatus_TunBackupUp
|
Digunakan untuk menunjukkan bahwa tunnel Backup Weave sudah aktif. |
kStatus_TunDown
|
Digunakan untuk menunjukkan bahwa terowongan Weave telah mati. |
kStatus_TunFailoverToBackup
|
Digunakan untuk menunjukkan bahwa tunnel utama tidak aktif dan telah terjadi peralihan ke tunnel cadangan. |
kStatus_TunPrimaryAndBackupUp
|
Digunakan untuk menunjukkan bahwa tunnel Utama dan Cadangan Weave sudah aktif. |
kStatus_TunPrimaryConnError
|
Digunakan untuk menunjukkan bahwa upaya koneksi tunnel utama telah gagal atau koneksi yang ada telah dibatalkan atau ditutup secara lokal oleh peer. |
kStatus_TunPrimaryLiveness
|
Digunakan untuk menunjukkan informasi mengenai probe Keaktifan Terowongan di terowongan Primary Weave. |
kStatus_TunPrimaryReconnectRcvd
|
Digunakan untuk menunjukkan bahwa Layanan telah meminta koneksi kembali untuk tunnel Primary Weave. |
kStatus_TunPrimaryUp
|
Digunakan untuk menunjukkan bahwa terowongan Weave utama sudah aktif. |
TunnelConnNotifyReasons
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
TunnelConnectionState
TunnelConnectionState
Properti | |
---|---|
kState_Connecting
|
Digunakan untuk menunjukkan bahwa koneksi Terowongan Weave telah dimulai. |
kState_ConnectionEstablished
|
Digunakan untuk menunjukkan bahwa koneksi Terowongan Weave telah dibuat dan informasi rute sedang dipertukarkan. |
kState_NotConnected
|
Digunakan untuk menunjukkan bahwa Terowongan Weave 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 Terowongan Weave terbuka dan siap untuk transit lalu lintas data. |
TunnelConnectionState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnectionState TunnelConnectionState
Atribut publik
mServiceConnDelayPolicyCallback
ConnectPolicyCallback mServiceConnDelayPolicyCallback
Fungsi publik
Inisiasi
WEAVE_ERROR Init( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName )
Lakukan inisialisasi WeaveTunnelConnectionMgr.
ServiceTunnelClose
void ServiceTunnelClose( WEAVE_ERROR err )
Tutup tunnel Layanan.
Detail | |||
---|---|---|---|
Parameter |
|
SetInterfaceName
void SetInterfaceName( const char *intfName )
Menetapkan InterfaceName untuk koneksi Tunnel.
Detail | |||
---|---|---|---|
Parameter |
|
SetInterfaceType
void SetInterfaceType( const SrcInterfaceType srcIntfType )
Menetapkan SrcInterfaceType untuk koneksi Tunnel.
Detail | |||
---|---|---|---|
Parameter |
|
StopAndReconnectTunnelConn
void StopAndReconnectTunnelConn( ReconnectParam & reconnParam )
Hentikan koneksi tunnel Service dan coba hubungkan kembali.
Detail | |||
---|---|---|---|
Parameter |
|
TryConnectingNow
WEAVE_ERROR TryConnectingNow( void )
Mencoba 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 saat berikutnya terhubung ke Layanan.
Kebijakan ini memilih slot waktu acak (dengan resolusi milidetik) pada jendela yang meningkat, mengikuti urutan fibonacci hingga WEAVE_CONFIG_DPCING_RECONNECT_MAX_FIBONACCI_INDEX.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
HandleServiceConnectionClosed
void HandleServiceConnectionClosed( WeaveConnection *con, WEAVE_ERROR conErr )
Pengendali dipanggil saat koneksi TCP Layanan ditutup.
Perangkat mencoba membuat kembali koneksi ke Layanan jika mServiceConKeepAlive disetel ke benar (true).
Perangkat, kemudian, mencoba membuat kembali koneksi ke Layanan.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
HandleServiceConnectionComplete
void HandleServiceConnectionComplete( WeaveConnection *con, WEAVE_ERROR conErr )
Pengendali dipanggil saat koneksi TCP Layanan selesai.
Perangkat melanjutkan memulai perintah kontrol Tunnel ke Layanan dari fungsi ini.
Perangkat melanjutkan memulai perintah kontrol Tunnel ke Layanan dari fungsi ini.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
RecvdFromService
void RecvdFromService( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message )
Handler 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 yang dipanggil jika Pengelola Layanan gagal membuat koneksi TCP ke Layanan.