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 flag Terowongan Weave.
WeaveTunnelFlags typedef
Bit flag Terowongan Weave.

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 Primer.
EnablePrimaryTunnel(void)
void
Aktifkan Primary Tunnel.
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)
Melakukan inisialisasi agen Tunnel.
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext)
Melakukan inisialisasi agen Tunnel.
IsPrimaryTunnelEnabled(void) const
bool
Periksa apakah tunnel utama telah diaktifkan.
IsPrimaryTunnelRoutingRestricted(void)
bool
Periksa apakah tunnel utama tunduk pada pembatasan perutean oleh layanan.
IsTunnelRoutingRestricted(void)
bool
Periksa apakah tunnel tersebut tunduk pada pembatasan perutean oleh layanan.
NetworkOnlineCheckResult(TunnelType tunType, bool isOnline)
void
Callback dipanggil oleh platform saat hasil pemeriksa online jaringan tersedia.
ResetPrimaryReconnectBackoff(bool reconnectImmediately)
Reset Waktu penyambungan ulang untuk tunnel utama.
SetAuthMode(const WeaveAuthMode authMode)
void
Menyetel 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
Tetapkan peran Tunneling device(BorderGateway, StandaloneDevice, MobileDevice) untuk Tunnel.
Shutdown(void)
Hentikan Agen Terowongan.
StartServiceTunnel(void)
Mulai Service Tunnel.
StartServiceTunnel(uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode)
Mulai Service Tunnel.
StopServiceTunnel(void)
void
Tutup koneksi Tunnel ke Service.
StopServiceTunnel(WEAVE_ERROR err)
void
Tutup koneksi Tunnel ke Service.

Fungsi statis publik

RecvdFromShortcutUDPTunnel(WeaveMessageLayer *msgLayer, PacketBuffer *message)
void
Pengendali untuk menerima paket IPv6 yang disalurkan melalui tunnel UDP pintasan antara gateway pembatas dan perangkat seluler, lalu meneruskan ke antarmuka Tunnel EndPoint setelah mendekapsulasi paket IPv6 mentah dari dalam header tunnel.
RecvdFromTunnelEndPoint(TunEndPoint *tunEP, PacketBuffer *message)
void
Pengendali untuk menerima paket IPv6 dari antarmuka Tunnel EndPoint dan meneruskannya, 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 sudah diinisialisasi, tetapi belum ada tunnel yang dibuat.

kState_NotInitialized

Digunakan untuk menunjukkan bahwa Agen Tunnel tidak diinisialisasi.

kState_PrimaryAndBkupTunModeEstablished

