nl::Weave::Binding::Configuration

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

Menyediakan antarmuka gaya deklaratif untuk mengonfigurasi dan menyiapkan objek Binding.

Ringkasan

Saat mengonfigurasi Binding, aplikasi harus memanggil setidaknya satu metode dari setiap grup konfigurasi berikut: Target, Transport, dan Keamanan. Metode lain mungkin dipanggil sesuai kebutuhan untuk mengganti perilaku default.

Jika konfigurasi yang saling eksklusif dipanggil (misalnya, Transport_TCP() diikuti dengan Transport_UDP()), baris terakhir yang akan dipanggil akan menang.

Fungsi publik

ConfigureFromMessage(const WeaveMessageInfo *aMsgInfo, const Inet::IPPacketInfo *aPacketInfo)
Mengonfigurasi binding untuk memungkinkan komunikasi dengan pengirim pesan yang diterima.
DNS_Options(uint8_t dnsOptions)
Saat me-resolve nama host peer, gunakan opsi DNS yang ditentukan.
Exchange_ResponseTimeoutMsec(uint32_t aResponseTimeoutMsec)
Tetapkan waktu tunggu respons default untuk konteks pertukaran yang dibuat dari objek Binding ini.
GetError(void) const
Tampilkan error yang terjadi saat mengonfigurasi Binding.
PrepareBinding(void)
Menjadi proses penyiapan Binding untuk komunikasi dengan peer.
Security_AppGroupKey(uint32_t aAppGroupGlobalId, uint32_t aRootKeyId, bool aUseRotatingKey)
Saat berkomunikasi dengan peer, kirim dan terima pesan yang dienkripsi untuk Weave Application Group tertentu.
Security_AuthenticationMode(WeaveAuthMode aAuthMode)
Mengatur mode otentikasi yang diminta yang akan digunakan untuk mengautentikasi peer.
Security_CASESession(void)
Saat berkomunikasi dengan peer, kirim dan terima pesan yang dienkripsi menggunakan kunci sesi CASE yang dibuat dengan node peer.
Security_EncryptionType(uint8_t aEncType)
Saat berkomunikasi dengan pembanding, kirim dan terima pesan yang dienkripsi menggunakan jenis enkripsi pesan yang ditentukan.
Security_Key(uint32_t aKeyId)
Saat berkomunikasi dengan pembanding, kirim dan terima pesan yang dienkripsi menggunakan kunci yang ditentukan.
Security_None(void)
Saat berkomunikasi dengan peer, kirim dan terima yang tidak terenkripsi (yaitu
Security_PASESession(uint8_t aPasswordSource)
Saat berkomunikasi dengan rekan, kirim dan terima pesan yang dienkripsi menggunakan kunci sesi PASE yang dibuat dengan node peer.
Security_SharedCASESession(void)
Saat berkomunikasi dengan pembanding, kirim dan terima pesan yang dienkripsi menggunakan kunci sesi CASE bersama yang dibuat dengan router inti Nest.
Security_SharedCASESession(uint64_t aRouterNodeId)
Saat berkomunikasi dengan peer, kirim dan terima pesan yang dienkripsi menggunakan kunci sesi CASE bersama yang dibuat dengan node router yang ditentukan.
Security_TAKESession()
Saat berkomunikasi dengan rekan, kirim dan terima pesan yang dienkripsi menggunakan kunci sesi take yang dibuat dengan node peer.
TargetAddress_IP(nl::Inet::IPAddress aPeerAddress, uint16_t aPeerPort, InterfaceId aInterfaceId)
Saat berkomunikasi dengan peer, gunakan alamat IP, porta, dan antarmuka jaringan tertentu.
TargetAddress_IP(const char *aHostName, uint16_t aPeerPort, InterfaceId aInterfaceId)
Saat berkomunikasi dengan peer, gunakan nama host, port, dan antarmuka jaringan yang spesifik.
TargetAddress_IP(const char *aHostName, size_t aHostNameLen, uint16_t aPeerPort, InterfaceId aInterfaceId)
Saat berkomunikasi dengan peer, gunakan nama host, port, dan antarmuka jaringan yang spesifik.
TargetAddress_WeaveFabric(uint16_t aSubnetId)
Saat berkomunikasi dengan peer, gunakan alamat fabric Weave yang berasal dari ID node peer dan subnet yang ditentukan.
TargetAddress_WeaveService(void)
Saat berkomunikasi dengan rekan, gunakan alamat fabric layanan Weave yang berasal dari ID node rekan.
Target_NodeId(uint64_t aPeerNodeId)
Mengonfigurasi binding untuk berkomunikasi dengan ID node Weave tertentu.
Target_ServiceEndpoint(uint64_t aPeerNodeId)
Mengonfigurasi binding untuk berkomunikasi dengan endpoint layanan Weave tertentu.
Transport_DefaultWRMPConfig(const WRMPConfig & aWRMPConfig)
Tetapkan konfigurasi WRMP default untuk konteks pertukaran yang dibuat dari objek Binding ini.
Transport_ExistingConnection(WeaveConnection *apConnection)
Menggunakan koneksi Weave yang ada untuk berkomunikasi dengan peer.
Transport_TCP(void)
Menggunakan TCP untuk berkomunikasi dengan peer.
Transport_UDP(void)
Menggunakan UDP untuk berkomunikasi dengan rekan.
Transport_UDP_PathMTU(uint32_t aPathMTU)
Menetapkan MTU jalur yang diharapkan untuk paket UDP yang berpindah ke peer.
Transport_UDP_WRM(void)
Menggunakan protokol Weave Reliable Messaging saat berkomunikasi dengan peer.

Fungsi publik

ConfigureFromMessage

Configuration & ConfigureFromMessage(
  const WeaveMessageInfo *aMsgInfo,
  const Inet::IPPacketInfo *aPacketInfo
)

Mengonfigurasi binding untuk memungkinkan komunikasi dengan pengirim pesan yang diterima.

Detail
Parameter
[in] aMsgInfo
Struktur informasi pesan yang terkait dengan pesan yang diterima.
[in] aPacketInfo
Informasi paket untuk pesan yang diterima.

DNS_Options

Configuration & DNS_Options(
  uint8_t dnsOptions
)

Saat me-resolve nama host peer, gunakan opsi DNS yang ditentukan.

Detail
Parameter
[in] dnsOptions
Nilai integer yang mengontrol cara resolusi nama host dilakukan. Nilai harus berupa salah satu nilai dari enumerasi #::nl::Inet::DNSOptions.
Hasil
Referensi ke objek binding.

Exchange_ResponseTimeoutMsec

Configuration & Exchange_ResponseTimeoutMsec(
  uint32_t aResponseTimeoutMsec
)

Tetapkan waktu tunggu respons default untuk konteks pertukaran yang dibuat dari objek Binding ini.

Detail
Parameter
[in] aResponseTimeoutMsec
Waktu respons default, dalam milidetik.
Hasil
Referensi ke objek binding.

GetError

WEAVE_ERROR GetError(
  void
) const 

Tampilkan error yang terjadi saat mengonfigurasi Binding.

PrepareBinding

WEAVE_ERROR PrepareBinding(
  void
)

Menjadi proses penyiapan Binding untuk komunikasi dengan peer.

Security_AppGroupKey

Configuration & Security_AppGroupKey(
  uint32_t aAppGroupGlobalId,
  uint32_t aRootKeyId,
  bool aUseRotatingKey
)

Saat berkomunikasi dengan peer, kirim dan terima pesan yang dienkripsi untuk Weave Application Group tertentu.

Detail
Parameter
[in] aAppGroupGlobalId
ID global grup aplikasi yang pesannya harus dienkripsi.
[in] aRootKeyId
Kunci root yang digunakan untuk memperoleh kunci enkripsi bagi Weave Application Group yang ditentukan.
[in] aUseRotatingKey
True jika Weave Application Group menggunakan kunci pesan yang dirotasi.
Hasil
Referensi ke objek Binding.

Security_AuthenticationMode

Configuration & Security_AuthenticationMode(
  WeaveAuthMode aAuthMode
)

Mengatur mode otentikasi yang diminta yang akan digunakan untuk mengautentikasi peer.

Detail
Parameter
[in] aAuthMode
Mode autentikasi yang diminta.
Hasil
Referensi ke objek Binding.

Security_CASESession

Configuration & Security_CASESession(
  void
)

Saat berkomunikasi dengan peer, kirim dan terima pesan yang dienkripsi menggunakan kunci sesi CASE yang dibuat dengan node peer.

Jika sesi yang diperlukan tidak tersedia, sesi tersebut akan ditetapkan secara otomatis sebagai bagian dari penyiapan pengikatan.

Detail
Hasil
Referensi ke objek binding.

Security_EncryptionType

Configuration & Security_EncryptionType(
  uint8_t aEncType
)

Saat berkomunikasi dengan pembanding, kirim dan terima pesan yang dienkripsi menggunakan jenis enkripsi pesan yang ditentukan.

Detail
Parameter
[in] aEncType
Jenis enkripsi pesan Weave.
Hasil
Referensi ke objek Binding.

Security_Key

Configuration & Security_Key(
  uint32_t aKeyId
)

Saat berkomunikasi dengan pembanding, kirim dan terima pesan yang dienkripsi menggunakan kunci yang ditentukan.

Detail
Parameter
[in] aKeyId
ID kunci enkripsi. Kunci yang ditentukan harus sesuai untuk enkripsi pesan Weave.
Hasil
Referensi ke objek Binding.

Security_None

Configuration & Security_None(
  void
)

Saat berkomunikasi dengan peer, kirim dan terima yang tidak terenkripsi (yaitu

tidak aman).

Detail
Hasil
Referensi ke objek binding.

Security_PASESession

Configuration & Security_PASESession(
  uint8_t aPasswordSource
)

Saat berkomunikasi dengan rekan, kirim dan terima pesan yang dienkripsi menggunakan kunci sesi PASE yang dibuat dengan node peer.

Jika sesi yang diperlukan tidak tersedia, sesi tersebut akan ditetapkan secara otomatis sebagai bagian dari penyiapan pengikatan.

Detail
Parameter
[in] aPasswordSource
Sumber sandi yang akan digunakan selama pembuatan sesi PASE.
Hasil
Referensi ke objek binding.

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  void
)

