nl:: örgü:: Profiller:: DataManagement_Legacy:: bağlama
#include <src/lib/profiles/data-management/Legacy/Binding.h>
Cilt sınıf Weave kullanan bir uygulama kuruluş adına iletişim durumunu yönetir.
Özet
Bir uygulama uzak bir varlıkla iletişim kurmak için Weave'i kullanmak istediğinde, çok çeşitli seçenekler vardır. Cilt kolay şeyler kolay ve daha zor şeyler az uysal altında olduğunu sınıf şekilde bu seçenekleri ve düzenler onları corrals. Kapsanan seçenekler şunları içerir:
- bilinen bir eş düğümle tek noktaya yayın UDP iletişimi.
- "Herhangi bir" düğümle UDP yayını.
- bilinen bir eş düğümle tek noktaya yayın WRMP iletişimi.
- Bilinen bir eş düğümle TCP iletişimi.
- İşleri ayarlamak için bir hizmet yöneticisi örneği kullanarak bilinen bir hizmet uç noktasıyla TCP iletişimi.
- Önceden kurulmuş bir bağlantıya dayalı TCP iletişimi.
Yapıcılar ve Yıkıcılar | |
---|---|
Binding (void) İçin varsayılan yapıcı Cilt nesneler. | |
~Binding (void) Yıkıcı Bağlanma nesneleri. |
Genel türler | |
---|---|
@165 { | Sıralama Grubu bağlama amacı durumları. |
Genel özellikler | |
---|---|
mAuthMode | WeaveAuthMode Kullanılacak Örgü kimlik doğrulama modu. |
mConnection | Bu bağlamada şu anda kullanımda olan Örgü bağlantısına yönelik bir işaretçi. |
mEngine | Bir işaretçi ProtocolEngine buna ilişkin bir nesne bağlama . |
mPeerNodeId | uint64_t Bağlama hedefinin 64 bit düğüm kimliği. |
mServiceMgr | Bu bağlamayı tamamlamada kullanılacak (isteğe bağlı) ServiceManager nesnesine yönelik bir işaretçi. |
mState | uint8_t Mevcut bağlama nesne durum. |
mTransport | uint8_t Taşıma, bu tamamlanmasında kullanılacak bağlama . |
Kamu işlevleri | |
---|---|
CompleteConfirm ( WeaveConnection *aConnection) | void Bir bağlama isteğinin onayını işleme. |
CompleteConfirm ( StatusReport & aReport) | void Bir bağlama isteğinin başarısızlığını ele alın. |
CompleteConfirm (void) | void Bir bağlama isteğinin onayını işleme. |
CompleteRequest ( ProtocolEngine *aEngine) | Bir bağlamanın tamamlanmasını isteyin. |
Connect ( WeaveConnection *aConnection) | Tamamlanmış bir bağlantı sağlayarak bir TCP bağlamasını tamamlayın. |
Finalize (void) | void Bir bağlamayı "tamamlanmamış" ve serbest bırakın. |
Finalize ( WEAVE_ERROR aErr) | void Bir bağlamayı "tamamlanmamış" ve serbest bırakın. |
Free (void) | void Bağlanma durumunu temizleyin. |
GetExchangeCtx ( WeaveExchangeManager *aExchangeMgr, void *aAppState) | Bir üretmek ExchangeContext bir nesneyi bağlama . |
IncompleteIndication ( StatusReport & aReport) | void Bir bağlamanın başarısızlığını ele alın. |
Init (const uint64_t & aPeerNodeId) | Bir başlatma Bağlama bir nod ID ile. |
Init (const uint64_t & aPeerNodeId, uint8_t aTransport) | Bir başlatma bağlama eş kimliği ve taşıma göre bir nesne. |
Init (const uint64_t & aServiceEpt, WeaveServiceManager *aServiceMgr, WeaveAuthMode aAuthMode) | Bir başlat Bağlama bir servis bitiş noktasına nesneyi. |
Init ( WeaveConnection *aConnection) | Bir başlatma Bağlama bir nesneyi WeaveConnection . |
IsComplete (void) | bool Bir bağlamanın tamamlanıp tamamlanmadığını kontrol edin. |
IsFree (void) | bool Kontrol bir bağlayıcıdır ücretsizdir. |
UncompleteRequest (void) | void Bir bağlamanın eksik olmasına neden olur. |
UncompleteRequest ( WEAVE_ERROR aErr) | void Bir bağlamanın eksik olmasına neden olur. |
Genel türler
@165
@165
Grubu bağlama amacı durumları.
Özellikleri | |
---|---|
kState_Complete | Bir devlet Bağlama o tam ve kullanıma hazırdır. |
kState_Completing | Bir durumu bağlanması bu tamamlanma sürecindedir. |
kState_Incomplete | Bir ilk (ve son) durum bağlama . |
Genel özellikler
mAuthMode
WeaveAuthMode mAuthMode
Kullanılacak Örgü kimlik doğrulama modu.
(SADECE OKU)
Bu, bu bağlama tarafından yönetilen tüm iletişimlerde kullanılan kimlik doğrulama modudur.
mBağlantı
WeaveConnection * mConnection
Bu bağlamada şu anda kullanımda olan Örgü bağlantısına yönelik bir işaretçi.
(SADECE OKU)
TCP bağlamaları, yarasanın hemen dışında bir bağlantı ile başlatılabilir veya tamamlanma zamanında bir bağlantı tahsis edebilirler.
mMotor
ProtocolEngine * mEngine
Bir işaretçi ProtocolEngine buna ilişkin bir nesne bağlama .
Bir bağlama genellikle, çoğunlukla MessageLayer'a erişmenin bir yolu olarak kullanılan belirli bir protokol motoruna göre tamamlanır. Biz de buradan takip ediyoruz.
mPeerNodeId
uint64_t mPeerNodeId
Bağlama hedefinin 64 bit düğüm kimliği.
(SADECE OKU)
Her Cilt burada adlı bir hedef varlık vardır. Bir Örgü düğüm kimliğine ek olarak bu, bir hizmet bitiş noktasını adlandırabilir.
mServiceMgr
nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager * mServiceMgr
Bu bağlamayı tamamlamada kullanılacak (isteğe bağlı) ServiceManager nesnesine yönelik bir işaretçi.
(SADECE OKU)
Weave hizmetine bağlanırken, başlatma zamanında bir Weave düğüm kimliği yerine 64 bitlik bir hizmet uç noktası kimliği sağlanabilir. Bu durumda, bağlamayı tamamlamak için bir ServiceManager nesnesi de gereklidir. Normal TCP veya WRMP bağlamaları ServiceManager nesnesi gerektirmez.
mState
uint8_t mState
Mevcut bağlama nesne durum.
Bir seferde yalnızca bir "tamamlama" işlemi çalıştırılabilir ve her durumda, tamamlanmış bir bağlamayı tamamlamayı isterseniz, hemen onay işlevini çağırır. Aşağıdaki durum değişkeni mevcut durumu izler ve bir kilitleme görevi görür.
mUlaşım
uint8_t mTransport
Taşıma, bu tamamlanmasında kullanılacak bağlama .
(SADECE OKU)
mTransport için olası değerler, DMConstants.h'de tanımlanmıştır.
Kamu işlevleri
TamamlaOnayla
void CompleteConfirm( WeaveConnection *aConnection )
Bir bağlama isteğinin onayını işleme.
Ayrıntılar | |||
---|---|---|---|
parametreler |
|
TamamlaOnayla
void CompleteConfirm( StatusReport & aReport )
Bir bağlama isteğinin başarısızlığını ele alın.
Ayrıntılar | |||
---|---|---|---|
parametreler |
|
TamamlaOnayla
void CompleteConfirm( void )
Bir bağlama isteğinin onayını işleme.
İsteği Tamamla
WEAVE_ERROR CompleteRequest( ProtocolEngine *aEngine )
Bir bağlamanın tamamlanmasını isteyin.
Bir bağlanma tamamlanması en azından belirli bir göre gerçekleştirilen TCP gerektiren bağlamaları için, bir ProtocolEngine bir ExchangeManager örneğine erişim sağlayan nesne.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
parametreler |
| ||||||
Dönüş Değerleri |
| ||||||
İadeler | Aksi takdirde, herhangi WEAVE_ERROR bağlanmaya çalışılırken döndü. |
Bağlan
WEAVE_ERROR Connect( WeaveConnection *aConnection )
Tamamlanmış bir bağlantı sağlayarak bir TCP bağlamasını tamamlayın.
Yeni başlatılan bir TCP bağlaması, tamamlanana kadar kullanılamaz. Normalde bu, uygulama mesaj göndermek için bağlamayı kullanmaya çalıştığında talep üzerine yapılır, ancak bir Weave bağlantısı sağlanarak da açık bir şekilde tamamlanabilir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
parametreler |
| ||||||
Dönüş Değerleri |
|
Sonuçlandırmak
void Finalize( void )
Bir bağlamayı "tamamlanmamış" ve serbest bırakın.
Bağlama sadece ile başlangıç durumuna temizlenir durumuna ek olarak tam olmayan () metodu ile işlenir bağlantı kapama, örneğin, temizleme gerektiren durum olabilir Ücretsiz () yöntemi. Bu yöntem, büyük ölçüde kolaylık sağlamak için her ikisini de çağırır.
Ayrıca bakınız:Sonlandır(WEAVE_ERROR)
Sonuçlandırmak
void Finalize( WEAVE_ERROR aErr )
Bir bağlamayı "tamamlanmamış" ve serbest bırakın.
Bağlama sadece ile başlangıç durumuna temizlenir durumuna ek olarak tam olmayan () metodu ile işlenir bağlantı kapama, örneğin, temizleme gerektiren durum olabilir Ücretsiz () yöntemi. Bu yöntem, büyük ölçüde kolaylık sağlamak için her ikisini de çağırır.
Ayrıntılar | |||
---|---|---|---|
parametreler |
|
Sonlandır(void)
Bedava
void Free( void )
Bağlanma durumunu temizleyin.
Tüm bağlama durumunu koşulsuz olarak orijinal durumuna döndürür.
GetExchangeCtx
ExchangeContext * GetExchangeCtx( WeaveExchangeManager *aExchangeMgr, void *aAppState )
Bir üretmek ExchangeContext bir nesneyi bağlama .
Ayrıntılar | |||||
---|---|---|---|---|---|
parametreler |
| ||||
İadeler | Bir bir işaretçi ExchangeContext başarısızlık nesne veya null. |
Eksik Gösterge
void IncompleteIndication( StatusReport & aReport )
Bir bağlamanın başarısızlığını ele alın.
Bu yöntem, bu da, çağrılır ve bağlayıcı başlatır yüksek seviyede yükleyiciler sonra, örneğin tamamlandıktan sonra başarısız () CompleteConfirm bir durum gösteren başarı ile çağrılan edilmiştir.
Ayrıntılar | |||
---|---|---|---|
parametreler |
|
CompleteConfirm (StatusReport ve aReport) .
İçinde
WEAVE_ERROR Init( const uint64_t & aPeerNodeId )
Bir başlatma Bağlama bir nod ID ile.
Bu, yapılandırılmış varsayılan aktarımla bir bağlama ile sonuçlanır.
Ayrıntılar | |||||
---|---|---|---|---|---|
parametreler |
| ||||
Dönüş Değerleri |
|
İçinde
WEAVE_ERROR Init( const uint64_t & aPeerNodeId, uint8_t aTransport )
Bir başlatma bağlama eş kimliği ve taşıma göre bir nesne.
Ayrıntılar | |||||
---|---|---|---|---|---|
parametreler |
| ||||
Dönüş Değerleri |
|
İçinde
WEAVE_ERROR Init( const uint64_t & aServiceEpt, WeaveServiceManager *aServiceMgr, WeaveAuthMode aAuthMode )
Bir başlat Bağlama bir servis bitiş noktasına nesneyi.
Nest hizmetinde belirli bir uç noktaya bu şekilde bağlanırsınız. Bu tür bir bağlama, yerel hizmet dizini önbelleğini doldurmayı veya güncellemeyi içerebilen çok aşamalı bir tamamlama süreci gerektirir. Çoğunlukla, bu işlem uygulamadan gizlenir, ancak bu, işlemde daha sonra ortaya çıkan hataların, normalde ilgili "onayla" geri arama yoluyla, orijinal kullanım isteğinden (ve tamamlandıktan sonra) - bazen çok sonra - iletilebileceği anlamına gelir bağlayıcı.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
parametreler |
| ||||||
Dönüş Değerleri |
|
İçinde
WEAVE_ERROR Init( WeaveConnection *aConnection )
Bir başlatma Bağlama bir nesneyi WeaveConnection .
Ayrıntılar | |||||
---|---|---|---|---|---|
parametreler |
| ||||
Dönüş Değerleri |
|
Tamamlandı
bool IsComplete( void )
Bir bağlamanın tamamlanıp tamamlanmadığını kontrol edin.
Ayrıntılar | |
---|---|
İadeler | tam ise true, aksi takdirde false. |
CompleteRequest(ProtocolEngine *aEngine)
Bedava
bool IsFree( void )
Kontrol bir bağlayıcıdır ücretsizdir.
Bu bağlamda "Ücretsiz", basitçe "tanımlanmış bir eş düğüm kimliğine sahip" anlamına gelir. IsFree () anlam olarak düşünülmelidir "yönünde çağrıda etti Free () ve o zamandan beri kullanılmamıştır".
Ayrıntılar | |
---|---|
İadeler | bağlama serbestse true , aksi takdirde false . |
Tamamlanmamış İstek
void UncompleteRequest( void )
Bir bağlamanın eksik olmasına neden olur.
Temel olarak, bir bağlama, bu yöntem üzerinde çağrıldıktan sonra "eksik" durumda olacaktır, ancak daha incelikli olarak, bağlamanın kendisinde bulunmayan ilgili herhangi bir durum, örneğin TCP bağlantısı da temizlenmelidir. Uygulamalar çağırma düşünebilir UncompleteRequest () hata temizleme parçası olarak kullanılabilir.
Ayrıca bakınız:TamamlanmamışTalep(WEAVE_ERROR )
Tamamlanmamış İstek
void UncompleteRequest( WEAVE_ERROR aErr )
Bir bağlamanın eksik olmasına neden olur.
Temel olarak, bir bağlama, bu yöntem üzerinde çağrıldıktan sonra "eksik" durumda olacaktır, ancak daha incelikli olarak, bağlamanın kendisinde bulunmayan ilgili herhangi bir durum, örneğin TCP bağlantısı da temizlenmelidir. Uygulamalar çağırma düşünebilir UncompleteRequest () hata temizleme parçası olarak kullanılabilir.
Ayrıntılar | |||
---|---|---|---|
parametreler |
|
Tamamlanmamış İstek(void)
~Bağlayıcı
virtual ~Binding( void )
Yıkıcı Bağlanma nesneleri.
Tüm dahili durumu temizler VE gerekirse açık bağlantıları kapatır.