nl:: Menenun:: Profil:: Terowongan Tenun:: WeaveTunnelConnectionMgr
#include <src/lib/profiles/weave-tunneling/WeaveTunnelConnectionMgr.h>
Kelas ini merangkum semua status koneksi terowongan Weave dan logika serta fungsi manajemen terkait.
Ringkasan
Sebuah instance dari kelas ini akan digunakan untuk mengelola terowongan di atas setiap antarmuka di mana terowongan Weave ke Layanan akan ada.
Konstruktor dan Destruktor | |
---|---|
WeaveTunnelConnectionMgr (void) |
Tipe publik | |
---|---|
ConnectPolicyCallback )(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec) | typedefvoid(* Panggilan balik untuk mengambil interval waktu untuk menunggu sebelum terowongan 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) | Menginisialisasi WeaveTunnelConnectionMgr . |
ServiceTunnelClose ( WEAVE_ERROR err) | void Tutup terowongan Layanan. |
SetInterfaceName (const char *intfName) | void Atur InterfaceName untuk koneksi Tunnel. |
SetInterfaceType (const SrcInterfaceType srcIntfType) | void Setel SrcInterfaceType untuk koneksi Tunnel. |
Shutdown (void) | void Shutdown WeaveTunnelConnectionMgr . |
StopAndReconnectTunnelConn ( ReconnectParam & reconnParam) | void Hentikan koneksi terowongan Layanan dan coba sambungkan 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 waktu berikutnya untuk terhubung ke Layanan. |
HandleServiceConnectionClosed ( WeaveConnection *con, WEAVE_ERROR conErr) | void Handler dipanggil saat koneksi Service TCP ditutup. |
HandleServiceConnectionComplete ( WeaveConnection *con, WEAVE_ERROR conErr) | void Handler dipanggil saat koneksi Service TCP selesai. |
RecvdFromService ( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message) | void Handler untuk menerima paket IPv6 tunnel dari koneksi Service TCP dan meneruskan ke antarmuka Tunnel EndPoint setelah mendekapsulasi paket IPv6 mentah dari dalam header tunnel. |
ServiceMgrStatusHandler (void *appState, WEAVE_ERROR err, StatusReport *report) | void Handler dipanggil jika Service Manager gagal membuat koneksi TCP ke Service. |
Tipe publik
ConnectPolicyCallback
void(* ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
Panggilan balik untuk mengambil interval waktu untuk menunggu sebelum terowongan berikutnya terhubung kembali.
rincian | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
TunnelConnNotifyAlasan
TunnelConnNotifyReasons
TunnelConnNotifyAlasan
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
Status Koneksi Terowongan
TunnelConnectionState
Status Koneksi Terowongan
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 )
Menginisialisasi WeaveTunnelConnectionMgr .
LayananTerowonganTutup
void ServiceTunnelClose( WEAVE_ERROR err )
Tutup terowongan Layanan.
rincian | |||
---|---|---|---|
Parameter |
|
SetInterfaceName
void SetInterfaceName( const char *intfName )
Atur InterfaceName untuk koneksi Tunnel.
rincian | |||
---|---|---|---|
Parameter |
|
SetInterfaceType
void SetInterfaceType( const SrcInterfaceType srcIntfType )
Setel SrcInterfaceType untuk koneksi Tunnel.
rincian | |||
---|---|---|---|
Parameter |
|
StopAndReconnectTunnelConn
void StopAndReconnectTunnelConn( ReconnectParam & reconnParam )
Hentikan koneksi terowongan Layanan dan coba sambungkan kembali.
rincian | |||
---|---|---|---|
Parameter |
|
Coba Hubungkan Sekarang
WEAVE_ERROR TryConnectingNow( void )
Mencoba membuat koneksi ke Layanan.
Cobalah untuk membuat koneksi ke Layanan baik 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) melalui jendela yang meningkat, mengikuti urutan fibonacci hingga WEAVE_CONFIG_TUNNELING_RECONNECT_MAX_FIBONACCI_INDEX.
rincian | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
HandleServiceConnectionDitutup
void HandleServiceConnectionClosed( WeaveConnection *con, WEAVE_ERROR conErr )
Handler dipanggil saat koneksi Service TCP ditutup.
Perangkat mencoba membangun kembali koneksi ke Layanan jika mServiceConKeepAlive disetel ke true.
Perangkat, selanjutnya, mencoba membangun kembali koneksi ke Layanan.
rincian | |||||
---|---|---|---|---|---|
Parameter |
|
PeganganLayananKoneksiSelesai
void HandleServiceConnectionComplete( WeaveConnection *con, WEAVE_ERROR conErr )
Handler dipanggil saat koneksi Service TCP selesai.
Perangkat melanjutkan untuk memulai perintah kontrol Tunnel ke Layanan dari fungsi ini.
Perangkat melanjutkan untuk memulai perintah kontrol Tunnel ke Layanan dari fungsi ini.
rincian | |||||
---|---|---|---|---|---|
Parameter |
|
RecvdFromLayanan
void RecvdFromService( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message )
Handler untuk menerima paket IPv6 tunnel dari koneksi Service TCP dan meneruskan ke antarmuka Tunnel EndPoint setelah mendekapsulasi paket IPv6 mentah dari dalam header tunnel.
rincian | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
ServiceMgrStatusHandler
void ServiceMgrStatusHandler( void *appState, WEAVE_ERROR err, StatusReport *report )
Handler dipanggil jika Service Manager gagal membuat koneksi TCP ke Service.