nl:Menenun::WeaveConnection

#include <src/lib/core/WeaveMessageLayer.h>

Definisi class Weave Connection.

Ringkasan

Ini mewakili koneksi TCP atau BLE ke node Weave lainnya.

Jenis publik

@58{
  kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enum
ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Fungsi ini adalah callback aplikasi yang dipanggil saat koneksi ditutup.
ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Fungsi ini adalah callback aplikasi yang dipanggil saat penyiapan koneksi selesai.
MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Fungsi ini adalah callback aplikasi yang dipanggil saat pesan diterima melalui koneksi Weave.
NetworkType{
  kNetworkType_Unassigned = 0,
  kNetworkType_IP = 1,
  kNetworkType_BLE = 2
}
enum
Jenis jaringan objek koneksi Weave.
ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err) typedef
void(*
Fungsi ini adalah callback aplikasi yang dipanggil setelah mengalami error saat menerima pesan Weave.
State{
  kState_ReadyToConnect = 0,
  kState_Resolving = 1,
  kState_Connecting = 2,
  kState_EstablishingSession = 3,
  kState_Connected = 4,
  kState_SendShutdown = 5,
  kState_Closed = 6
}
enum
Status koneksi Status Weave.
TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Fungsi ini adalah callback aplikasi yang dipanggil setelah paket data Tunneled diterima melalui koneksi Weave.

Atribut publik

AppState
void *
Pointer ke objek status khusus aplikasi.
AuthMode
WeaveAuthMode
[HANYA BACA] Mode autentikasi yang digunakan untuk membuat kunci enkripsi default untuk koneksi.
DefaultEncryptionType
uint8_t
Jenis enkripsi default untuk pesan.
DefaultKeyId
uint16_t
Kunci enkripsi default yang digunakan saat mengirim pesan.
MessageLayer
[HANYA BACA] Objek WeaveMessageLayer terkait.
NetworkType
uint8_t
[HANYA BACA] Jenis jaringan titik akhir terkait.
OnConnectionClosed
OnConnectionComplete
OnMessageReceived
OnReceiveError
OnTunneledMessageReceived
PeerAddr
IPAddress
[HANYA BACA] Alamat IP node pembanding.
PeerNodeId
uint64_t
[HANYA BACA] ID node dari pembanding.
PeerPort
uint16_t
[HANYA BACA] Nomor port node pembanding.
ReceiveEnabled
bool
[READ ONLY] Benar jika penerimaan diaktifkan, dan false jika sebaliknya.
SendDestNodeId
bool
True jika semua pesan yang dikirim melalui koneksi ini harus menyertakan ID node tujuan yang dienkode secara eksplisit, dan false jika tidak.
SendSourceNodeId
bool
True jika semua pesan yang dikirim melalui koneksi ini harus menyertakan ID node sumber yang dienkode secara eksplisit, dan false jika tidak.
State
uint8_t
[HANYA BACA] Status objek WeaveConnection.

Fungsi publik

Abort(void)
void
Melakukan penutupan tanpa trik dari WeaveConnection berbasis TCP atau BLE, yang membuang data yang mungkin sedang terbang ke atau dari pembanding.
AddRef(void)
void
Cadangkan referensi ke objek WeaveConnection.
Close(void)
Melakukan penutupan elegan tanpa pemblokiran dari WeaveConnection berbasis TCP atau BLE, yang mengirimkan data keluar yang tersisa sebelum memberi tahu host jarak jauh dengan sopan bahwa kita telah mereset koneksi.
Close(bool suppressCloseLog)
Melakukan penutupan elegan tanpa pemblokiran dari WeaveConnection berbasis TCP atau BLE, yang mengirimkan data keluar yang tersisa sebelum memberi tahu host jarak jauh dengan sopan bahwa kita telah mereset koneksi.
Connect(uint64_t peerNodeId)
Menghubungkan ke node Weave menggunakan alamat IP kain yang berasal dari ID node yang ditentukan.
Connect(uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort)
Hubungkan ke node Weave menggunakan ID node dan/atau alamat IP.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId intf)
Menghubungkan ke node Weave menggunakan ID node dan/atau alamat IP pada antarmuka tertentu.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t defaultPort)
Hubungkan ke node Weave menggunakan ID node dan/atau nama host string.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint16_t defaultPort)
Hubungkan ke node Weave menggunakan ID node dan/atau alamat pembanding string.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint8_t dnsOptions, uint16_t defaultPort)
Hubungkan ke node Weave menggunakan ID node dan/atau alamat pembanding string.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf)
Hubungkan ke node Weave menggunakan ID node dan/atau daftar nama host dan port.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, uint8_t dnsOptions, InterfaceId intf)
Hubungkan ke node Weave menggunakan ID node dan/atau daftar nama host dan port.
DisableKeepAlive(void)
DisableReceive(void)
void
Nonaktifkan penerimaan melalui WeaveConnection ini.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
EnableReceive(void)
void
Aktifkan penerimaan melalui WeaveConnection ini.
GetPeerAddressInfo(IPPacketInfo & addrInfo)
Dapatkan informasi alamat IP pembanding.
GetPeerDescription(char *buf, size_t bufSize) const
void
Membuat string yang menjelaskan node pembanding yang terkait dengan koneksi.
GetTCPEndPoint(void) const
TCPEndPoint *
IsIncoming(void) const
bool
LogId(void) const
uint16_t
Release(void)
void
Mengurangi jumlah referensi pada objek WeaveConnection.
ResetUserTimeout(void)
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Kirim pesan Weave melalui koneksi yang terbentuk.
SendTunneledMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Fungsi untuk mengirim paket Tunneled melalui koneksi Weave.
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
Setel waktu tunggu agar Connect berhasil atau menampilkan error.
SetIdleTimeout(uint32_t timeoutMS)
Setel waktu tunggu tidak ada aktivitas pada koneksi lapisan jaringan yang mendasarinya.
SetIncoming(bool val)
void
SetUserTimeout(uint32_t userTimeoutMillis)
Shutdown(void)
Melakukan pengiriman TCP tertutup elegan, memastikan semua data keluar telah dikirim dan diterima oleh stack TCP pembanding.

