nl:: Menenun:: Profil:: DataManagement_Legacy:: Mengikat
#include <src/lib/profiles/data-management/Legacy/Binding.h>
The Binding kelas mengelola negara komunikasi atas nama entitas aplikasi yang menggunakan Weave.
Ringkasan
Ketika sebuah aplikasi ingin menggunakan Weave untuk berkomunikasi dengan entitas jarak jauh, terdapat berbagai pilihan. The Binding kelas kandang pilihan ini dan mengaransemen mereka sedemikian rupa bahwa hal mudah mudah dan hal-hal yang lebih sulit adalah setidaknya penurut. Pilihan yang tercakup meliputi:
- komunikasi UDP unicast dengan node rekan yang dikenal.
- Siaran UDP dengan simpul "apa saja".
- komunikasi WRMP unicast dengan node rekan yang dikenal.
- Komunikasi TCP dengan node rekan yang dikenal.
- Komunikasi TCP dengan titik akhir layanan yang dikenal menggunakan instance manajer layanan untuk menyiapkan segalanya.
- Komunikasi TCP berdasarkan koneksi yang telah dibuat sebelumnya.
Konstruktor dan Destruktor | |
---|---|
Binding (void) Default constructor untuk Binding objek. | |
~Binding (void) Destructor untuk Binding objek. |
Tipe publik | |
---|---|
@165 { | enum Set Binding negara objek. |
Atribut publik | |
---|---|
mAuthMode | WeaveAuthMode Mode otentikasi Weave yang akan digunakan. |
mConnection | Pointer ke koneksi Weave yang sedang digunakan dalam binding ini. |
mEngine | Sebuah pointer ke ProtocolEngine objek yang berkaitan dengan ini Binding . |
mPeerNodeId | uint64_t ID node 64-bit dari target pengikatan. |
mServiceMgr | Pointer ke objek ServiceManager (opsional) untuk digunakan dalam menyelesaikan penjilidan ini. |
mState | uint8_t Saat Binding negara objek. |
mTransport | uint8_t Transportasi untuk digunakan dalam menyelesaikan ini Binding . |
Fungsi publik | |
---|---|
CompleteConfirm ( WeaveConnection *aConnection) | void Menangani konfirmasi permintaan pengikatan. |
CompleteConfirm ( StatusReport & aReport) | void Menangani kegagalan permintaan pengikatan. |
CompleteConfirm (void) | void Menangani konfirmasi permintaan pengikatan. |
CompleteRequest ( ProtocolEngine *aEngine) | Meminta penyelesaian pengikatan. |
Connect ( WeaveConnection *aConnection) | Selesaikan pengikatan TCP dengan menyediakan koneksi yang lengkap. |
Finalize (void) | void "Uncomplete" mengikat dan membebaskannya. |
Finalize ( WEAVE_ERROR aErr) | void "Uncomplete" mengikat dan membebaskannya. |
Free (void) | void Hapus status pengikatan. |
GetExchangeCtx ( WeaveExchangeManager *aExchangeMgr, void *aAppState) | Menghasilkan ExchangeContext objek dari Binding . |
IncompleteIndication ( StatusReport & aReport) | void Menangani kegagalan pengikatan. |
Init (const uint64_t & aPeerNodeId) | Menginisialisasi Binding hanya dengan node ID. |
Init (const uint64_t & aPeerNodeId, uint8_t aTransport) | Menginisialisasi Binding objek berdasarkan rekan ID dan transportasi. |
Init (const uint64_t & aServiceEpt, WeaveServiceManager *aServiceMgr, WeaveAuthMode aAuthMode) | Menginisialisasi Binding objek ke endpoint layanan. |
Init ( WeaveConnection *aConnection) | Menginisialisasi Binding objek dengan WeaveConnection . |
IsComplete (void) | bool Periksa apakah pengikatan selesai. |
IsFree (void) | bool Cek adalah pengikatan gratis. |
UncompleteRequest (void) | void Menyebabkan pengikatan menjadi tidak lengkap. |
UncompleteRequest ( WEAVE_ERROR aErr) | void Menyebabkan pengikatan menjadi tidak lengkap. |
Tipe publik
@165
@165
Atribut publik
mAuthMode
WeaveAuthMode mAuthMode
Mode otentikasi Weave yang akan digunakan.
(BACA_HANYA)
Ini adalah mode otentikasi yang digunakan dalam semua komunikasi yang diatur oleh pengikatan ini.
mKoneksi
WeaveConnection * mConnection
Pointer ke koneksi Weave yang sedang digunakan dalam binding ini.
(HANYA BACA)
Binding TCP dapat diinisialisasi dengan koneksi langsung dari kelelawar atau mereka dapat mengalokasikan satu pada waktu penyelesaian.
mesin
ProtocolEngine * mEngine
Sebuah pointer ke ProtocolEngine objek yang berkaitan dengan ini Binding .
Pengikatan umumnya diselesaikan sehubungan dengan mesin protokol tertentu, yang sebagian besar digunakan sebagai cara mengakses MessageLayer. Di sinilah kita melacaknya.
mPeerNodeId
uint64_t mPeerNodeId
ID node 64-bit dari target pengikatan.
(HANYA BACA)
Setiap Binding memiliki entitas target, yang diberi nama di sini. Selain ID simpul Weave, ini dapat memberi nama titik akhir layanan.
mLayananMgr
nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager * mServiceMgr
Pointer ke objek ServiceManager (opsional) untuk digunakan dalam menyelesaikan penjilidan ini.
(HANYA BACA)
Saat mengikat ke layanan Weave, ID titik akhir layanan 64-bit dapat diberikan pada waktu inisialisasi sebagai pengganti ID simpul Weave. Dalam hal ini, objek ServiceManager juga diperlukan untuk menyelesaikan pengikatan. Binding TCP atau WRMP normal tidak memerlukan objek ServiceManager.
mState
uint8_t mState
Saat Binding negara objek.
Hanya satu operasi "selesai" yang dapat berjalan pada satu waktu dan, bagaimanapun juga, jika Anda meminta untuk menyelesaikan penjilidan yang telah selesai, itu hanya akan segera memanggil fungsi konfirmasi. Variabel status di bawah melacak status saat ini dan bertindak sebagai penguncian.
mTransportasi
uint8_t mTransport
Transportasi untuk digunakan dalam menyelesaikan ini Binding .
(HANYA BACA)
Nilai yang mungkin untuk mTransport ditentukan di DMConstants.h.
Fungsi publik
SelesaiKonfirmasi
void CompleteConfirm( WeaveConnection *aConnection )
Menangani konfirmasi permintaan pengikatan.
rincian | |||
---|---|---|---|
Parameter |
|
SelesaiKonfirmasi
void CompleteConfirm( StatusReport & aReport )
Menangani kegagalan permintaan pengikatan.
rincian | |||
---|---|---|---|
Parameter |
|
SelesaiKonfirmasi
void CompleteConfirm( void )
Menangani konfirmasi permintaan pengikatan.
Permintaan Lengkap
WEAVE_ERROR CompleteRequest( ProtocolEngine *aEngine )
Meminta penyelesaian pengikatan.
Penyelesaian mengikat, setidaknya untuk binding membutuhkan TCP, dilakukan sehubungan dengan tertentu ProtocolEngine objek, yang menyediakan akses ke sebuah contoh ExchangeManager.
rincian | |||||||
---|---|---|---|---|---|---|---|
Parameter |
| ||||||
Mengembalikan Nilai |
| ||||||
Kembali | Jika tidak, setiap WEAVE_ERROR kembali ketika mencoba untuk terhubung. |
Menghubung
WEAVE_ERROR Connect( WeaveConnection *aConnection )
Selesaikan pengikatan TCP dengan menyediakan koneksi yang lengkap.
Pengikatan TCP yang baru diinisialisasi tidak dapat digunakan sampai selesai. Biasanya ini dilakukan sesuai permintaan ketika aplikasi mencoba menggunakan pengikatan untuk mengirim pesan tetapi juga dapat diselesaikan secara eksplisit dengan menyediakan koneksi Weave.
rincian | |||||||
---|---|---|---|---|---|---|---|
Parameter |
| ||||||
Mengembalikan Nilai |
|
Menyelesaikan
void Finalize( void )
"Uncomplete" mengikat dan membebaskannya.
Binding mungkin memiliki negara yang membutuhkan pembersihan, misalnya penutupan sambungan, yang ditangani dengan metode uncomplete () selain negara yang hanya dibersihkan ke keadaan awal oleh Gratis () metode. Metode ini, sebagian besar demi kenyamanan, memanggil keduanya.
Lihat juga:Selesaikan(WEAVE_ERROR)
Menyelesaikan
void Finalize( WEAVE_ERROR aErr )
"Uncomplete" mengikat dan membebaskannya.
Binding mungkin memiliki negara yang membutuhkan pembersihan, misalnya penutupan sambungan, yang ditangani dengan metode uncomplete () selain negara yang hanya dibersihkan ke keadaan awal oleh Gratis () metode. Metode ini, sebagian besar demi kenyamanan, memanggil keduanya.
rincian | |||
---|---|---|---|
Parameter |
|
Selesaikan (batal)
Gratis
void Free( void )
Hapus status pengikatan.
Kembalikan semua status pengikatan ke kondisi semula tanpa syarat.
Dapatkan ExchangeCtx
ExchangeContext * GetExchangeCtx( WeaveExchangeManager *aExchangeMgr, void *aAppState )
Menghasilkan ExchangeContext objek dari Binding .
rincian | |||||
---|---|---|---|---|---|
Parameter |
| ||||
Kembali | pointer ke ExchangeContext objek, atau NULL pada kegagalan. |
Indikasi tidak lengkap
void IncompleteIndication( StatusReport & aReport )
Menangani kegagalan pengikatan.
Metode ini dipanggil dan, pada gilirannya, memanggil layer yang lebih tinggi penangan ketika mengikat gagal setelah selesai, yaitu setelah CompleteConfirm () telah dipanggil dengan status yang menunjukkan keberhasilan.
rincian | |||
---|---|---|---|
Parameter |
|
CompleteConfirm (StatusReport & aReport) .
init
WEAVE_ERROR Init( const uint64_t & aPeerNodeId )
Menginisialisasi Binding hanya dengan node ID.
Ini menghasilkan pengikatan dengan transport default yang dikonfigurasi.
rincian | |||||
---|---|---|---|---|---|
Parameter |
| ||||
Mengembalikan Nilai |
|
init
WEAVE_ERROR Init( const uint64_t & aPeerNodeId, uint8_t aTransport )
Menginisialisasi Binding objek berdasarkan rekan ID dan transportasi.
rincian | |||||
---|---|---|---|---|---|
Parameter |
| ||||
Mengembalikan Nilai |
|
init
WEAVE_ERROR Init( const uint64_t & aServiceEpt, WeaveServiceManager *aServiceMgr, WeaveAuthMode aAuthMode )
Menginisialisasi Binding objek ke endpoint layanan.
Ini adalah cara Anda mengikat ke titik akhir tertentu pada layanan Nest. Pengikatan semacam ini memerlukan proses penyelesaian multi-tahap, yang mungkin termasuk mengisi atau memperbarui cache direktori layanan lokal. Untuk sebagian besar, proses ini tersembunyi dari aplikasi tetapi itu berarti bahwa kesalahan yang timbul kemudian dalam proses dapat disampaikan, biasanya melalui panggilan balik "konfirmasi" yang relevan, setelah - terkadang lama setelah - permintaan awal untuk menggunakan (dan menyelesaikan) mengikat.
rincian | |||||||
---|---|---|---|---|---|---|---|
Parameter |
| ||||||
Mengembalikan Nilai |
|
init
WEAVE_ERROR Init( WeaveConnection *aConnection )
Menginisialisasi Binding objek dengan WeaveConnection .
rincian | |||||
---|---|---|---|---|---|
Parameter |
| ||||
Mengembalikan Nilai |
|
Selesai
bool IsComplete( void )
Periksa apakah pengikatan selesai.
rincian | |
---|---|
Kembali | benar jika lengkap, salah jika tidak. |
Permintaan Lengkap(Mesin Protokol *Mesin)
Gratis
bool IsFree( void )
Cek adalah pengikatan gratis.
"Gratis" dalam konteks ini berarti, "memiliki ID node peer yang ditentukan". IsFree () harus dianggap sebagai berarti "telah Gratis () disebut di atasnya dan belum digunakan sejak".
rincian | |
---|---|
Kembali | benar jika pengikatannya bebas, salah jika sebaliknya. |
Permintaan Belum Selesai
void UncompleteRequest( void )
Menyebabkan pengikatan menjadi tidak lengkap.
Pada dasarnya, suatu pengikatan akan berada dalam status "tidak lengkap" setelah metode ini dipanggil, tetapi secara lebih halus, setiap status relevan yang tidak terkandung dalam pengikatan itu sendiri, misalnya koneksi TCP, harus dibersihkan juga. Aplikasi dapat mempertimbangkan memanggil UncompleteRequest () sebagai bagian dari pembersihan pada kesalahan.
Lihat juga:Permintaan Tidak Lengkap(WEAVE_ERROR )
Permintaan Belum Selesai
void UncompleteRequest( WEAVE_ERROR aErr )
Menyebabkan pengikatan menjadi tidak lengkap.
Pada dasarnya, suatu pengikatan akan berada dalam status "tidak lengkap" setelah metode ini dipanggil, tetapi secara lebih halus, setiap status relevan yang tidak terkandung dalam pengikatan itu sendiri, misalnya koneksi TCP, harus dibersihkan juga. Aplikasi dapat mempertimbangkan memanggil UncompleteRequest () sebagai bagian dari pembersihan pada kesalahan.
rincian | |||
---|---|---|---|
Parameter |
|
Permintaan Tidak Lengkap (batal)
~Mengikat
virtual ~Binding( void )
Destructor untuk Binding objek.
Menghapus semua status internal DAN, jika perlu, menutup koneksi terbuka.