nl::Weave::Binding::Configuration

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

Menyediakan antarmuka bergaya deklaratif untuk mengonfigurasi dan menyiapkan objek Binding.

Ringkasan

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

Jika konfigurasi saling eksklusif dipanggil (mis., Transport_TCP() diikuti oleh Transport_UDP()), fungsi terakhir yang dipanggil akan menang.

Fungsi publik

ConfigureFromMessage(const WeaveMessageInfo *aMsgInfo, const Inet::IPPacketInfo *aPacketInfo)
Konfigurasi binding untuk memungkinkan komunikasi dengan pengirim pesan yang diterima.
DNS_Options(uint8_t dnsOptions)
Saat me-resolve nama host pembanding, 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
Menampilkan error yang terjadi saat mengonfigurasi Binding.
PrepareBinding(void)
Sedangkan proses menyiapkan 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 Grup Aplikasi Weave tertentu.
Security_AuthenticationMode(WeaveAuthMode aAuthMode)
Menyetel mode autentikasi yang diminta agar 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 peer, kirim dan terima pesan yang dienkripsi menggunakan jenis enkripsi pesan yang ditentukan.
Security_Key(uint32_t aKeyId)
Saat berkomunikasi dengan peer, kirim dan terima pesan yang dienkripsi menggunakan kunci tertentu.
Security_None(void)
Saat berkomunikasi dengan rekan, kirim dan terima permintaan yang tidak dienkripsi (misalnya
Security_PASESession(uint8_t aPasswordSource)
Saat berkomunikasi dengan peer, kirim dan terima pesan yang dienkripsi menggunakan kunci sesi PASE yang dibuat dengan node peer.
Security_SharedCASESession(void)
Saat berkomunikasi dengan peer, kirim dan terima pesan yang dienkripsi menggunakan kunci sesi CASE bersama yang dibuat dengan router Nest core.
Security_SharedCASESession(uint64_t aRouterNodeId)
Saat berkomunikasi dengan peer, kirim dan terima pesan yang dienkripsi menggunakan kunci sesi CASE bersama yang ditetapkan dengan node router tertentu.
Security_TAKESession()
Saat berkomunikasi dengan peer, 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, port, dan antarmuka jaringan spesifik.
TargetAddress_IP(const char *aHostName, uint16_t aPeerPort, InterfaceId aInterfaceId)
Saat berkomunikasi dengan peer, gunakan nama host, port, dan antarmuka jaringan tertentu.
TargetAddress_IP(const char *aHostName, size_t aHostNameLen, uint16_t aPeerPort, InterfaceId aInterfaceId)
Saat berkomunikasi dengan peer, gunakan nama host, port, dan antarmuka jaringan tertentu.
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 peer, gunakan alamat fabric layanan Weave yang berasal dari ID node peer.
Target_NodeId(uint64_t aPeerNodeId)
Konfigurasi 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)
Gunakan koneksi Weave yang ada untuk berkomunikasi dengan peer.
Transport_TCP(void)
Menggunakan TCP untuk berkomunikasi dengan peer.
Transport_UDP(void)
Gunakan UDP untuk berkomunikasi dengan peer.
Transport_UDP_PathMTU(uint32_t aPathMTU)
Menetapkan MTU jalur yang diharapkan untuk paket UDP yang melakukan perjalanan ke peer.
Transport_UDP_WRM(void)
Gunakan protokol Weave Reliable Messaging saat berkomunikasi dengan rekan.

Fungsi publik

ConfigureFromMessage

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

Konfigurasi 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 pembanding, gunakan opsi DNS yang ditentukan.

Detail
Parameter
[in] dnsOptions
Nilai bilangan bulat 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 

Menampilkan error yang terjadi saat mengonfigurasi Binding.

PrepareBinding

WEAVE_ERROR PrepareBinding(
  void
)

Sedangkan proses menyiapkan 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 Grup Aplikasi Weave tertentu.

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

Security_AuthenticationMode

Configuration & Security_AuthenticationMode(
  WeaveAuthMode aAuthMode
)

Menyetel mode autentikasi yang diminta agar 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 dibuat secara otomatis sebagai bagian dari penyiapan binding.

Detail
Hasil
Referensi ke objek binding.

Security_EncryptionType

Configuration & Security_EncryptionType(
  uint8_t aEncType
)

Saat berkomunikasi dengan peer, 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 peer, kirim dan terima pesan yang dienkripsi menggunakan kunci tertentu.

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

Security_None

Configuration & Security_None(
  void
)

Saat berkomunikasi dengan peer, kirim dan terima data yang tidak dienkripsi (misalnya

tidak aman).

Detail
Hasil
Referensi ke objek binding.

Security_PASESession

Configuration & Security_PASESession(
  uint8_t aPasswordSource
)

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

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

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

Security_SharedCASESession

Configuration & Security_SharedCASESession(
  void
)

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

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

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 ditetapkan dengan node router tertentu.

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

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

Security_TAKESession

Configuration & Security_TAKESession()

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

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

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, port, dan antarmuka jaringan spesifik.

Detail
Parameter
[in] aPeerAddress
Alamat IP untuk pembanding
[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 tertentu.

CATATAN: Pemanggil harus memastikan bahwa string nama host yang disediakan 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 akan 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 tertentu.

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

Detail
Parameter
[in] aHostName
String yang berisi nama host pembanding. String ini tidak perlu dihentikan NULL.
[in] aHostNameLen
Panjang string yang ditunjukkan oleh aHostName.
[in] aPeerPort
Port jarak jauh yang akan 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 dari peer.
Hasil
Referensi ke objek binding.

TargetAddress_WeaveService

Configuration & TargetAddress_WeaveService(
  void
)

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

Detail
Hasil
Referensi ke objek binding.

Target_NodeId

Configuration & Target_NodeId(
  uint64_t aPeerNodeId
)

Konfigurasi 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, alamat peer akan ditetapkan ke alamat fabric Weave dari endpoint layanan.

Detail
Parameter
[in] serviceEndpointId
ID node 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
)

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

Gunakan UDP untuk berkomunikasi dengan peer.

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 melakukan perjalanan ke peer.

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

Detail
Parameter
[in] aPathMTU
MTU jalur yang diharapkan untuk paket UDP yang melakukan perjalanan ke peer.
Hasil
Referensi ke objek binding.

Transport_UDP_WRM

Configuration & Transport_UDP_WRM(
  void
)

Gunakan protokol Weave Reliable Messaging saat berkomunikasi dengan rekan.

Detail
Hasil
Referensi ke objek binding.