Jenis publik

@58

 @58
Properti
kGetPeerDescription_MaxLength

Panjang maksimum string (termasuk karakter NUL) yang ditampilkan oleh GetPeerDescription().

ConnectionClosedFunct

void(* ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr)

Fungsi ini adalah callback aplikasi yang dipanggil saat koneksi ditutup.

Detail
Parameter
[in] con
Pointer ke objek WeaveConnection.
[in] conErr
WEAVE_ERROR terjadi saat koneksi ditutup.

ConnectionCompleteFunct

void(* ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr)

Fungsi ini adalah callback aplikasi yang dipanggil saat penyiapan koneksi selesai.

Detail
Parameter
[in] con
Pointer ke objek WeaveConnection.
[in] conErr
WEAVE_ERROR yang terjadi selama penyiapan koneksi.

MessageReceiveFunct

void(* MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)

Fungsi ini adalah callback aplikasi yang dipanggil saat pesan diterima melalui koneksi Weave.

Detail
Parameter
[in] con
Pointer ke objek WeaveConnection.
[in] msgInfo
Pointer ke struktur WeaveMessageInfo yang berisi informasi tentang pesan tersebut.
[in] msgBuf
Pointer ke objek PacketBuffer yang menyimpan pesan.

JenisJaringan

 NetworkType

Jenis jaringan objek koneksi Weave.

Properti
kNetworkType_BLE

Jenis jaringan BLE.

kNetworkType_IP

Jenis jaringan TCP/IP.

kNetworkType_Unassigned

Jenis jaringan belum ditetapkan.

TerimaErrorFunct

void(* ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err)

Fungsi ini adalah callback aplikasi yang dipanggil setelah mengalami error saat menerima pesan Weave.

Detail
Parameter
[in] con
Pointer ke objek WeaveConnection.
[in] err
WEAVE_ERROR yang terjadi saat menerima data melalui koneksi.

Negara bagian

 State

Status koneksi Status Weave.

Properti
kState_Closed

Status saat koneksi tertutup.

kState_Connected

Status saat koneksi berhasil dibuat.

kState_Connecting

Status saat koneksi sedang dicoba.

kState_EstablishingSession

Status saat sesi aman sedang dibuat.

kState_ReadyToConnect

Status setelah inisialisasi koneksi Weave.

kState_Resolving

Status saat resolusi nama DNS sedang dilakukan.

kState_SendShutdown

Mengetahui saat koneksi sedang dimatikan.

TunneledmsgReceiveFunct

void(* TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)

Fungsi ini adalah callback aplikasi yang dipanggil setelah paket data Tunneled diterima melalui koneksi Weave.

Detail
Parameter
[in] con
Pointer ke objek WeaveConnection.
[in] msgInfo
Pointer ke objek WeaveMessageInfo.
[in] msgBuf
Pointer ke objek PacketBuffer yang berisi paket yang diterima yang diterima.