Digunakan untuk menunjukkan bahwa tunnel Utama dan tunnel Pencadangan 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, yaitu Primer atau Cadangan.
[in] reconnectHost
Nama host yang disediakan oleh Layanan untuk disambungkan kembali.
[in] reconnectPort
Port tujuan yang disediakan oleh Layanan 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 pemberitahuan status untuk permohonan.
[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, yaitu Primer atau Cadangan.
[in] appCtxt
Pointer ke objek konteks aplikasi

WeaveTunnelFlags

 WeaveTunnelFlags

Bit flag Terowongan Weave.

Properti
kTunnelFlag_BackupEnabled

Tetapkan saat tunnel cadangan diaktifkan.

kTunnelFlag_BackupRestricted

Tetapkan saat tunnel cadangan dibatasi.

kTunnelFlag_PrimaryEnabled

Tetapkan saat tunnel utama diaktifkan.

kTunnelFlag_PrimaryRestricted

Tetapkan saat tunnel utama dibatasi.

WeaveTunnelFlags

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

Bit flag Terowongan Weave.

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 Primer.

Nonaktifkan Primary Tunnel.

EnablePrimaryTunnel

void EnablePrimaryTunnel(
  void
)

Aktifkan Primary Tunnel.

Mengaktifkan Primary Tunnel.

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.

Init

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

Melakukan inisialisasi agen Tunnel.

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

Init

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

Melakukan inisialisasi 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 telah diaktifkan.

Detail
Hasil
true jika diaktifkan, else false.

IsPrimaryTunnelRoutingRestricted

bool IsPrimaryTunnelRoutingRestricted(
  void
)

Periksa apakah tunnel utama tunduk pada pembatasan perutean oleh layanan.

Periksa apakah tunnel utama tunduk kepada pembatasan pemilihan rute.

Detail
Hasil
benar (true) jika tunnel utama telah dibuat tetapi tunduk pada pembatasan perutean oleh layanan.

IsTunnelRoutingRestricted

bool IsTunnelRoutingRestricted(
  void
)

Periksa apakah tunnel tersebut tunduk pada pembatasan perutean oleh layanan.

Periksa apakah tunnel tersebut tunduk kepada pembatasan pemilihan rute.

Detail
Hasil
benar (true) jika tunnel utama atau tunnel cadangan dibuat, dan tunduk pada pembatasan perutean oleh layanan.

NetworkOnlineCheckResult

void NetworkOnlineCheckResult(
  TunnelType tunType,
  bool isOnline
)

Callback 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 penyambungan ulang untuk tunnel utama.

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

SetAuthMode

void SetAuthMode(
  const WeaveAuthMode authMode
)

Menyetel WeaveAuthMode untuk Tunnel.

Detail
Parameter
[in] authMode
Mode autentikasi 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 node tujuan.
[in] ipAddr
Alamat IP node tujuan.
[in] servicePort
Port node tujuan.

SetTunnelingDeviceRole

void SetTunnelingDeviceRole(
  const Role role
)

Tetapkan peran Tunneling device(BorderGateway, StandaloneDevice, MobileDevice) untuk Tunnel.

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

Detail
Parameter
[in] role
Peran yang diambil oleh Agen Tunnel; Border Gateway, Mandiri, atau Perangkat Seluler.

Nonaktif

WEAVE_ERROR Shutdown(
  void
)

Hentikan Agen Terowongan.

Tindakan ini akan memutus koneksi ke Service dan menutup antarmuka TunEndPoint setelah menghapus alamat dan rute yang terkait dengan antarmuka tunnel.

Tindakan ini akan memutus koneksi ke Service dan menutup antarmuka TunEndPoint setelah menghapus alamat dan rute yang terkait dengan antarmuka tunnel.

Detail
Hasil
WEAVE_NO_ERROR jika berhasil, jika tidak, jenis WEAVE_ERROR yang sesuai.

StartServiceTunnel

WEAVE_ERROR StartServiceTunnel(
  void
)

Mulai Service Tunnel.

Cara ini akan mengaktifkan tunnel dan mencoba membuat koneksi ke Service.

Cara ini akan mencoba membuat koneksi ke Service dan juga menetapkan rute fabric ke antarmuka tunnel.

Detail
Hasil
WEAVE_NO_ERROR jika berhasil, jika tidak, jenis WEAVE_ERROR yang sesuai.

StartServiceTunnel

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

Mulai Service Tunnel.

Cara ini akan mengaktifkan tunnel dan mencoba membuat koneksi ke Service.

StopServiceTunnel

void StopServiceTunnel(
  void
)

Tutup koneksi Tunnel ke Service.

StopServiceTunnel

void StopServiceTunnel(
  WEAVE_ERROR err
)

Tutup koneksi Tunnel ke Service.

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
)

Pengendali untuk menerima paket IPv6 yang disalurkan melalui tunnel UDP pintasan antara gateway pembatas dan perangkat seluler, lalu meneruskan ke antarmuka Tunnel EndPoint setelah mendekapsulasi paket IPv6 mentah dari dalam header tunnel.

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
[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
)

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

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

Jika koneksi Service belum disiapkan, pesan akan dimasukkan ke dalam antrean sampai koneksi disiapkan. Untuk tunneling ke perangkat klien Seluler, tabel nexthop neighbor direferensikan.

Jika koneksi Service belum disiapkan, pesan akan dimasukkan ke dalam antrean sampai koneksi disiapkan. Untuk tunneling ke perangkat klien Seluler, tabel nexthop neighbor direferensikan.

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