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 merupakan 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 merupakan 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 Tunneled 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 yang terkait.
OnConnectionClosed
OnConnectionComplete
OnMessageReceived
OnReceiveError
OnTunneledMessageReceived
PeerAddr
IPAddress
[HANYA BACA] Alamat IP node peer.
PeerNodeId
uint64_t
[HANYA BACA] ID node pembanding.
PeerPort
uint16_t
[HANYA BACA] Nomor port node pembanding.
ReceiveEnabled
bool
[HANYA BACA] True jika penerimaan diaktifkan, false 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 WeaveConnection berbasis TCP atau BLE secara tidak sopan, sehingga menghapus data apa pun yang mungkin terjadi atau berasal dari peer.
AddRef(void)
void
Cadangkan referensi ke objek WeaveConnection.
Close(void)
Melakukan penutupan halus yang tidak memblokir WeaveConnection berbasis TCP atau BLE, mengirimkan data keluar yang tersisa sebelum dengan sopan memberi tahu host jarak jauh bahwa kita telah mereset koneksi.
Close(bool suppressCloseLog)
Melakukan penutupan halus yang tidak memblokir WeaveConnection berbasis TCP atau BLE, mengirimkan data keluar yang tersisa sebelum dengan sopan memberi tahu host jarak jauh bahwa kita 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)
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 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)
Mendapatkan 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)
Berfungsi 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)
Menyetel waktu tunggu tidak ada aktivitas pada koneksi lapisan jaringan yang mendasarinya.
SetIncoming(bool val)
void
SetUserTimeout(uint32_t userTimeoutMillis)
Shutdown(void)
Melakukan penghentian pengiriman TCP halus, memastikan semua data keluar telah dikirim dan diterima oleh tumpukan TCP peer.

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 merupakan callback aplikasi yang dipanggil saat koneksi ditutup.

Detail
Parameter
[in] con
Pointer ke objek WeaveConnection.
[in] conErr
Terjadi WEAVE_ERROR 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 ditemukan selama penyiapan koneksi.

MessageReceiveFunct

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

Fungsi ini merupakan 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 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 terjadi saat 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 dicoba.

kState_EstablishingSession

Sebutkan saat sesi aman sedang dibuat.

kState_ReadyToConnect

Status setelah inisialisasi koneksi Weave.

kState_Resolving

Status saat resolusi nama DNS dilakukan.

kState_SendShutdown

Sebutkan saat koneksi sedang dimatikan.

TunneledMsgReceiveFunct

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

Fungsi ini adalah callback aplikasi yang dipanggil setelah menerima paket data Tunneled 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 digunakan saat mengirim pesan.

MessageLayer

WeaveMessageLayer * MessageLayer

[HANYA BACA] Objek WeaveMessageLayer terkait.

NetworkType

uint8_t NetworkType

[HANYA BACA] Jenis jaringan titik akhir yang terkait.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnConnectionComplete

ConnectionCompleteFunct OnConnectionComplete

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnTunneledMessageReceived

TunneledMsgReceiveFunct OnTunneledMessageReceived

PeerAddr

IPAddress PeerAddr

[HANYA BACA] Alamat IP node peer.

PeerNodeId

uint64_t PeerNodeId

[HANYA BACA] ID node pembanding.

PeerPort

uint16_t PeerPort

[HANYA BACA] Nomor port node pembanding.

ReceiveEnabled

bool ReceiveEnabled

[HANYA BACA] True jika penerimaan diaktifkan, false 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 WeaveConnection berbasis TCP atau BLE secara tidak sopan, sehingga menghapus data apa pun yang mungkin terjadi atau berasal dari peer.

Panggilan ke Abort() akan segera menghentikan koneksi yang mendasarinya. Setelah itu, 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 terbuka/aktif 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
)

Cadangkan referensi ke objek WeaveConnection.

Metode AddRef() menambahkan 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 halus yang tidak memblokir WeaveConnection berbasis TCP atau BLE, mengirimkan data keluar yang tersisa sebelum dengan sopan memberi tahu host jarak jauh bahwa kita telah mereset koneksi.

Metode ini tidak memberikan jaminan kuat bahwa setiap pesan keluar yang tidak diakui pada tingkat protokol aplikasi telah diterima oleh peer jarak jauh. Untuk TCP dan BLE, stack 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 transport diperlukan sebelum menutup koneksi. Koneksi BLE tidak menyediakan padanan Shutdown().

Untuk koneksi berbasis BLE, Close() akan menutup WeaveConnection dan segera mengembalikan, tetapi dapat menyebabkan objek BLEEndPoint dasar tetap ada hingga semua data keluar telah dikirim. Ini adalah efek samping dari implementasi protokol transportasi Weave over 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, terlepas dari apakah koneksi tersebut terbuka/aktif 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 WeaveConnection berbasis TCP atau BLE, mengirimkan data keluar yang tersisa sebelum dengan sopan memberi tahu host jarak jauh bahwa kita telah mereset koneksi.