Atribut publik

StatusAplikasi

void * AppState

Pointer ke objek status khusus aplikasi.

AuthMode

WeaveAuthMode AuthMode

[HANYA BACA] Mode autentikasi yang digunakan untuk membuat kunci enkripsi default untuk koneksi.

DefaultEncryptionType

uint8_t DefaultEncryptionType

Jenis enkripsi default untuk pesan.

IdDefaultDefault

uint16_t DefaultKeyId

Kunci enkripsi default yang digunakan saat mengirim pesan.

Lapisan pesan

WeaveMessageLayer * MessageLayer

[HANYA BACA] Objek WeaveMessageLayer terkait.

JenisJaringan

uint8_t NetworkType

[HANYA BACA] Jenis jaringan titik akhir terkait.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnConnectionComplete

ConnectionCompleteFunct OnConnectionComplete

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnTunneledMessageReceived

TunneledMsgReceiveFunct OnTunneledMessageReceived

PeerAddr

IPAddress PeerAddr

[HANYA BACA] Alamat IP node pembanding.

ID PeerNode

uint64_t PeerNodeId

[HANYA BACA] ID node dari pembanding.

PeerPort

uint16_t PeerPort

[HANYA BACA] Nomor port node pembanding.

Diterima

bool ReceiveEnabled

[READ ONLY] Benar jika penerimaan diaktifkan, dan false jika sebaliknya.

IDKirimTujuanNode

bool SendDestNodeId

True jika semua pesan yang dikirim melalui koneksi ini harus menyertakan ID node tujuan yang dienkode secara eksplisit, dan false jika tidak.

IDSumberSumber Send

bool SendSourceNodeId

True jika semua pesan yang dikirim melalui koneksi ini harus menyertakan ID node sumber yang dienkode secara eksplisit, dan false jika tidak.

Negara bagian

uint8_t State

[HANYA BACA] Status objek WeaveConnection.

Fungsi publik

Batalkan

void Abort(
  void
)

Melakukan penutupan tanpa trik dari WeaveConnection berbasis TCP atau BLE, yang membuang data yang mungkin sedang terbang ke atau dari pembanding.

Panggilan ke Abort() akan segera menghentikan koneksi yang mendasarinya. Setelah tahap ini, objek WeaveConnection tidak dapat digunakan lagi untuk komunikasi lebih lanjut.

Memanggil Abort() akan mengurangi jumlah referensi yang terkait dengan objek WeaveConnection, terlepas dari apakah koneksi tersebut terbuka/aktif pada saat metode dipanggil. Jika hal ini menyebabkan jumlah referensi mencapai nol, resource yang terkait dengan objek koneksi akan dibebaskan. Jika ini terjadi, aplikasi tidak boleh memiliki interaksi lebih lanjut dengan objek.

Lihat juga:
Shutdown(), Abort(), AddRef(), dan Release().

TambahkanRef

void AddRef(
  void
)

Cadangkan referensi ke objek WeaveConnection.

Metode AddRef() menambah jumlah referensi yang terkait dengan objek WeaveConnection. Untuk setiap panggilan ke AddRef(), aplikasi bertanggung jawab untuk melakukan panggilan yang sesuai ke Release(), Close(), atau Abort().

Tutup

WEAVE_ERROR Close(
  void
)

Melakukan penutupan elegan tanpa pemblokiran dari WeaveConnection berbasis TCP atau BLE, yang mengirimkan data keluar yang tersisa sebelum memberi tahu host jarak jauh dengan sopan bahwa kita telah mereset koneksi.

Metode ini tidak memberikan jaminan kuat bahwa pesan keluar yang tidak dikonfirmasi di tingkat protokol aplikasi telah diterima oleh peer jarak jauh. Untuk TCP dan BLE, stack protokol yang mendasarinya akan melakukan yang terbaik untuk mengirim data keluar yang tertunda sebelum mereset koneksi. Untuk TCP, Shutdown() harus digunakan sebelum Tutup() jika konfirmasi tanda terima pesan lapisan transportasi diperlukan sebelum menutup koneksi. Koneksi BLE tidak menyediakan padanan Shutdown().

Untuk koneksi berbasis BLE, Close() menutup WeaveConnection dan langsung kembali, tetapi mungkin menyebabkan objek BLEEndPoint yang mendasarinya tetap ada sampai semua data keluar dikirim. Ini adalah efek samping dari penerapan protokol transportasi Weave over BLE yang ada di dalam Weave BleLayer.

