Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

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) typedef
void(*
Panggilan balik untuk mengambil interval waktu untuk menunggu sebelum terowongan berikutnya terhubung kembali.
TunnelConnNotifyReasons {
kStatus_TunDown = 0,
kStatus_TunPrimaryUp = 1,
kStatus_TunPrimaryConnError = 2,
kStatus_TunBackupConnError = 3,
kStatus_TunFailoverToBackup = 4,
kStatus_TunBackupOnlyDown = 5,
kStatus_TunBackupUp = 6,
kStatus_TunPrimaryAndBackupUp = 7,
kStatus_TunPrimaryReconnectRcvd = 8,
kStatus_TunBackupReconnectRcvd = 9,
kStatus_TunPrimaryLiveness = 10,
kStatus_TunBackupLiveness = 11
}
enum
TunnelConnNotifyReasons typedef
TunnelConnectionState {
kState_NotConnected = 0,
kState_Connecting = 1,
kState_ConnectionEstablished = 2,
kState_TunnelOpen = 3,
kState_TunnelClosing = 4,
kState_ReconnectRecvd = 5
}
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
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
[in] appState
Penunjuk status aplikasi disetel selama inisialisasi SubscriptionClient.
[in] reconnectParam
Struktur dengan parameter yang mempengaruhi perhitungan delay rekoneksi.
[out] delayMsec
Waktu dalam milidetik untuk menunggu sebelum upaya penyambungan kembali berikutnya.

TunnelConnNotifyAlasan

 TunnelConnNotifyReasons
Properti
kStatus_TunBackupConnError

Digunakan untuk menunjukkan bahwa upaya koneksi terowongan cadangan telah gagal atau yang sudah ada dibatalkan atau ditutup secara lokal oleh rekan.

kStatus_TunBackupLiveness

Digunakan untuk menunjukkan informasi tentang probe Tunnel Liveness pada terowongan Backup Weave.

kStatus_TunBackupOnlyDown

Digunakan untuk menunjukkan bahwa terowongan cadangan sedang down.

kStatus_TunBackupReconnectRcvd

Digunakan untuk menunjukkan bahwa Layanan telah meminta koneksi ulang untuk terowongan Backup Weave.

kStatus_TunBackupUp

Digunakan untuk menunjukkan bahwa terowongan Backup Weave sudah habis.

kStatus_TunDown

Digunakan untuk menunjukkan bahwa terowongan Weave telah turun.

kStatus_TunFailoverToBackup

Digunakan untuk menunjukkan bahwa terowongan utama sedang down dan peralihan ke terowongan cadangan telah terjadi.

kStatus_TunPrimaryAndBackupUp

Digunakan untuk menunjukkan bahwa terowongan Weave Utama dan Cadangan sudah aktif.

kStatus_TunPrimaryConnError

Digunakan untuk menunjukkan bahwa upaya koneksi terowongan utama telah gagal atau yang sudah ada dibatalkan atau ditutup secara lokal oleh rekan.

kStatus_TunPrimaryLiveness

Digunakan untuk menunjukkan informasi tentang probe Tunnel Liveness pada terowongan Primary Weave.

kStatus_TunPrimaryReconnectRcvd

Digunakan untuk menunjukkan bahwa Layanan telah meminta koneksi ulang untuk terowongan Weave Utama.

kStatus_TunPrimaryUp

Digunakan untuk menunjukkan bahwa terowongan Weave utama sudah habis.

TunnelConnNotifyAlasan

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons

Status Koneksi Terowongan

 TunnelConnectionState
Properti
kState_Connecting

Digunakan untuk menunjukkan bahwa koneksi Weave Tunnel telah dimulai.

kState_ConnectionEstablished

Digunakan untuk menunjukkan bahwa koneksi Weave Tunnel dibuat dan informasi rute sedang dipertukarkan.

kState_NotConnected

Digunakan untuk menunjukkan bahwa Weave Tunnel tidak terhubung.

kState_ReconnectRecvd

Digunakan untuk menunjukkan bahwa Layanan ingin gateway perbatasan terhubung kembali setelah pencarian direktori.

kState_TunnelClosing

Digunakan untuk menunjukkan bahwa Weave Tunnel sedang ditutup dan koneksi sedang dirobohkan.

kState_TunnelOpen

Digunakan untuk menunjukkan bahwa Weave Tunnel terbuka dan siap untuk transit lalu lintas data.

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
[in] err
WEAVE_ERROR masuk dari penelepon.

SetInterfaceName

void SetInterfaceName(
  const char *intfName
)

Atur InterfaceName untuk koneksi Tunnel.

rincian
Parameter
[in] tunIntf
InterfaceName untuk mengatur koneksi terowongan Layanan.

SetInterfaceType

void SetInterfaceType(
  const SrcInterfaceType srcIntfType
)

Setel SrcInterfaceType untuk koneksi Tunnel.

rincian
Parameter
[in] srcIntfType
Jenis teknologi jaringan antarmuka untuk koneksi terowongan Layanan.

Menutup

void Shutdown(
  void
)

StopAndReconnectTunnelConn

void StopAndReconnectTunnelConn(
  ReconnectParam & reconnParam
)

Hentikan koneksi terowongan Layanan dan coba sambungkan kembali.

rincian
Parameter
[in] err
WEAVE_ERROR masuk dari penelepon.

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
[in] appState
Penunjuk status aplikasi disetel selama inisialisasi SubscriptionClient.
[in] reconnectParam
Struktur dengan parameter yang mempengaruhi perhitungan delay rekoneksi.
[out] delayMsec
Waktu dalam milidetik untuk menunggu sebelum upaya penyambungan kembali berikutnya.

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
[in] con
Sebuah pointer ke WeaveConnection objek.
[in] conErr
Kesalahan dalam WeaveConnection atau WEAVE_NO_ERROR.

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
[in] con
Sebuah pointer ke WeaveConnection objek.
[in] conErr
Kesalahan dalam WeaveConnection atau WEAVE_NO_ERROR.

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
[in] con
Sebuah pointer ke WeaveConnection objek.
[in] msgInfo
Sebuah pointer ke WeaveMessageInfo objek.
[in] message
Sebuah pointer ke objek PacketBuffer yang memegang paket IPv6 tunneled.

ServiceMgrStatusHandler

void ServiceMgrStatusHandler(
  void *appState,
  WEAVE_ERROR err,
  StatusReport *report
)

Handler dipanggil jika Service Manager gagal membuat koneksi TCP ke Service.