nl:: Weave:: Profiles:: DataManagement_Legacy:: Binding
#include <src/lib/profiles/data-management/Legacy/Binding.h>
Binding sınıfı, Weave kullanan bir uygulama varlığı adına iletişim durumunu yönetir.
Özet
Bir uygulama, uzak bir varlıkla iletişim kurmak için Weave'i kullanmak istediğinde çeşitli seçenekler mevcuttur. Binding sınıfı bu seçenekleri bir araya getirir ve kolay öğeleri kolay, zor işleri ise en azından göze çarpacak şekilde düzenler. Ele alınan seçenekler şunlardır:
- bilinen bir eş düğümle tek yayın UDP iletişimi.
- "any" ifadesini içeren UDP yayını düğüm.
- bilinen bir eş düğümle tek yayın WRMP iletişimi.
- Bilinen bir eş düğümle TCP iletişimleri.
- Kurulum için hizmet yöneticisi örneği kullanan, bilinen bir hizmet uç noktasıyla TCP iletişimleri.
- Önceden kurulmuş bir bağlantıya dayalı TCP iletişimleri.
Oluşturucular ve Yıkıcılar |
|
---|---|
Binding(void)
Binding nesneleri için varsayılan oluşturucu.
|
|
~Binding(void)
Binding nesnelerinin yıkıcısı.
|
Herkese açık türler |
|
---|---|
@165{
|
enum Binding nesne durumları grubu. |
Herkese açık özellikler |
|
---|---|
mAuthMode
|
WeaveAuthMode
Kullanılacak Weave kimlik doğrulama modu.
|
mConnection
|
Bu bağlamada kullanılmakta olan Weave bağlantısına işaret eder.
|
mEngine
|
Bu Binding ile ilgili ProtocolEngine nesnesine işaret eden bir işaret.
|
mPeerNodeId
|
uint64_t
Bağlama hedefinin 64 bit düğüm kimliği.
|
mServiceMgr
|
Bu bağlamanın tamamlanmasında kullanılacak (isteğe bağlı) ServiceManager nesnesine işaret eden bir işaret.
|
mState
|
uint8_t
Binding nesnesinin durumu.
|
mTransport
|
uint8_t
Bu Bağlama'nın tamamlanmasında kullanılacak taşıma.
|
Herkese açık işlevler |
|
---|---|
CompleteConfirm(WeaveConnection *aConnection)
|
void
Bağlama isteği onayını işleme.
|
CompleteConfirm(StatusReport & aReport)
|
void
Bağlama isteğinin hatasını işleme.
|
CompleteConfirm(void)
|
void
Bağlama isteği onayını işleme.
|
CompleteRequest(ProtocolEngine *aEngine)
|
Bağlamanın tamamlanmasını isteyin.
|
Connect(WeaveConnection *aConnection)
|
Tamamlanmış bir bağlantı sağlayarak TCP bağlama işlemini tamamlayın.
|
Finalize(void)
|
void
"Tamamlanmadı" serbest bırakır.
|
Finalize(WEAVE_ERROR aErr)
|
void
"Tamamlanmadı" serbest bırakır.
|
Free(void)
|
void
Bağlama durumunu temizleyin.
|
GetExchangeCtx(WeaveExchangeManager *aExchangeMgr, void *aAppState)
|
Binding'den bir ExchangeContext nesnesi oluşturun.
|
IncompleteIndication(StatusReport & aReport)
|
void
Bağlama hatasını giderme.
|
Init(const uint64_t & aPeerNodeId)
|
Yalnızca düğüm kimliği ile bir Binding başlatın.
|
Init(const uint64_t & aPeerNodeId, uint8_t aTransport)
|
Eş kimliğine ve aktarıma göre bir Binding nesnesini başlatın.
|
Init(const uint64_t & aServiceEpt, WeaveServiceManager *aServiceMgr, WeaveAuthMode aAuthMode)
|
Bir hizmet uç noktasına Binding nesnesini başlatın.
|
Init(WeaveConnection *aConnection)
|
Bir WeaveConnection ile Binding nesnesini başlatın.
|
IsComplete(void)
|
bool
Bağlamanın tamamlanıp tamamlanmadığını kontrol edin.
|
IsFree(void)
|
bool
Çek, ücret ödemeden geçerlidir.
|
UncompleteRequest(void)
|
void
Bağlamanın tamamlanmamasına neden olur.
|
UncompleteRequest(WEAVE_ERROR aErr)
|
void
Bağlamanın tamamlanmamasına neden olur.
|
Herkese açık türler
@165
@165
Binding nesne durumları grubu.
Özellikler | |
---|---|
kState_Complete
|
Tamamlanmış ve kullanıma hazır bir Binding durumu. |
kState_Completing
|
Tamamlanma sürecinde olan bir Bağlama'nın durumu. |
kState_Incomplete
|
Bağlamanın ilk (ve son) durumu. |
Herkese açık özellikler
mAuthMode
WeaveAuthMode mAuthMode
Kullanılacak Weave kimlik doğrulama modu.
(READ_ONLY)
Bu bağlamaya tabi olan tüm iletişimlerde kullanılan kimlik doğrulama modudur.
mConnection
WeaveConnection * mConnection
Bu bağlamada kullanılmakta olan Weave bağlantısına işaret eden bir işaret.
(SALT OKUNUR)
TCP bağlamaları, hemen bir bağlantıyla başlatılabilir veya tamamlanma sırasında bir bağlantı ayırabilir.
mEngine
ProtocolEngine * mEngine
Bu Binding ile ilgili ProtocolEngine nesnesine işaret eden bir işaret.
Bağlama işlemi genellikle belirli bir protokol motoruyla ilgili olarak tamamlanır ve bu altyapı çoğunlukla MessageKatman'a erişmenin bir yolu olarak kullanılır. Bu şekilde işleri takip ediyoruz.
mPeerNodeId
uint64_t mPeerNodeId
Bağlama hedefinin 64 bit düğüm kimliği.
(SALT OKUNUR)
Her Bağlama'nın burada adlandırılmış bir hedef varlığı vardır. Weave düğüm kimliğine ek olarak bir hizmet uç noktası da adlandırılabilir.
mServiceMgr
nl::Weave::Profiles::ServiceDirectory::WeaveServiceManager * mServiceMgr
Bu bağlamanın tamamlanmasında kullanılacak (isteğe bağlı) ServiceManager nesnesine işaret eden bir işaret.
(SALT OKUNUR)
Weave hizmetine bağlanırken başlatma sırasında Weave düğüm kimliği yerine 64 bit hizmet uç nokta kimliği sağlanabilir. Bu durumda, bağlamanın tamamlanması için bir ServiceManager nesnesi de gerekir. Normal TCP veya WRMP bağlamaları için ServiceManager nesnesi gerekmez.
mState
uint8_t mState
Binding nesnesinin durumu.
Yalnızca bir "tamamlandı" işlemi, her seferinde çalışabilir ve her durumda, tamamlanmış bir bağlamanın tamamlanmasını istediğinizde, onaylama işlevini hemen çağırır. Aşağıdaki durum değişkeni, geçerli durumu izler ve kilitlenme gibi çalışır.
mTransport
uint8_t mTransport
Bu Bağlama'nın tamamlanmasında kullanılacak taşıma.
(SALT OKUNUR)
mTransport için olası değerler DMConstants.h içinde tanımlanmıştır.
Herkese açık işlevler
CompleteConfirm
void CompleteConfirm( WeaveConnection *aConnection )
Bağlama isteği onayını işleme.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
CompleteConfirm
void CompleteConfirm( StatusReport & aReport )
Bağlama isteğinin hatasını işleme.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
CompleteConfirm
void CompleteConfirm( void )
Bağlama isteği onayını işleme.
CompleteRequest
WEAVE_ERROR CompleteRequest( ProtocolEngine *aEngine )
Bağlamanın tamamlanmasını isteyin.
Bağlamanın tamamlanması, en azından TCP gerektiren bağlamalar için yapılır. Bu işlem, ExchangeManager örneğine erişim sağlayan belirli bir ProtocolEngine nesnesine göre gerçekleştirilir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Değerleri Döndür |
|
||||||
İadeler |
Aksi takdirde, bağlanmaya çalışılırken WEAVE_ERROR döndürülür.
|
Bağlan
WEAVE_ERROR Connect( WeaveConnection *aConnection )
Tamamlanmış bir bağlantı sağlayarak TCP bağlama işlemini tamamlayın.
Yeni başlatılan bir TCP bağlaması, tamamlanana kadar kullanılamaz. Normalde bu işlem, uygulama mesaj göndermek için bağlamadan yararlanmaya çalıştığında talep üzerine yapılır ancak bir Weave bağlantısı sağlanarak da açıkça tamamlanabilir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Değerleri Döndür |
|
Sonlandır
void Finalize( void )
"Tamamlanmadı" serbest bırakır.
Bağlamalarda temizleme gerektiren durumlar olabilir (ör. Free() yöntemi tarafından başlangıç durumuna alınan duruma ek olarak Uncomplete() yöntemi tarafından işlenen bağlantı kapatma. Bu yöntem, büyük ölçüde kolaylık sağlamak amacıyla her ikisini de çağırır.
Şu kaynakları da inceleyin:Sonlandır(WEAVE_ERROR)
Sonlandır
void Finalize( WEAVE_ERROR aErr )
"Tamamlanmadı" serbest bırakır.
Bağlamalarda temizleme gerektiren durumlar olabilir (ör. Free() yöntemi tarafından başlangıç durumuna alınan duruma ek olarak Uncomplete() yöntemi tarafından işlenen bağlantı kapatma. Bu yöntem, büyük ölçüde kolaylık sağlamak amacıyla her ikisini de çağırır.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
Kesinleştir(geçersiz)
Ücretsiz
void Free( void )
Bağlama durumunu temizleyin.
Tüm bağlama durumunu koşulsuz olarak orijinal durumuna döndürür.
GetExchangeCtx
ExchangeContext * GetExchangeCtx( WeaveExchangeManager *aExchangeMgr, void *aAppState )
Binding'den bir ExchangeContext nesnesi oluşturun.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
İadeler |
ExchangeContext nesnesine işaret eden bir işaretçi veya hata durumunda NULL ifadesi.
|
IncompleteIndication
void IncompleteIndication( StatusReport & aReport )
Bağlama hatasını giderme.
Bu yöntem çağrılır ve sonuç olarak, bağlama tamamlandıktan SONRA başarısız olduğunda (ör. CompleteConfirm() işlemi başarılı olduğunu belirten bir durumla birlikte çağrıldıktan sonra) daha üst katmandaki işleyicileri çağırır.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
CompleteConfirm(StatusReport &aReport).
Init
WEAVE_ERROR Init( const uint64_t & aPeerNodeId )
Yalnızca düğüm kimliği ile bir Binding başlatın.
Bu işlem, yapılandırılmış varsayılan aktarımla bir bağlantı oluşturur.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
Değerleri Döndür |
|
Init
WEAVE_ERROR Init( const uint64_t & aPeerNodeId, uint8_t aTransport )
Eş kimliğine ve aktarıma göre bir Binding nesnesini başlatın.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
Değerleri Döndür |
|
Init
WEAVE_ERROR Init( const uint64_t & aServiceEpt, WeaveServiceManager *aServiceMgr, WeaveAuthMode aAuthMode )
Bir hizmet uç noktasına Binding nesnesini başlatın.
Nest hizmetindeki belirli bir uç noktaya bu şekilde bağlanırsınız. Bu tür bir bağlama, yerel hizmet dizini önbelleğinin doldurulmasını veya güncellenmesini içerebilecek çok aşamalı bir tamamlama işlemi gerektirir. Çoğunlukla bu işlem uygulamadan gizlenmiştir ancak bu, işlemin ilerleyen aşamalarında ortaya çıkan hataların, genellikle ilgili "onayla" düğmesiyle teslim edilebileceği anlamına gelir. bağlamayı kullanması (ve tamamlaması) için orijinal istekten sonra (bazen uzun süre sonra) geri çağırma işlemini gerçekleştirin.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Değerleri Döndür |
|
Init
WEAVE_ERROR Init( WeaveConnection *aConnection )
Bir WeaveConnection ile Binding nesnesini başlatın.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
Değerleri Döndür |
|
IsComplete
bool IsComplete( void )
Bağlamanın tamamlanıp tamamlanmadığını kontrol edin.
Ayrıntılar | |
---|---|
İadeler |
doğru, tam değilse false (yanlış) değerini alır.
|
CompleteRequest(ProtocolEngine *aEngine)
IsFree
bool IsFree( void )
Çek, ücret ödemeden geçerlidir.
"Ücretsiz" bu bağlamda sadece "tanımlanmış bir eş düğüme sahip" Kimliği"ni seçin. IsFree() should be thought of as meaning "has had Free() ve o zamandan beri kullanılmadı".
Ayrıntılar | |
---|---|
İadeler |
bağlama ücretsizse true, değilse false (yanlış) değerini alır.
|
UncompleteRequest
void UncompleteRequest( void )
Bağlamanın tamamlanmamasına neden olur.
Temel olarak bir bağlama "eksik" durumda belirtiliyor.Daha açık bir şekilde belirtmek gerekirse bağlamanın kendisinde yer almayan tüm alakalı durumları (ör. TCP bağlantısı da temizlenmelidir. Uygulamalar, hata içeren temizleme işleminin bir parçası olarak UncompleteRequest() işlevini çağırmayı düşünebilir.
Şu kaynakları da inceleyin:UncompleteRequest(WEAVE_ERROR )
UncompleteRequest
void UncompleteRequest( WEAVE_ERROR aErr )
Bağlamanın tamamlanmamasına neden olur.
Temel olarak bir bağlama "eksik" durumda belirtiliyor.Daha açık bir şekilde belirtmek gerekirse bağlamanın kendisinde yer almayan tüm alakalı durumları (ör. TCP bağlantısı da temizlenmelidir. Uygulamalar, hata içeren temizleme işleminin bir parçası olarak UncompleteRequest() işlevini çağırmayı düşünebilir.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
UncompleteRequest(void)
~Bağlama
virtual ~Binding( void )
Binding nesnelerinin yıkıcısı.
Tüm dahili durumu temizler VE gerekirse açık bağlantıları kapatır.