Setelah Close() dipanggil, objek WeaveConnection tidak dapat digunakan lagi untuk komunikasi lebih lanjut.

Memanggil Close() akan mengurangi jumlah referensi yang terkait dengan objek WeaveConnection, baik koneksi akan terbuka/aktif pada saat metode dipanggil. Jika hal ini menyebabkan jumlah referensi mencapai nol, resource yang terkait dengan objek koneksi akan dibebaskan. Jika ini terjadi, aplikasi tidak boleh memiliki interaksi lebih lanjut dengan objek.

Detail
Hasil
WEAVE_NO_ERROR tanpa syarat.
Lihat juga:
Shutdown(), Abort(), AddRef(), dan Release().

Tutup

WEAVE_ERROR Close(
  bool suppressCloseLog
)

Melakukan penutupan elegan tanpa pemblokiran dari WeaveConnection berbasis TCP atau BLE, yang mengirimkan data keluar yang tersisa sebelum memberi tahu host jarak jauh dengan sopan bahwa kita telah mereset koneksi.

Metode ini tidak memberikan jaminan kuat bahwa pesan keluar yang tidak dikonfirmasi di tingkat protokol aplikasi telah diterima oleh peer jarak jauh. Untuk TCP dan BLE, stack protokol yang mendasarinya akan melakukan yang terbaik untuk mengirim data keluar yang tertunda sebelum mereset koneksi. Untuk TCP, Shutdown() harus digunakan sebelum Tutup() jika konfirmasi tanda terima pesan lapisan transportasi diperlukan sebelum menutup koneksi. Koneksi BLE tidak menyediakan padanan Shutdown().

Untuk koneksi berbasis BLE, Close() menutup WeaveConnection dan langsung kembali, tetapi mungkin menyebabkan objek BLEEndPoint yang mendasarinya tetap ada sampai semua data keluar dikirim. Ini adalah efek samping dari penerapan protokol transportasi Weave over BLE yang ada di dalam Weave BleLayer.

Setelah Close() dipanggil, objek WeaveConnection tidak dapat digunakan lagi untuk komunikasi lebih lanjut.

Memanggil Close() akan mengurangi jumlah referensi yang terkait dengan objek WeaveConnection, baik koneksi akan terbuka/aktif pada saat metode dipanggil. Jika hal ini menyebabkan jumlah referensi mencapai nol, resource yang terkait dengan objek koneksi akan dibebaskan. Jika ini terjadi, aplikasi tidak boleh memiliki interaksi lebih lanjut dengan objek.

Detail
Parameter
[in] suppressCloseLog
true jika log harus disembunyikan, false jika tidak.
Hasil
WEAVE_NO_ERROR tanpa syarat.
Lihat juga:
Shutdown(), Abort(), AddRef(), dan Release().

Connect

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

Menghubungkan ke node Weave menggunakan alamat IP kain yang berasal dari ID node yang ditentukan.

Detail
Parameter
[in] peerNodeId
ID node pembanding.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
pada awal koneksi yang berhasil ke peer.
WEAVE_ERROR_INCORRECT_STATE
jika status WeaveConnection salah.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
jika mode autentikasi yang diminta tidak didukung.
WEAVE_ERROR_INVALID_ADDRESS
jika alamat tujuan tidak dapat disimpulkan dari id node.
other
Error lapisan inet yang dihasilkan oleh operasi koneksi TCPEndPoint.

Connect

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort
)

Hubungkan ke node Weave menggunakan ID node dan/atau alamat IP.

Detail
Parameter
[in] peerNodeId
ID node pembanding, kNodeIdNotSpecified, atau 0 jika tidak diketahui.
[in] peerAddr
Alamat IP peer, IPAddress::Any jika tidak diketahui.
[in] peerPort
Port opsional peer, default ke WEAVE_PORT.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
pada awal koneksi yang berhasil ke peer.
WEAVE_ERROR_INCORRECT_STATE
jika status WeaveConnection salah.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
jika mode autentikasi yang diminta tidak didukung.
WEAVE_ERROR_INVALID_ADDRESS
jika alamat tujuan tidak dapat disimpulkan dari id node.
other
Error lapisan inet yang dihasilkan oleh operasi koneksi TCPEndPoint.

Connect

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  InterfaceId intf
)

Menghubungkan ke node Weave menggunakan ID node dan/atau alamat IP pada antarmuka tertentu.

