nl::Weave::WeaveConnection

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

Definisi class Weave Connection.

Ringkasan

Ini mewakili koneksi TCP atau BLE ke {i>node<i} 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 saat 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 objek koneksi Weave.
TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Fungsi ini adalah callback aplikasi yang dipanggil setelah menerima paket data Tunnel 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 akan 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 pembanding.
PeerPort
uint16_t
[HANYA BACA] Nomor port node peer.
ReceiveEnabled
bool
[HANYA BACA] Benar jika penerimaan diaktifkan, salah jika tidak.
SendDestNodeId
bool
True jika semua pesan yang dikirim melalui koneksi ini harus menyertakan ID node tujuan yang dienkode secara eksplisit, false jika tidak.
SendSourceNodeId
bool
True jika semua pesan yang dikirim melalui koneksi ini harus menyertakan ID node sumber yang dienkode secara eksplisit, false jika tidak.
State
uint8_t
[HANYA BACA] Status objek WeaveConnection.

Fungsi publik

Abort(void)
void
Melakukan penutupan yang tidak sopan dari WeaveConnection berbasis TCP atau BLE, menghapus data apa pun yang mungkin berada dalam penerbangan ke atau dari pembanding.
AddRef(void)
void
Mencadangkan referensi ke objek WeaveConnection.
Close(void)
Melakukan penutupan halus yang tidak memblokir dari WeaveConnection berbasis TCP atau BLE, mengirimkan data keluar yang tersisa sebelum dengan sopan memberi tahu host jarak jauh bahwa kami telah mereset koneksi.
Close(bool suppressCloseLog)
Melakukan penutupan halus yang tidak memblokir dari WeaveConnection berbasis TCP atau BLE, mengirimkan data keluar yang tersisa sebelum dengan sopan memberi tahu host jarak jauh bahwa kami telah mereset koneksi.
Connect(uint64_t peerNodeId)
Menghubungkan ke node Weave menggunakan alamat IP fabric 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)
Hubungkan 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 peer 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 peer 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 peer 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)
Mengirim pesan Weave melalui koneksi yang dibuat.
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)
Tetapkan waktu tunggu tidak ada aktivitas pada koneksi lapisan jaringan dasar.
SetIncoming(bool val)
void
SetUserTimeout(uint32_t userTimeoutMillis)
Shutdown(void)
Melakukan send-shutdown TCP halus, memastikan semua data keluar telah dikirim dan diterima oleh stack TCP peer.

Jenis publik

@58

 @58
Properti
kGetPeerDescription_MaxLength