Metode ini tidak memberikan jaminan kuat bahwa setiap pesan keluar yang tidak diakui pada tingkat protokol aplikasi telah diterima oleh peer jarak jauh. Untuk TCP dan BLE, stack 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 transport diperlukan sebelum menutup koneksi. Koneksi BLE tidak menyediakan padanan Shutdown().

Untuk koneksi berbasis BLE, Close() akan menutup WeaveConnection dan segera mengembalikan, tetapi dapat menyebabkan objek BLEEndPoint dasar tetap ada hingga semua data keluar telah dikirim. Ini adalah efek samping dari implementasi protokol transportasi Weave over 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, terlepas dari apakah koneksi tersebut terbuka/aktif 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 ditekan, false jika tidak.
Hasil
WEAVE_NO_ERROR tanpa syarat.
Lihat juga:
Shutdown(), Abort(), AddRef(), dan Release().

Konektivitas

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 Pengembalian
WEAVE_NO_ERROR
pada keberhasilan inisiasi koneksi ke {i>peer<i}.
WEAVE_ERROR_INCORRECT_STATE
jika status WeaveConnection salah.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
jika mode otentikasi 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.

Konektivitas

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 pembanding, ditetapkan secara default ke WEAVE_PORT.
Nilai Pengembalian
WEAVE_NO_ERROR
pada keberhasilan inisiasi koneksi ke {i>peer<i}.
WEAVE_ERROR_INCORRECT_STATE
jika status WeaveConnection salah.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
jika mode otentikasi 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.

Konektivitas

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 peer. Hanya mode CASE, PASE, dan Unauthenticated yang didukung.
[in] peerAddr
Alamat IP peer, IPAddress::Any jika tidak diketahui.
[in] peerPort
Port opsional pembanding, ditetapkan secara default ke WEAVE_PORT.
[in] intf
Antarmuka opsional yang akan digunakan untuk terhubung ke node peer, secara default ditetapkan ke INET_NULL_INTERFACEID.
Nilai Pengembalian
WEAVE_NO_ERROR
pada keberhasilan inisiasi koneksi ke {i>peer<i}.
WEAVE_ERROR_INCORRECT_STATE
jika status WeaveConnection salah.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
jika mode otentikasi 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.

Konektivitas

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 Unauthenticated 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 Pengembalian
WEAVE_NO_ERROR
pada keberhasilan inisiasi koneksi ke {i>peer<i}.
WEAVE_ERROR_INCORRECT_STATE
jika status WeaveConnection salah.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
jika mode otentikasi 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.

Konektivitas

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 Unauthenticated yang didukung.
[in] peerAddr
Alamat atau nama host peer sebagai string C yang tidak diakhiri dengan NULL.
[in] peerAddrLen
Panjang string peerAddr.
[in] defaultPort
Port default opsional yang akan digunakan untuk koneksi jika tidak disediakan dalam string peerAddr.
Nilai Pengembalian
WEAVE_NO_ERROR
pada keberhasilan inisiasi koneksi ke {i>peer<i}.
WEAVE_ERROR_INCORRECT_STATE
jika status WeaveConnection salah.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
jika mode otentikasi 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.

Konektivitas

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 Unauthenticated yang didukung.
[in] peerAddr
Alamat atau nama host peer sebagai string C yang tidak diakhiri dengan NULL.
[in] peerAddrLen
Panjang string peerAddr.
[in] dnsOptions
Nilai integer yang mengontrol cara resolusi nama host dilakukan. Nilai harus OR dari 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 Pengembalian
WEAVE_NO_ERROR
pada keberhasilan inisiasi koneksi ke {i>peer<i}.
WEAVE_ERROR_INCORRECT_STATE
jika status WeaveConnection salah.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
jika mode otentikasi 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.

Konektivitas

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, secara default ditetapkan ke INET_NULL_INTERFACEID.
Nilai Pengembalian
WEAVE_NO_ERROR
pada keberhasilan inisiasi koneksi ke {i>peer<i}.
WEAVE_ERROR_INCORRECT_STATE
jika status WeaveConnection salah.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
jika mode otentikasi 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.

Konektivitas

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 integer yang mengontrol cara resolusi nama host dilakukan. Nilai harus OR dari satu atau beberapa nilai dari enumerasi #::nl::Inet::DNSOptions.
[in] intf
Antarmuka opsional yang akan digunakan untuk terhubung ke node peer, secara default ditetapkan ke INET_NULL_INTERFACEID.
Nilai Pengembalian
WEAVE_NO_ERROR
pada keberhasilan inisiasi koneksi ke {i>peer<i}.
WEAVE_ERROR_INCORRECT_STATE
jika status WeaveConnection salah.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
jika mode otentikasi 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.