Detail
Parameter
[in] peerNodeId
ID node pembanding, kNodeIdNotSpecified, atau 0 jika tidak diketahui.
[in] authMode
Mode autentikasi yang diinginkan untuk pembanding. Hanya mode CASE, PASE, dan Unauthenticated yang didukung.
[in] peerAddr
Alamat IP peer, IPAddress::Any jika tidak diketahui.
[in] peerPort
Port opsional peer, default ke WEAVE_PORT.
[in] intf
Antarmuka opsional yang akan digunakan untuk terhubung ke node pembanding, default-nya adalah INET_NULL_INTERFACEID.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
pada awal koneksi yang berhasil ke peer.
WEAVE_ERROR_INCORRECT_STATE
jika status WeaveConnection salah.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
jika mode autentikasi yang diminta tidak didukung.
WEAVE_ERROR_INVALID_ADDRESS
jika alamat tujuan tidak dapat disimpulkan dari ID node.
other
Error lapisan inet yang dihasilkan oleh operasi koneksi TCPEndPoint.

Connect

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t defaultPort
)

Hubungkan ke node Weave menggunakan ID node dan/atau nama host string.

Jika disediakan, peerAddr dapat berupa salah satu dari:


:

:

[]:

Detail
Parameter
[in] peerNodeId
ID node pembanding, kNodeIdNotSpecified, atau 0 jika tidak diketahui.
[in] authMode
Mode autentikasi yang diinginkan untuk pembanding. Hanya mode CASE, PASE, dan Unauthenticated yang didukung.
[in] peerAddr
Alamat atau nama host pembanding sebagai string C yang diakhiri NULL.
[in] defaultPort
Port default opsional yang akan digunakan untuk koneksi jika tidak disediakan di string peerAddr.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
pada awal koneksi yang berhasil ke peer.
WEAVE_ERROR_INCORRECT_STATE
jika status WeaveConnection salah.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
jika mode autentikasi yang diminta tidak didukung.
WEAVE_ERROR_INVALID_ADDRESS
jika alamat tujuan tidak dapat disimpulkan dari id node.
other
Error lapisan inet yang dihasilkan oleh operasi koneksi TCPEndPoint.

Connect

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t peerAddrLen,
  uint16_t defaultPort
)

Hubungkan ke node Weave menggunakan ID node dan/atau alamat pembanding string.

Jika disediakan, peerAddr dapat berupa salah satu dari:


:

:

[]:

Detail
Parameter
[in] peerNodeId
ID node pembanding, kNodeIdNotSpecified, atau 0 jika tidak diketahui.
[in] authMode
Mode autentikasi yang diinginkan untuk pembanding. Hanya mode CASE, PASE, dan Unauthenticated yang didukung.
[in] peerAddr
Alamat atau nama host pembanding sebagai string C yang tidak diakhiri NULL.
[in] peerAddrLen
Panjang string peerAddr.
[in] defaultPort
Port default opsional yang akan digunakan untuk koneksi jika tidak disediakan di string peerAddr.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
pada awal koneksi yang berhasil ke peer.
WEAVE_ERROR_INCORRECT_STATE
jika status WeaveConnection salah.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
jika mode autentikasi yang diminta tidak didukung.
WEAVE_ERROR_INVALID_ADDRESS
jika alamat tujuan tidak dapat disimpulkan dari id node.
other
Error lapisan inet yang dihasilkan oleh operasi koneksi TCPEndPoint.

Connect

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t peerAddrLen,
  uint8_t dnsOptions,
  uint16_t defaultPort
)

Hubungkan ke node Weave menggunakan ID node dan/atau alamat pembanding string.

Jika disediakan, peerAddr dapat berupa salah satu dari:


:

:

[]:

Detail
Parameter
[in] peerNodeId
ID node pembanding, kNodeIdNotSpecified, atau 0 jika tidak diketahui.
[in] authMode
Mode autentikasi yang diinginkan untuk pembanding. Hanya mode CASE, PASE, dan Unauthenticated yang didukung.
[in] peerAddr
Alamat atau nama host pembanding sebagai string C yang tidak diakhiri NULL.
[in] peerAddrLen
Panjang string peerAddr.
[in] dnsOptions
Nilai bilangan bulat yang mengontrol bagaimana resolusi nama host dilakukan. Nilai harus berupa OR dari satu atau beberapa nilai dari enumerasi #::nl::Inet::DNSOptions.
[in] defaultPort
Port default opsional yang akan digunakan untuk koneksi jika tidak disediakan di string peerAddr.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
pada awal koneksi yang berhasil ke peer.
WEAVE_ERROR_INCORRECT_STATE
jika status WeaveConnection salah.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
jika mode autentikasi yang diminta tidak didukung.
WEAVE_ERROR_INVALID_ADDRESS
jika alamat tujuan tidak dapat disimpulkan dari id node.
other
Error lapisan inet yang dihasilkan oleh operasi koneksi TCPEndPoint.