Saat berkomunikasi dengan pembanding, kirim dan terima pesan yang dienkripsi menggunakan kunci sesi CASE bersama yang dibuat dengan router inti Nest.

Jika sesi yang diperlukan tidak tersedia, sesi tersebut akan ditetapkan secara otomatis sebagai bagian dari penyiapan pengikatan.

Detail
Hasil
Referensi ke objek binding.

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  uint64_t aRouterNodeId
)

Saat berkomunikasi dengan peer, kirim dan terima pesan yang dienkripsi menggunakan kunci sesi CASE bersama yang dibuat dengan node router yang ditentukan.

Jika sesi yang diperlukan tidak tersedia, sesi tersebut akan ditetapkan secara otomatis sebagai bagian dari penyiapan pengikatan.

Detail
Parameter
[in] aRouterNodeId
ID node Weave router yang akan digunakan untuk membuat sesi CASE bersama.
Hasil
Referensi ke objek binding.

Security_TAKESession

Configuration & Security_TAKESession()

Saat berkomunikasi dengan rekan, kirim dan terima pesan yang dienkripsi menggunakan kunci sesi take yang dibuat dengan node peer.

Jika sesi yang diperlukan tidak tersedia, sesi tersebut akan ditetapkan secara otomatis sebagai bagian dari penyiapan pengikatan.