DisableKeepAlive

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection::DisableKeepAlive.

Nonaktifkan pemeriksaan keepalive TCP pada koneksi TCP yang mendasarinya.

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

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

Detail
Nilai Pengembalian
WEAVE_NO_ERROR
setelah berhasil menonaktifkan 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 inet yang terkait dengan endpoint TCP memungkinkan 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 apa pun yang tiba melalui koneksi TCP. Untuk mengaktifkan kembali penerimaan, aplikasi perlu memanggil EnableReceive() untuk mengizinkan WeaveConnection meneruskan data 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 pada koneksi Weave yang didukung oleh koneksi TCP. -Metode ini hanya bisa dipanggil jika koneksi berada dalam status yang memungkinkan pengiriman.

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

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

Detail
Nilai Pengembalian
WEAVE_NO_ERROR
pada keberhasilan pengaktifan 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 inet yang terkait dengan endpoint TCP memungkinkan operasi keepalive.

EnableReceive

void EnableReceive(
  void
)

Aktifkan penerimaan melalui WeaveConnection ini.

Metode ini digunakan oleh aplikasi untuk menunjukkan kepada objek WeaveConnection bahwa aplikasi telah siap untuk menerima data apa pun yang tiba melalui koneksi TCP.

Lihat juga:
DisableReceive()

GetPeerAddressInfo

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

Mendapatkan informasi alamat IP pembanding.

Detail
Parameter
[out] addrInfo
Referensi ke objek IPPacketInfo.
Nilai Pengembalian
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 peer yang terkait dengan koneksi.

Detail
Parameter
[in] buf
Pointer ke buffer tempat string harus ditulis. Buffering yang disediakan minimal harus sebesar kGetPeerDescription_MaxLength. Jika buffer yang diberikan lebih kecil, string akan dipotong agar sesuai. Output-nya akan menyertakan 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 ditutup dan objek koneksi 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 bisa dipanggil jika koneksi berada dalam status yang memungkinkan pengiriman.

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

Detail
Nilai Pengembalian
WEAVE_NO_ERROR
saat berhasil mengatur 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 inet terkait 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 Pengembalian
WEAVE_NO_ERROR
saat 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
)

Berfungsi untuk mengirim paket Tunneled melalui koneksi Weave.

Mengirim pesan Weave yang disalurkan melalui koneksi yang ada.

Detail
Parameter
[in] msgInfo
Pointer ke objek WeaveMessageInfo.
[in] msgBuf
Pointer ke objek PacketBuffer yang menyimpan paket yang akan dikirim.
Nilai Pengembalian
WEAVE_NO_ERROR
saat 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

SetIdleTimeout

WEAVE_ERROR SetIdleTimeout(
  uint32_t timeoutMS
)

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

Detail
Parameter
[in] timeoutMS
waktu tunggu dalam milidetik.
Nilai Pengembalian
WEAVE_NO_ERROR
pada pengaturan waktu tunggu menganggur untuk koneksi yang berhasil.
WEAVE_ERROR_INCORRECT_STATE
jika objek WeaveConnection tidak dalam status yang benar untuk menerima pesan.

SetIncoming

void SetIncoming(
  bool val
)

SetUserTimeout

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection::SetUserTimeout.

Menyetel opsi soket waktu tunggu pengguna TCP.

Ketika nilainya lebih besar dari 0, nilai ini akan menentukan jumlah waktu maksimum dalam milidetik saat data yang dikirim mungkin tetap tidak dikonfirmasi sebelum TCP akan menutup koneksi terkait secara paksa. Jika nilai opsi ditetapkan 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 bisa dipanggil jika koneksi berada dalam status yang memungkinkan pengiriman.

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

Detail
Nilai Pengembalian
WEAVE_NO_ERROR
pada 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 inet yang terkait dengan setelan endpoint TCP waktu tunggu pengguna TCP.

Nonaktif

WEAVE_ERROR Shutdown(
  void
)

Melakukan penghentian pengiriman TCP halus, memastikan semua data keluar telah dikirim dan diterima oleh tumpukan TCP peer.

Dengan sebagian besar (tetapi tidak semua) implementasi TCP, penerimaan pengiriman penonaktifan akan menyebabkan host jarak jauh mematikan sisi koneksi mereka juga, sehingga koneksi terputus. Panggilan berikutnya ke Close() akan menghentikan WeaveConnection.

Detail
Nilai Pengembalian
WEAVE_NO_ERROR
saat berhasil mematikan koneksi {i>tcp<i}.
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().