Connect

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  HostPortList hostPortList,
  InterfaceId intf
)

Hubungkan ke node Weave menggunakan ID node dan/atau daftar nama host dan port.

Detail
Parameter
[in] peerNodeId
ID node pembanding.
[in] authMode
Mode autentikasi yang digunakan untuk koneksi.
[in] hostPortList
Daftar nama host dan port.
[in] intf
Antarmuka opsional yang akan digunakan untuk terhubung ke node pembanding, default-nya adalah INET_NULL_INTERFACEID.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
pada awal koneksi yang berhasil ke peer.
WEAVE_ERROR_INCORRECT_STATE
jika status WeaveConnection salah.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
jika mode autentikasi yang diminta tidak didukung.
WEAVE_ERROR_INVALID_ADDRESS
jika alamat tujuan tidak dapat disimpulkan dari id node.
other
Error lapisan inet yang dihasilkan oleh operasi koneksi TCPEndPoint.

Connect

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  HostPortList hostPortList,
  uint8_t dnsOptions,
  InterfaceId intf
)

Hubungkan ke node Weave menggunakan ID node dan/atau daftar nama host dan port.

Detail
Parameter
[in] peerNodeId
ID node pembanding.
[in] authMode
Mode autentikasi yang digunakan untuk koneksi.
[in] hostPortList
Daftar nama host dan port.
[in] dnsOptions
Nilai bilangan bulat yang mengontrol bagaimana resolusi nama host dilakukan. Nilai harus berupa OR dari satu atau beberapa nilai dari enumerasi #::nl::Inet::DNSOptions.
[in] intf
Antarmuka opsional yang akan digunakan untuk terhubung ke node pembanding, default-nya adalah INET_NULL_INTERFACEID.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
pada awal koneksi yang berhasil ke peer.
WEAVE_ERROR_INCORRECT_STATE
jika status WeaveConnection salah.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
jika mode autentikasi yang diminta tidak didukung.
WEAVE_ERROR_INVALID_ADDRESS
jika alamat tujuan tidak dapat disimpulkan dari id node.
other
Error lapisan inet yang dihasilkan oleh operasi koneksi TCPEndPoint.

Nonaktifkan KeepAlive

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection::DisableKeepAlive.

Nonaktifkan pemeriksaan keepalive TCP di koneksi TCP yang mendasarinya.

Catatan:Metode ini hanya dapat dipanggil pada koneksi Weave yang didukung oleh koneksi TCP. Metode ini hanya dapat dipanggil jika koneksi dalam status yang memungkinkan pengiriman.

Metode ini tidak melakukan apa pun jika keepalive belum diaktifkan pada koneksi.

Detail
Nilai yang Ditampilkan
WEAVE_NO_ERROR
saat berhasil menonaktifkan pemeriksaan keepalive TCP di koneksi.
WEAVE_ERROR_NOT_IMPLEMENTED
jika fungsi ini dipanggil untuk endpoint yang tidak kompatibel (misalnya, BLE) di lapisan jaringan.
WEAVE_ERROR_INCORRECT_STATE
jika objek WeaveConnection tidak dalam status yang benar untuk mengirim pesan.
other
Error lapisan int yang terkait dengan endpoint TCP memungkinkan operasi keepalive.

NonaktifkanTerima

void DisableReceive(
  void
)

Nonaktifkan penerimaan melalui WeaveConnection ini.

Metode ini digunakan oleh aplikasi untuk menunjukkan bahwa metode ini belum siap menerima data yang tiba melalui koneksi TCP. Untuk mengaktifkan kembali penerimaan, aplikasi perlu memanggil EnableReceive() agar WeaveConnection dapat memberikan data yang diterima dengan memanggil callback approrpiate.

Lihat juga:
EnableReceive()

Aktifkan KeepAlive

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection::EnableKeepAlive.

Aktifkan pemeriksaan keepalive TCP di koneksi TCP yang mendasarinya.

Catatan:-Metode ini hanya dapat dipanggil pada koneksi Weave yang didukung oleh koneksi TCP. -Metode ini hanya dapat dipanggil jika koneksi dalam status yang memungkinkan pengiriman.