Panjang string maksimum (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 ditemui selama pengaturan 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.
[in] msgBuf
Pointer ke objek PacketBuffer yang menyimpan pesan.

NetworkType

 NetworkType

Jenis jaringan objek koneksi Weave.

Properti
kNetworkType_BLE

Jenis jaringan BLE.

kNetworkType_IP

Jenis jaringan TCP/IP.

kNetworkType_Unassigned

Jenis jaringan yang belum ditetapkan.

ReceiveErrorFunct

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

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

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

Negara Bagian

 State

Status objek koneksi Weave.

Properti
kState_Closed

Status saat koneksi ditutup.

kState_Connected

Status saat koneksi telah dibuat.

kState_Connecting

Status saat koneksi sedang dicoba.

kState_EstablishingSession

Status saat sesi yang aman sedang dibuat.

kState_ReadyToConnect

Status setelah inisialisasi koneksi Weave.

kState_Resolving

Status saat resolusi nama DNS sedang dilakukan.

kState_SendShutdown

Status saat koneksi dimatikan.

TunneledMsgReceiveFunct

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

Fungsi ini adalah callback aplikasi yang dipanggil setelah menerima paket data Tunnel 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 disalurkan yang diterima.

Atribut publik

AppState

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.

DefaultKeyId

uint16_t DefaultKeyId

Kunci enkripsi default yang akan digunakan saat mengirim pesan.

MessageLayer

WeaveMessageLayer * MessageLayer

[HANYA BACA] Objek WeaveMessageLayer terkait.

NetworkType

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.

PeerNodeId

uint64_t PeerNodeId

[HANYA BACA] ID node pembanding.

PeerPort

uint16_t PeerPort

[HANYA BACA] Nomor port node peer.

ReceiveEnabled

bool ReceiveEnabled

[HANYA BACA] Benar jika penerimaan diaktifkan, salah jika tidak.

SendDestNodeId

bool SendDestNodeId

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

SendSourceNodeId

bool SendSourceNodeId

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

Negara Bagian

uint8_t State

[HANYA BACA] Status objek WeaveConnection.

Fungsi publik

Batalkan

void Abort(
  void
)

Melakukan penutupan yang tidak sopan dari WeaveConnection berbasis TCP atau BLE, menghapus data apa pun yang mungkin berada dalam penerbangan ke atau dari pembanding.

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

Memanggil Abort() akan mengurangi jumlah referensi yang terkait dengan objek WeaveConnection, terlepas dari apakah koneksi terbuka/aktif atau tidak pada saat metode dipanggil. Jika hal ini mengakibatkan 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().

AddRef

void AddRef(
  void
)

Mencadangkan referensi ke objek WeaveConnection.

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

Tutup

WEAVE_ERROR Close(
  void
)

Melakukan penutupan halus yang tidak memblokir dari WeaveConnection berbasis TCP atau BLE, mengirimkan data keluar yang tersisa sebelum dengan sopan memberi tahu host jarak jauh bahwa kami 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, tumpukan protokol yang mendasarinya akan melakukan upaya terbaik untuk mengirimkan data keluar yang tertunda sebelum mengatur ulang koneksi. Untuk TCP, Shutdown() harus digunakan sebelum Close() jika konfirmasi tanda terima pesan lapisan transpor diperlukan sebelum menutup koneksi. Koneksi BLE tidak menyediakan Shutdown() yang setara.

Untuk koneksi berbasis BLE, Close() menutup WeaveConnection dan segera ditampilkan, tetapi dapat menyebabkan objek BLEEndPoint yang mendasarinya tetap ada hingga semua data keluar telah dikirim. Ini adalah efek samping dari implementasi protokol transpor Weave dibandingkan BLE yang ada dalam Weave BleLayer.

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

Memanggil Close() akan mengurangi jumlah referensi yang terkait dengan objek WeaveConnection, baik koneksi terbuka/aktif atau tidak pada saat metode dipanggil. Jika hal ini mengakibatkan 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 halus yang tidak memblokir dari WeaveConnection berbasis TCP atau BLE, mengirimkan data keluar yang tersisa sebelum dengan sopan memberi tahu host jarak jauh bahwa kami 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, tumpukan protokol yang mendasarinya akan melakukan upaya terbaik untuk mengirimkan data keluar yang tertunda sebelum mengatur ulang koneksi. Untuk TCP, Shutdown() harus digunakan sebelum Close() jika konfirmasi tanda terima pesan lapisan transpor diperlukan sebelum menutup koneksi. Koneksi BLE tidak menyediakan Shutdown() yang setara.

Untuk koneksi berbasis BLE, Close() menutup WeaveConnection dan segera ditampilkan, tetapi dapat menyebabkan objek BLEEndPoint yang mendasarinya tetap ada hingga semua data keluar telah dikirim. Ini adalah efek samping dari implementasi protokol transpor Weave dibandingkan BLE yang ada dalam Weave BleLayer.

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

Memanggil Close() akan mengurangi jumlah referensi yang terkait dengan objek WeaveConnection, baik koneksi terbuka/aktif atau tidak pada saat metode dipanggil. Jika hal ini mengakibatkan 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 perlu 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 fabric yang berasal dari ID node yang ditentukan.

Detail
Parameter
[in] peerNodeId
ID node pembanding.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
pada keberhasilan inisiasi koneksi ke rekan.
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 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, ditetapkan secara default ke WEAVE_PORT.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
pada keberhasilan inisiasi koneksi ke rekan.
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 yang dihasilkan oleh operasi koneksi TCPEndPoint.

Connect

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

Hubungkan 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 peer. Hanya mode CASE, PASE, dan Tidak terautentikasi yang didukung.
[in] peerAddr
Alamat IP peer, IPAddress::Any jika tidak diketahui.
[in] peerPort
Port opsional peer, ditetapkan secara default ke WEAVE_PORT.
[in] intf
Antarmuka opsional yang akan digunakan untuk terhubung ke node peer, default ke INET_NULL_INTERFACEID.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
pada keberhasilan inisiasi koneksi ke rekan.
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 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 peer. Hanya mode CASE, PASE, dan Tidak terautentikasi yang didukung.
[in] peerAddr
Alamat atau nama host peer sebagai string C yang dihentikan NULL.
[in] defaultPort
Port default opsional yang akan digunakan untuk koneksi jika tidak disediakan dalam string peerAddr.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
pada keberhasilan inisiasi koneksi ke rekan.
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 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 peer 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 peer. Hanya mode CASE, PASE, dan Tidak terautentikasi yang didukung.
[in] peerAddr
Alamat atau nama host peer sebagai string C yang dihentikan non-NULL.
[in] peerAddrLen
Panjang string peerAddr.
[in] defaultPort
Port default opsional yang akan digunakan untuk koneksi jika tidak disediakan dalam string peerAddr.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
pada keberhasilan inisiasi koneksi ke rekan.
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 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 peer 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 peer. Hanya mode CASE, PASE, dan Tidak terautentikasi yang didukung.
[in] peerAddr
Alamat atau nama host peer sebagai string C yang dihentikan non-NULL.
[in] peerAddrLen
Panjang string peerAddr.
[in] dnsOptions
Nilai bilangan bulat yang mengontrol cara resolusi nama host dilakukan. Nilai harus berupa OR satu atau beberapa nilai dari enumerasi #::nl::Inet::DNSOptions.
[in] defaultPort
Port default opsional yang akan digunakan untuk koneksi jika tidak disediakan dalam string peerAddr.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
pada keberhasilan inisiasi koneksi ke rekan.
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 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 peer, default ke INET_NULL_INTERFACEID.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
pada keberhasilan inisiasi koneksi ke rekan.
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 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 cara resolusi nama host dilakukan. Nilai harus berupa OR satu atau beberapa nilai dari enumerasi #::nl::Inet::DNSOptions.
[in] intf
Antarmuka opsional yang akan digunakan untuk terhubung ke node peer, default ke INET_NULL_INTERFACEID.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
pada keberhasilan inisiasi koneksi ke rekan.
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 yang dihasilkan oleh operasi koneksi TCPEndPoint.

DisableKeepAlive

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection::DisableKeepAlive.

Menonaktifkan pemeriksaan keepalive TCP pada koneksi TCP yang mendasarinya.

Catatan: Metode ini hanya dapat dipanggil di koneksi Weave yang didukung oleh koneksi TCP. Metode ini hanya bisa dipanggil bila koneksi dalam status yang memungkinkan pengiriman.

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

Detail
Nilai yang Ditampilkan
WEAVE_NO_ERROR
keberhasilan penonaktifan pemeriksaan {i> keepalive<i} 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 yang terkait dengan endpoint TCP mengaktifkan operasi keepalive.

DisableReceive

void DisableReceive(
  void
)

Nonaktifkan penerimaan melalui WeaveConnection ini.

Metode ini digunakan oleh aplikasi untuk menunjukkan bahwa aplikasi belum siap untuk menerima data yang masuk melalui koneksi TCP. Untuk mengaktifkan kembali penerimaan, aplikasi perlu memanggil EnableReceive() untuk memungkinkan WeaveConnection menyerahkan data apa pun yang diterima dengan memanggil callback yang sesuai.

Lihat juga:
EnableReceive()

EnableKeepAlive

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection::EnableKeepAlive.

Mengaktifkan pemeriksaan keepalive TCP pada koneksi TCP yang mendasarinya.

Catatan: - Metode ini hanya dapat dipanggil di koneksi Weave yang didukung oleh koneksi TCP. -Metode ini hanya bisa dipanggil ketika koneksi dalam keadaan 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 pemeriksaan keepalive pertama.
[in] timeoutCount
Jumlah maksimum pemeriksaan yang tidak diakui sebelum koneksi akan dianggap gagal.

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

Detail
Nilai yang Ditampilkan
WEAVE_NO_ERROR
tentang keberhasilan pengaktifan {i> probe keepalive <i}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 yang terkait dengan endpoint TCP mengaktifkan operasi keepalive.

EnableReceive

void EnableReceive(
  void
)

Aktifkan penerimaan melalui WeaveConnection ini.

Metode ini digunakan oleh aplikasi untuk menunjukkan pada objek WeaveConnection bahwa aplikasi siap menerima data apa pun yang masuk 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
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 peer yang terkait dengan koneksi.

Detail
Parameter
[in] buf
Pointer ke buffer tempat string harus ditulis. Buffer yang disediakan harus berukuran minimal sebesar kGetPeerDescription_MaxLength. Jika buffer yang lebih kecil diberikan, string akan dipotong agar pas. Output-nya akan mencakup karakter penghentian NUL dalam semua kasus.
[in] bufSize
Ukuran buffer yang ditunjuk oleh buf.

GetTCPEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

IsIncoming

bool IsIncoming(
  void
) const 

LogId

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 mengakibatkan 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 di koneksi Weave yang didukung oleh koneksi TCP. -Metode ini hanya bisa dipanggil ketika koneksi dalam keadaan yang memungkinkan pengiriman.

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

Detail
Nilai yang Ditampilkan
WEAVE_NO_ERROR
pada keberhasilan pengaturan 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 yang terkait dengan reset endpoint TCP waktu tunggu pengguna TCP.

SendMessage

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Mengirim pesan Weave melalui koneksi yang dibuat.

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
tentang keberhasilan 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
Menerapkan error lapisan 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 disalurkan melalui koneksi yang dibuat.

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
tentang keberhasilan 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
Menerapkan error lapisan 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

SetIdleTimeout

WEAVE_ERROR SetIdleTimeout(
  uint32_t timeoutMS
)

Tetapkan waktu tunggu tidak ada aktivitas pada koneksi lapisan jaringan dasar.

Detail
Parameter
[in] timeoutMS
waktu tunggu dalam milidetik.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
tentang keberhasilan pengaturan waktu tunggu tidak ada aktivitas untuk koneksi.
WEAVE_ERROR_INCORRECT_STATE
jika objek WeaveConnection tidak dalam status menerima pesan yang benar.

SetIncoming

void SetIncoming(
  bool val
)

SetUserTimeout

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection::SetUserTimeout.

Menyetel opsi soket waktu tunggu pengguna TCP.

Jika nilainya lebih besar dari 0, ini menentukan jumlah waktu maksimum dalam milidetik saat data yang dikirim mungkin tetap tidak dikonfirmasi sebelum TCP akan menutup koneksi 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 di koneksi Weave yang didukung oleh koneksi TCP. -Metode ini hanya bisa dipanggil ketika koneksi dalam keadaan yang memungkinkan pengiriman.

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

Detail
Nilai yang Ditampilkan
WEAVE_NO_ERROR
tentang keberhasilan pengaturan 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 yang terkait dengan setelan endpoint TCP waktu tunggu pengguna TCP.

Nonaktif

WEAVE_ERROR Shutdown(
  void
)

Melakukan send-shutdown TCP halus, memastikan semua data keluar telah dikirim dan diterima oleh stack TCP peer.

Pada sebagian besar (tetapi tidak semua) implementasi TCP, penerimaan pengiriman akan menyebabkan {i>host<i} jarak jauh juga mematikan sisi koneksinya, sehingga mengakibatkan koneksi ditutup. Panggilan berikutnya ke Close() akan menghentikan WeaveConnection.

Detail
Nilai yang Ditampilkan
WEAVE_NO_ERROR
pada berhasilnya penonaktifan koneksi TCP.
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
Menerapkan error lapisan yang terkait dengan operasi penonaktifan endpoint tertentu.
Lihat juga:
Close() dan Abort().