nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent

Ringkasan

Konstruktor dan Destruktor

WeaveTunnelAgent(void)

Jenis publik

AgentState{
  kState_NotInitialized = 0,
  kState_Initialized_NoTunnel = 1,
  kState_PrimaryTunModeEstablished = 2,
  kState_BkupOnlyTunModeEstablished = 3,
  kState_PrimaryAndBkupTunModeEstablished = 4
}
enum
Status Agen Tunnel dalam kaitannya dengan koneksinya ke Layanan.
AgentState typedef
Status Agen Tunnel dalam kaitannya dengan koneksinya ke Layanan.
OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt) typedef
void(*
Pointer fungsi ke pengendali yang ditetapkan oleh lapisan yang lebih tinggi saat Tunnel Hubungkan kembali diterima dari Layanan.
OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt) typedef
void(*
Pointer fungsi ke pengendali yang ditetapkan oleh lapisan yang lebih tinggi untuk bertindak berdasarkan berbagai notifikasi yang terkait dengan tunnel ke Layanan.
PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt) typedef
void(*
Pointer fungsi ke pengendali yang disediakan oleh aplikasi untuk melakukan pemeriksaan online tingkat jaringan.
WeaveTunnelFlags{
  kTunnelFlag_PrimaryEnabled = 0x01,
  kTunnelFlag_BackupEnabled = 0x02,
  kTunnelFlag_PrimaryRestricted = 0x04,
  kTunnelFlag_BackupRestricted = 0x08
}
enum
Bit bendera Weave Tunnel.
WeaveTunnelFlags typedef
Bit bendera Weave Tunnel.

Atribut publik

NetworkOnlineCheck
OnServiceTunReconnectNotify
OnServiceTunStatusNotify
Pointer fungsi ke pengendali yang ditetapkan oleh lapisan yang lebih tinggi untuk bertindak berdasarkan berbagai notifikasi yang terkait dengan tunnel ke Layanan.
mServiceMgr
WeaveServiceManager *
Pointer Service Manager yang digunakan untuk mencari dan terhubung ke Service.

Fungsi publik

DisablePrimaryTunnel(void)
void
Nonaktifkan Tunnel Utama.
EnablePrimaryTunnel(void)
void
Aktifkan Tunnel Utama.
GetAgentStateName(const AgentState state)
const char *
Mendapatkan nama WeaveTunnelAgentState.
GetTimeMsec(void)
uint64_t
Mendapatkan waktu sistem dalam milidetik.
GetWeaveTunnelAgentState(void)
Mendapatkan status TunnelAgent.
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, WeaveAuthMode authMode, WeaveServiceManager *svcMgr, const char *intfName, uint8_t role, void *appContext)
Menginisialisasi agen Tunnel.
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext)
Menginisialisasi agen Tunnel.
IsPrimaryTunnelEnabled(void) const
bool
Periksa apakah tunnel utama diaktifkan.
IsPrimaryTunnelRoutingRestricted(void)
bool
Periksa apakah tunnel utama tunduk pada batasan pemilihan rute oleh layanan.
IsTunnelRoutingRestricted(void)
bool
Periksa apakah tunnel tunduk pada pembatasan pemilihan rute oleh layanan.
NetworkOnlineCheckResult(TunnelType tunType, bool isOnline)
void
Callback yang dipanggil oleh platform saat hasil pemeriksa online jaringan tersedia.
ResetPrimaryReconnectBackoff(bool reconnectImmediately)
Reset waktu Hubungkan kembali untuk tunnel utama.
SetAuthMode(const WeaveAuthMode authMode)
void
Setel WeaveAuthMode untuk Tunnel.
SetDestination(const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort)
void
Tetapkan nodeId, IPAddress, dan port tujuan untuk Tunnel.
SetTunnelingDeviceRole(const Role role)
void
Setel peran perangkat Tunneling(BorderGateway, StandaloneDevice, MobileDevice) untuk Tunnel.
Shutdown(void)
Matikan Agen Tunnel.
StartServiceTunnel(void)
Memulai Service Tunnel.
StartServiceTunnel(uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode)
Memulai Service Tunnel.
StopServiceTunnel(void)
void
Menutup koneksi Tunnel ke Layanan.
StopServiceTunnel(WEAVE_ERROR err)
void
Menutup koneksi Tunnel ke Layanan.

Fungsi statis publik