Detail
Parameter
[in] interval
Interval (dalam detik) antara pemeriksaan keepalive. Nilai ini juga mengontrol waktu antara paket data terakhir yang dikirim dan transmisi probabilitas keepalive pertama.
[in] timeoutCount
Jumlah maksimum pemeriksaan yang tidak terkonfirmasi sebelum koneksi dianggap gagal.

-Metode ini dapat dipanggil beberapa kali untuk menyesuaikan interval keepalive atau jumlah waktu tunggu.

Detail
Nilai yang Ditampilkan
WEAVE_NO_ERROR
saat pengaktifan pemeriksaan keepalive TCP berhasil pada koneksi.
WEAVE_ERROR_NOT_IMPLEMENTED
jika fungsi ini dipanggil untuk endpoint yang tidak kompatibel (misalnya, BLE) di lapisan jaringan.
WEAVE_ERROR_INCORRECT_STATE
jika objek WeaveConnection tidak dalam status yang benar untuk mengirim pesan.
other
Error lapisan int yang terkait dengan endpoint TCP memungkinkan operasi keepalive.

AktifkanTerima

void EnableReceive(
  void
)

Aktifkan penerimaan melalui WeaveConnection ini.

Metode ini digunakan oleh aplikasi untuk menunjukkan kepada objek WeaveConnection bahwa objek sudah siap untuk menerima data yang datang melalui koneksi TCP.

Lihat juga:
DisableReceive()

GetPeerAddressInfo

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

Dapatkan informasi alamat IP pembanding.

Detail
Parameter
[out] addrInfo
Referensi ke objek IPPacketInfo.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Setelah berhasil.
WEAVE_ERROR_NOT_IMPLEMENTED
Jika fungsi ini dipanggil untuk endpoint yang tidak kompatibel (misalnya, BLE) di lapisan jaringan.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize
) const 

Membuat string yang menjelaskan node pembanding yang terkait dengan koneksi.

Detail
Parameter
[in] buf
Pointer ke buffer tempat string harus ditulis. Buffering yang disediakan harus berukuran sebesar kGetPeerDescription_MaxLength. Jika buffering yang lebih kecil diberikan, string akan dipotong agar sesuai. Outputnya akan menyertakan karakter penghentian NUL dalam semua kasus.
[in] bufSize
Ukuran buffer yang ditunjuk dengan buf.

GetTCPEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

Masuk

bool IsIncoming(
  void
) const 

ID Log

uint16_t LogId(
  void
) const 

Rilis

void Release(
  void
)

Mengurangi jumlah referensi pada objek WeaveConnection.

Metode Release() mengurangi jumlah referensi yang terkait dengan objek WeaveConnection. Jika hal ini menyebabkan jumlah referensi mencapai nol, koneksi akan ditutup dan objek koneksi akan dibebaskan. Jika ini terjadi, aplikasi tidak boleh memiliki interaksi lebih lanjut dengan objek.

ResetUserTimeout

WEAVE_ERROR ResetUserTimeout(
  void
)

WeaveConnection::ResetUserTimeout.

Reset opsi soket waktu tunggu pengguna TCP ke default sistem.

Catatan:-Metode ini hanya dapat dipanggil pada koneksi Weave yang didukung oleh koneksi TCP. -Metode ini hanya dapat dipanggil jika koneksi dalam status yang memungkinkan pengiriman.

-Metode ini tidak melakukan apa pun jika waktu tunggu pengguna belum ditetapkan pada koneksi.

Detail
Nilai yang Ditampilkan
WEAVE_NO_ERROR
saat berhasil menyetel ulang waktu tunggu pengguna TCP pada koneksi.
WEAVE_ERROR_NOT_IMPLEMENTED
jika fungsi ini dipanggil untuk endpoint yang tidak kompatibel (misalnya, BLE) di lapisan jaringan.
WEAVE_ERROR_INCORRECT_STATE
jika objek WeaveConnection tidak dalam status yang benar untuk mengirim pesan.
other
Error lapisan int yang terkait dengan reset endpoint TCP waktu tunggu pengguna TCP.

KirimPesan

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Kirim pesan Weave melalui koneksi yang terbentuk.

Detail
Parameter
[in] msgInfo
Pointer ke objek WeaveMessageInfo.
[in] msgBuf
Pointer ke objek PacketBuffer yang menyimpan paket yang akan dikirim.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
berhasil mengirim pesan ke lapisan jaringan.
WEAVE_ERROR_INCORRECT_STATE
jika objek WeaveConnection tidak dalam status yang benar untuk mengirim pesan.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
jika ID node tujuan tidak ditentukan.
WEAVE_ERROR_SENDING_BLOCKED
jika pesan terlalu panjang untuk dikirim.
other
Error lapisan inet yang terkait dengan operasi pengiriman endpoint tertentu.