Detail
Hasil
Referensi ke objek binding.

TargetAddress_IP

Configuration & TargetAddress_IP(
  nl::Inet::IPAddress aPeerAddress,
  uint16_t aPeerPort,
  InterfaceId aInterfaceId
)

Saat berkomunikasi dengan peer, gunakan alamat IP, porta, dan antarmuka jaringan tertentu.

Detail
Parameter
[in] aPeerAddress
Alamat IP untuk peer
[in] aPeerPort
Port jarak jauh
[in] aInterfaceId
ID antarmuka jaringan lokal yang akan digunakan untuk komunikasi
Hasil
Referensi ke objek binding.

TargetAddress_IP

Configuration & TargetAddress_IP(
  const char *aHostName,
  uint16_t aPeerPort,
  InterfaceId aInterfaceId
)

Saat berkomunikasi dengan peer, gunakan nama host, port, dan antarmuka jaringan yang spesifik.

CATATAN: Pemanggil harus memastikan string nama host yang diberikan tetap valid hingga fase persiapan binding selesai.

Detail
Parameter
[in] aHostName
String yang dihentikan NULL yang berisi nama host peer.
[in] aPeerPort
Port jarak jauh yang digunakan saat berkomunikasi dengan peer.
[in] aInterfaceId
ID antarmuka jaringan lokal yang akan digunakan untuk komunikasi.
Hasil
Referensi ke objek binding.

TargetAddress_IP