RecvdFromShortcutUDPTunnel(WeaveMessageLayer *msgLayer, PacketBuffer *message)
void
Handler untuk menerima paket IPv6 yang disalurkan melalui tunnel UDP pintasan antara gateway perbatasan dan perangkat seluler dan teruskan ke antarmuka Tunnel EndPoint setelah mendekapsulasi paket IPv6 mentah dari dalam header tunnel.
RecvdFromTunnelEndPoint(TunEndPoint *tunEP, PacketBuffer *message)
void
Handler untuk menerima paket IPv6 dari antarmuka Tunnel EndPoint dan maju, baik ke Layanan melalui koneksi TCP Layanan setelah mengenkapsulasi paket IPv6 di dalam header tunnel atau ke klien Seluler melalui tunnel pintasan.

Jenis publik

AgentState

 AgentState

Status Agen Tunnel dalam kaitannya dengan koneksinya ke Layanan.

Properti
kState_BkupOnlyTunModeEstablished

Digunakan untuk menunjukkan bahwa tunnel Pencadangan ke Layanan telah dibuat.

kState_Initialized_NoTunnel

Digunakan untuk menunjukkan bahwa Agen Tunnel diinisialisasi, tetapi tidak ada tunnel yang dibuat.

kState_NotInitialized

Digunakan untuk menunjukkan bahwa Agen Tunnel tidak diinisialisasi.

kState_PrimaryAndBkupTunModeEstablished

Digunakan untuk menunjukkan bahwa tunnel Utama dan Cadangan telah dibuat.

kState_PrimaryTunModeEstablished

Digunakan untuk menunjukkan bahwa tunnel Utama ke Layanan telah dibuat.

AgentState

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::AgentState AgentState

Status Agen Tunnel dalam kaitannya dengan koneksinya ke Layanan.

OnServiceTunnelReconnectNotifyFunct

void(* OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)

Pointer fungsi ke pengendali yang ditetapkan oleh lapisan yang lebih tinggi saat Tunnel Hubungkan kembali diterima dari Layanan.

Detail
Parameter
[in] tunType
Jenis tunnel, Utama atau Cadangan.
[in] reconnectHost
Nama host yang disediakan oleh Layanan untuk terhubung kembali.
[in] reconnectPort
Port tujuan yang disediakan oleh Service untuk dihubungkan kembali.
[in] appCtxt
Pointer ke objek konteks aplikasi

OnServiceTunnelStatusNotifyFunct

void(* OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)

Pointer fungsi ke pengendali yang ditetapkan oleh lapisan yang lebih tinggi untuk bertindak berdasarkan berbagai notifikasi yang terkait dengan tunnel ke Layanan.

Detail
Parameter
[in] reason
Alasan notifikasi status kepada permohonan tersebut.
[in] err
Terjadi error Weave, jika ada
[in] appCtxt
Pointer ke objek konteks aplikasi

PlatformNetworkOnlineCheck

void(* PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)

Pointer fungsi ke pengendali yang disediakan oleh aplikasi untuk melakukan pemeriksaan online tingkat jaringan.

Detail
Parameter
[in] tunType
Jenis tunnel, Utama atau Cadangan.
[in] appCtxt
Pointer ke objek konteks aplikasi

WeaveTunnelFlags

 WeaveTunnelFlags

Bit bendera Weave Tunnel.

Properti
kTunnelFlag_BackupEnabled

Tetapkan kapan tunnel pencadangan diaktifkan.

kTunnelFlag_BackupRestricted

Tetapkan saat pemilihan rute tunnel cadangan dibatasi.

kTunnelFlag_PrimaryEnabled

Tetapkan kapan tunnel utama diaktifkan.

kTunnelFlag_PrimaryRestricted

Tetapkan saat tunnel utama dibatasi.

WeaveTunnelFlags

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::WeaveTunnelFlags WeaveTunnelFlags

Bit bendera Weave Tunnel.

Atribut publik

NetworkOnlineCheck

PlatformNetworkOnlineCheck NetworkOnlineCheck

OnServiceTunReconnectNotify

OnServiceTunnelReconnectNotifyFunct OnServiceTunReconnectNotify

OnServiceTunStatusNotify

OnServiceTunnelStatusNotifyFunct OnServiceTunStatusNotify

Pointer fungsi ke pengendali yang ditetapkan oleh lapisan yang lebih tinggi untuk bertindak berdasarkan berbagai notifikasi yang terkait dengan tunnel ke Layanan.

mServiceMgr

WeaveServiceManager * mServiceMgr

Pointer Service Manager yang digunakan untuk mencari dan terhubung ke Service.

Fungsi publik

DisablePrimaryTunnel