SendTunneledMessage

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Fungsi untuk mengirim paket Tunneled melalui koneksi Weave.

Mengirim pesan Weave yang terhubung melalui koneksi yang telah terbentuk.

Detail
Parameter
[in] msgInfo
Pointer ke objek WeaveMessageInfo.
[in] msgBuf
Pointer ke objek PacketBuffer yang menyimpan paket yang akan dikirim.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
berhasil mengirim pesan ke lapisan jaringan.
WEAVE_ERROR_INCORRECT_STATE
jika objek WeaveConnection tidak dalam status yang benar untuk mengirim pesan.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
jika ID node tujuan tidak ditentukan.
WEAVE_ERROR_SENDING_BLOCKED
jika pesan terlalu panjang untuk dikirim.
other
Error lapisan inet yang terkait dengan operasi pengiriman endpoint tertentu.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Setel waktu tunggu agar Connect berhasil atau menampilkan error.

Detail
Parameter
[in] connTimeoutMsecs

MenyetelWaktu Tidak Aktif

WEAVE_ERROR SetIdleTimeout(
  uint32_t timeoutMS
)

Setel waktu tunggu tidak ada aktivitas pada koneksi lapisan jaringan yang mendasarinya.

Detail
Parameter
[in] timeoutMS
waktu tunggu dalam milidetik.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
pada setelan waktu tunggu tidak ada aktivitas yang berhasil untuk sambungan.
WEAVE_ERROR_INCORRECT_STATE
jika objek WeaveConnection tidak dalam status yang benar untuk menerima pesan.

Ditetapkan

void SetIncoming(
  bool val
)

SetUserTimeout

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection::SetUserTimeout.

Setel opsi soket waktu tunggu pengguna TCP.

Jika nilainya lebih besar dari 0, nilai tersebut akan menentukan jumlah waktu maksimum dalam milidetik, untuk data yang ditransmisikan yang mungkin masih tidak terkonfirmasi sebelum TCP menutup sambungan yang sesuai secara paksa. Jika nilai opsi ditentukan sebagai 0, TCP akan menggunakan default sistem. Lihat RFC 5482 untuk detail lebih lanjut.

Detail
Parameter
[in] userTimeoutMillis
Nilai waktu tunggu pengguna tcp dalam milidetik.

Catatan:-Metode ini hanya dapat dipanggil pada koneksi Weave yang didukung oleh koneksi TCP. -Metode ini hanya dapat dipanggil jika koneksi dalam status yang memungkinkan pengiriman.

-Metode ini dapat dipanggil beberapa kali untuk menyesuaikan waktu tunggu pengguna TCP.

Detail
Nilai yang Ditampilkan
WEAVE_NO_ERROR
pada setelan waktu tunggu pengguna TCP yang berhasil di koneksi.
WEAVE_ERROR_NOT_IMPLEMENTED
jika fungsi ini dipanggil untuk endpoint yang tidak kompatibel (misalnya, BLE) di lapisan jaringan.
WEAVE_ERROR_INCORRECT_STATE
jika objek WeaveConnection tidak dalam status yang benar untuk mengirim pesan.
other
Error lapisan inet yang terkait dengan setelan endpoint TCP waktu tunggu pengguna TCP.

Nonaktif

WEAVE_ERROR Shutdown(
  void
)

Melakukan pengiriman TCP tertutup elegan, memastikan semua data keluar telah dikirim dan diterima oleh stack TCP pembanding.

Dengan sebagian besar (tetapi tidak semua) implementasi TCP, penerimaan penghentian pengiriman akan menyebabkan host jarak jauh juga menonaktifkan sisi koneksinya, sehingga menghasilkan penutupan koneksi. Panggilan berikutnya ke Close() akan menghentikan WeaveConnection.

Detail
Nilai yang Ditampilkan
WEAVE_NO_ERROR
saat koneksi tcp berhasil dinonaktifkan.
WEAVE_ERROR_NOT_IMPLEMENTED
jika fungsi ini dipanggil untuk endpoint yang tidak kompatibel (misalnya, BLE) di lapisan jaringan.
WEAVE_ERROR_INCORRECT_STATE
jika objek WeaveConnection tidak dalam status yang benar sebelum memulai penonaktifan.
other
Error lapisan inet yang terkait dengan operasi penonaktifan endpoint tertentu.
Lihat juga:
Close() dan Abort().