Configuration & TargetAddress_IP(
  const char *aHostName,
  size_t aHostNameLen,
  uint16_t aPeerPort,
  InterfaceId aInterfaceId
)

Saat berkomunikasi dengan peer, gunakan nama host, port, dan antarmuka jaringan yang spesifik.

CATATAN: Pemanggil harus memastikan string nama host yang diberikan tetap valid hingga fase persiapan binding selesai.

Detail
Parameter
[in] aHostName
String yang berisi nama host peer. String ini tidak perlu dihentikan NULL.
[in] aHostNameLen
Panjang string yang ditunjuk oleh aHostName.
[in] aPeerPort
Port jarak jauh yang digunakan saat berkomunikasi dengan peer.
[in] aInterfaceId
ID antarmuka jaringan lokal yang akan digunakan untuk komunikasi.
Hasil
Referensi ke objek binding.

TargetAddress_WeaveFabric

Configuration & TargetAddress_WeaveFabric(
  uint16_t aSubnetId
)

Saat berkomunikasi dengan peer, gunakan alamat fabric Weave yang berasal dari ID node peer dan subnet yang ditentukan.

Detail
Parameter
[in] aSubnetId
ID subnet yang akan digunakan dalam membentuk alamat fabric Weave peer.
Hasil
Referensi ke objek binding.

TargetAddress_WeaveService

Configuration & TargetAddress_WeaveService(
  void
)

Saat berkomunikasi dengan rekan, gunakan alamat fabric layanan Weave yang berasal dari ID node rekan.

Detail
Hasil
Referensi ke objek binding.

Target_NodeId

Configuration & Target_NodeId(
  uint64_t aPeerNodeId
)

Mengonfigurasi binding untuk berkomunikasi dengan ID node Weave tertentu.

Detail
Parameter
[in] aPeerNodeId
ID node node peer.
Hasil
Referensi ke objek binding.

Target_ServiceEndpoint

Configuration & Target_ServiceEndpoint(
  uint64_t aPeerNodeId
)

Mengonfigurasi binding untuk berkomunikasi dengan endpoint layanan Weave tertentu.

Jika tidak dikonfigurasi dengan cara lain, alamat peer akan disetel ke alamat Weave fabric endpoint layanan.

Detail
Parameter
[in] serviceEndpointId
ID node endpoint layanan yang akan digunakan untuk berkomunikasi.
Hasil
Referensi ke objek binding.

Transport_DefaultWRMPConfig

Configuration & Transport_DefaultWRMPConfig(
  const WRMPConfig & aWRMPConfig
)

Tetapkan konfigurasi WRMP default untuk konteks pertukaran yang dibuat dari objek Binding ini.

Detail
Parameter
[in] aWRMPConfig
Referensi ke konfigurasi WRMP default baru.
Hasil
Referensi ke objek binding.

Transport_ExistingConnection

Configuration & Transport_ExistingConnection(
  WeaveConnection *apConnection
)

Menggunakan koneksi Weave yang ada untuk berkomunikasi dengan peer.

CATATAN: Jumlah referensi pada objek koneksi bertambah saat persiapan binding berhasil. Dengan demikian, aplikasi bertanggung jawab untuk memastikan objek koneksi tetap aktif hingga waktu tersebut.

Detail
Parameter
[in] con
Pointer ke koneksi Weave yang ada.
Hasil
Referensi ke objek binding.

Transport_TCP

Configuration & Transport_TCP(
  void
)

Menggunakan TCP untuk berkomunikasi dengan peer.

Detail
Hasil
Referensi ke objek binding.

Transport_UDP

Configuration & Transport_UDP(
  void
)

Menggunakan UDP untuk berkomunikasi dengan rekan.

Detail
Hasil
Referensi ke objek binding.

Transport_UDP_PathMTU

Configuration & Transport_UDP_PathMTU(
  uint32_t aPathMTU
)

Menetapkan MTU jalur yang diharapkan untuk paket UDP yang berpindah ke peer.

Untuk beberapa protokol Weave, hal ini akan digunakan untuk menyesuaikan ukuran payload pesan Weave secara dinamis.

Detail
Parameter
[in] aPathMTU
Jalur MTU yang diharapkan untuk paket UDP yang berpindah ke peer.
Hasil
Referensi ke objek binding.

Transport_UDP_WRM

Configuration & Transport_UDP_WRM(
  void
)

Menggunakan protokol Weave Reliable Messaging saat berkomunikasi dengan peer.

Detail
Hasil
Referensi ke objek binding.