void DisablePrimaryTunnel(
  void
)

Nonaktifkan Tunnel Utama.

Nonaktifkan Tunnel Utama.

EnablePrimaryTunnel

void EnablePrimaryTunnel(
  void
)

Aktifkan Tunnel Utama.

Mengaktifkan Tunnel Utama.

GetAgentStateName

const char * GetAgentStateName(
  const AgentState state
)

Mendapatkan nama WeaveTunnelAgentState.

GetTimeMsec

uint64_t GetTimeMsec(
  void
)

Mendapatkan waktu sistem dalam milidetik.

Mendapatkan waktu sistem atau waktu monoton dalam milidetik jika waktu sistem tidak tersedia.

GetWeaveTunnelAgentState

AgentState GetWeaveTunnelAgentState(
  void
)

Mendapatkan status TunnelAgent.

Detail
Hasil
AgentState status WeaveTunnelAgent saat ini.

Inisiasi

WEAVE_ERROR Init(
  InetLayer *inet,
  WeaveExchangeManager *exchMgr,
  uint64_t dstNodeId,
  WeaveAuthMode authMode,
  WeaveServiceManager *svcMgr,
  const char *intfName,
  uint8_t role,
  void *appContext
)

Menginisialisasi agen Tunnel.

Perintah ini akan membuat objek endpoint te Tunnel, menyiapkan antarmuka tunnel, menginisialisasi variabel anggota, callback, dan WeaveTunnelControl.

Inisiasi

WEAVE_ERROR Init(
  InetLayer *inet,
  WeaveExchangeManager *exchMgr,
  uint64_t dstNodeId,
  IPAddress dstIPAddr,
  WeaveAuthMode authMode,
  const char *intfName,
  uint8_t role,
  void *appContext
)

Menginisialisasi agen Tunnel.

Perintah ini akan membuat objek endpoint te Tunnel, menyiapkan antarmuka tunnel, menginisialisasi variabel anggota, callback, dan WeaveTunnelControl.

IsPrimaryTunnelEnabled

bool IsPrimaryTunnelEnabled(
  void
) const 

Periksa apakah tunnel utama diaktifkan.

Detail
Hasil
true jika diaktifkan, false jika tidak.

IsPrimaryTunnelRoutingRestricted

bool IsPrimaryTunnelRoutingRestricted(
  void
)

Periksa apakah tunnel utama tunduk pada batasan pemilihan rute oleh layanan.

Periksa apakah tunnel utama tunduk pada batasan pemilihan rute.

Detail
Hasil
true jika terowongan utama ditetapkan tetapi tunduk pada pembatasan perutean oleh layanan.

IsTunnelRoutingRestricted

bool IsTunnelRoutingRestricted(
  void
)

Periksa apakah tunnel tunduk pada pembatasan pemilihan rute oleh layanan.

Periksa apakah tunnel tunduk pada pembatasan pemilihan rute.

Detail
Hasil
true jika tunnel utama atau cadangan ditetapkan, dan keduanya tunduk pada batasan perutean oleh layanan.

NetworkOnlineCheckResult

void NetworkOnlineCheckResult(
  TunnelType tunType,
  bool isOnline
)

Callback yang dipanggil oleh platform saat hasil pemeriksa online jaringan tersedia.

Detail
Parameter
[in] tunType
Jenis tunnel yang sesuai dengan antarmuka tempat pemeriksaan konektivitas jaringan dilakukan.
[in] isOnline
True jika jaringan online, false jika tidak.

ResetPrimaryReconnectBackoff

WEAVE_ERROR ResetPrimaryReconnectBackoff(
  bool reconnectImmediately
)

Reset waktu Hubungkan kembali untuk tunnel utama.

Detail
Parameter
[in] reconnectImmediately
True jika diperlukan untuk segera terhubung kembali, atau menggunakan waktu tunggu koneksi ulang yang dikonfigurasi.

SetAuthMode

void SetAuthMode(
  const WeaveAuthMode authMode
)

Setel WeaveAuthMode untuk Tunnel.

Detail
Parameter
[in] authMode
Mode otentikasi Weave yang digunakan dengan peer.

SetDestination

void SetDestination(
  const uint64_t nodeId,
  const IPAddress ipAddr,
  const uint16_t servicePort
)

Tetapkan nodeId, IPAddress, dan port tujuan untuk Tunnel.

Tetapkan nodeId dan IPAddress tujuan untuk Tunnel.

Detail
Parameter
[in] nodeId
ID Node tujuan.
[in] ipAddr
Alamat IP node tujuan.
[in] servicePort
Port node tujuan.

SetTunnelingDeviceRole

void SetTunnelingDeviceRole(
  const Role role
)

Setel peran perangkat Tunneling(BorderGateway, StandaloneDevice, MobileDevice) untuk Tunnel.

Tetapkan peran perangkat Tunneling(BorderGateway vs Standalone) untuk Tunnel.

Detail
Parameter
[in] role
Peran yang diasumsikan oleh Tunnel Agent; Border Gateway, Mandiri, atau Mobile Device.

Nonaktif

WEAVE_ERROR Shutdown(
  void
)

Matikan Agen Tunnel.

Ini menghilangkan koneksi ke Layanan dan menutup antarmuka TunEndPoint setelah menghapus alamat dan rute yang terkait dengan antarmuka tunnel.

Ini menghilangkan koneksi ke Layanan dan menutup antarmuka TunEndPoint setelah menghapus alamat dan rute yang terkait dengan antarmuka tunnel.

Detail
Hasil
WEAVE_NO_ERROR saat berhasil, atau jenis WEAVE_ERROR yang sesuai.

StartServiceTunnel

WEAVE_ERROR StartServiceTunnel(
  void
)

Memulai Service Tunnel.

Fungsi ini mengaktifkan tunnel dan mencoba membuat koneksi ke Layanan.

Fungsi ini mencoba membuat koneksi ke Layanan dan juga menyetel rute fabric ke antarmuka tunnel.

Detail
Hasil
WEAVE_NO_ERROR saat berhasil, atau jenis WEAVE_ERROR yang sesuai.

StartServiceTunnel

WEAVE_ERROR StartServiceTunnel(
  uint64_t dstNodeId,
  IPAddress dstIPAddr,
  WeaveAuthMode authMode
)

Memulai Service Tunnel.

Fungsi ini mengaktifkan tunnel dan mencoba membuat koneksi ke Layanan.

StopServiceTunnel

void StopServiceTunnel(
  void
)

Menutup koneksi Tunnel ke Layanan.

StopServiceTunnel

void StopServiceTunnel(
  WEAVE_ERROR err
)

Menutup koneksi Tunnel ke Layanan.

Detail
Parameter
[in] err
WEAVE_NO_ERROR jika tidak ada alasan khusus untuk permintaan StopServiceTunnel ini, jika tidak, penyebab error akan diturunkan.

WeaveTunnelAgent

 WeaveTunnelAgent(
  void
)

Fungsi statis publik

RecvdFromShortcutUDPTunnel

void RecvdFromShortcutUDPTunnel(
  WeaveMessageLayer *msgLayer,
  PacketBuffer *message
)

Handler untuk menerima paket IPv6 yang disalurkan melalui tunnel UDP pintasan antara gateway perbatasan dan perangkat seluler dan teruskan ke antarmuka Tunnel EndPoint setelah mendekapsulasi paket IPv6 mentah dari dalam header tunnel.

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
[in] con
Pointer ke objek WeaveConnection.
[in] msgInfo
Pointer ke objek WeaveMessageInfo.
[in] message
Pointer ke objek PacketBuffer yang menyimpan paket IPv6 yang disalurkan.

RecvdFromTunnelEndPoint

void RecvdFromTunnelEndPoint(
  TunEndPoint *tunEP,
  PacketBuffer *message
)

Handler untuk menerima paket IPv6 dari antarmuka Tunnel EndPoint dan maju, baik ke Layanan melalui koneksi TCP Layanan setelah mengenkapsulasi paket IPv6 di dalam header tunnel atau ke klien Seluler melalui tunnel pintasan.

Handler untuk menerima paket IPv6 dari antarmuka Tunnel EndPoint dan maju, baik ke Layanan melalui koneksi TCP Layanan setelah mengenkapsulasi paket IPv6 di dalam header tunnel atau ke klien Mobile melalui tunnel lokal.

Jika koneksi Layanan belum disiapkan, pesan akan diantrekan hingga koneksi disiapkan. Untuk tunneling ke perangkat {i>Mobile client<i}, tabel {i>nexthop<i} adalah referensi.

Jika koneksi Layanan belum disiapkan, pesan akan diantrekan hingga koneksi disiapkan. Untuk tunneling ke perangkat {i>Mobile client<i}, tabel {i>nexthop<i} adalah referensi.

Detail
Parameter
[in] tunEP
Pointer ke objek TunEndPoint.
[in] message
Pointer ke objek PacketBuffer yang menyimpan paket IPv6 mentah.