nl::Weave::WeaveExchangeManager

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

Bu sınıf, ExchangeContext'leri diğer Weave düğümleriyle yönetmek için kullanılır.

Özet

Daha üst katmanlar adına çalışarak ExchangeContext'ler oluşturur ve istenmeyen ileti işleyicilerin kaydedilmesini/kayıtlarının iptal edilmesini yönetir.

Oluşturucular ve Yıkıcılar

WeaveExchangeManager(void)
WeaveExchangeManager sınıfının oluşturucu.

Herkese açık türler

State{
  kState_NotInitialized = 0,
  kState_Initialized = 1
}
enum

Herkese açık özellikler

FabricState
[READ ONLY] İlişkili FabricState nesnesi.
MessageLayer
[YALNIZCA OKUYUN] İlişkili WeaveMessageLayer nesnesi.
State
uint8_t
[READ ONLY] WeaveExchangeManager nesnesinin durumu.

Kamu işlevleri

AllowUnsolicitedMessages(WeaveConnection *con)
void
İstenmeyen iletilerin belirtilen bağlantıda alınmasına izin ver.
ClearMsgCounterSyncReq(uint64_t peerNodeId)
void
Bu eşe gönderilen bekleyen tüm iletiler için MsgCounterSyncReq işaretini temizleyin.
FindContext(uint64_t peerNodeId, WeaveConnection *con, void *appState, bool isInitiator)
Belirli bir parametre grubuyla eşleşen havuzda ExchangeContext öğesini bulun.
Init(WeaveMessageLayer *msgLayer)
WeaveExchangeManager nesnesini başlatın.
NewBinding(Binding::EventCallback eventCallback, void *appState)
Sağlanan bağımsız değişkenlerle yeni bir Bağlama ayırın.
NewContext(const uint64_t & peerNodeId, void *appState)
Eş düğüm tanımlayıcısı tarafından belirtilen belirli bir eş Weave düğümüyle yeni bir ExchangeContext oluşturur.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState)
Eş düğüm tanımlayıcısı ve eş IP adresi tarafından belirtilen belirli bir eş Weave düğümüyle yeni bir ExchangeContext oluşturur.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId sendIntfId, void *appState)
Belirtilen arayüzde eş düğüm tanımlayıcısı, eş IP adresi ve hedef bağlantı noktası tarafından belirtilen belirli bir eş Weave düğümüyle yeni bir ExchangeContext oluşturur.
NewContext(WeaveConnection *con, void *appState)
Belirtilen WeaveConnection üzerinden belirli bir eş Weave düğümüyle yeni bir ExchangeContext oluşturur.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, void *appState)
Belirli bir profil tanımlayıcısı için istenmeyen bir ileti işleyici kaydedin.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Belirli bir profil tanımlayıcısı için istenmeyen bir ileti işleyici kaydedin.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState)
Belirli bir profil tanımlayıcısı ve ileti türü için istenmeyen bir ileti işleyici kaydedin.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Belirli bir profil tanımlayıcısı ve ileti türü için istenmeyen bir ileti işleyici kaydedin.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, void *appState)
Belirli bir Weave bağlantısındaki belirli bir profil tanımlayıcısı (mesaj türü) için istenmeyen bir mesaj işleyici kaydedin.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Belirli bir Weave bağlantısındaki belirli bir profil tanımlayıcısı (mesaj türü) için istenmeyen bir mesaj işleyici kaydedin.
Shutdown(void)
WeaveExchangeManager'ı kapatın.
UnregisterUnsolicitedMessageHandler(uint32_t profileId)
Belirli bir profil tanımlayıcısı için istenmeyen bir ileti işleyicinin kaydını iptal etme.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType)
Belirli bir profil tanımlayıcısı ve mesaj türü için istenmeyen bir mesaj işleyicinin kaydını iptal etme.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con)
Belirli bir profil tanımlayıcısı, mesaj türü ve Weave bağlantısı için istenmeyen mesaj işleyicinin kaydını iptal edin.

Herkese açık türler

Eyalet

 State
Özellikler
kState_Initialized

WeaveExchangeManager'ın başlatıldığını belirtmek için kullanılır.

kState_NotInitialized

WeaveExchangeManager'ın başlatılmadığını belirtmek için kullanılır.

Herkese açık özellikler

FabricState

WeaveFabricState * FabricState

[READ ONLY] İlişkili FabricState nesnesi.

MessageLayer

WeaveMessageLayer * MessageLayer

[YALNIZCA OKUYUN] İlişkili WeaveMessageLayer nesnesi.

Eyalet

uint8_t State

[READ ONLY] WeaveExchangeManager nesnesinin durumu.

Kamu işlevleri

AllowUnsolicitedMessages

void AllowUnsolicitedMessages(
  WeaveConnection *con
)

İstenmeyen iletilerin belirtilen bağlantıda alınmasına izin ver.

Bu yöntem, belirtilen Weave bağlantısındaki mesaj alma işleyicisini ayarlar.

Ayrıntılar
Parametreler
[in] con
Weave bağlantı nesnesine işaret eden bir işaretçi.

ClearMsgCounterSyncReq

void ClearMsgCounterSyncReq(
  uint64_t peerNodeId
)

Bu eşe gönderilen bekleyen tüm iletiler için MsgCounterSyncReq işaretini temizleyin.

Ayrıntılar
Parametreler
[in] peerNodeId
Hedef düğümün düğüm kimliği.

FindContext

ExchangeContext * FindContext(
  uint64_t peerNodeId,
  WeaveConnection *con,
  void *appState,
  bool isInitiator
)

Belirli bir parametre grubuyla eşleşen havuzda ExchangeContext öğesini bulun.

Ayrıntılar
Parametreler
[in] peerNodeId
ExchangeContext'in ayarlandığı eşin düğüm tanımlayıcısı.
[in] con
Eşle TCP bağlantısını temsil eden WeaveConnection nesnesinin işaretçisi.
[in] appState
Bağlam durumunu barındıran daha yüksek bir katman nesnesine giden işaretçi.
[in] isInitiator
Yerel düğümün değişimi başlatan olup olmadığını gösteren Boole göstergesi.
İadeler
Sağlanan ExchangeContext nesnesine yönelik işaretçi. Başarılı olduğunda, eşleşme olmadığında NULL değeri.

Başlat

WEAVE_ERROR Init(
  WeaveMessageLayer *msgLayer
)

WeaveExchangeManager nesnesini başlatın.

Bu örneğin kullanım süresi içinde bu yöntem, örneği sonlandırmak için nesne oluşturma işleminden sonra Kapatma çağrısı yapılana kadar bir kez çağrılır.

Ayrıntılar
Parametreler
[in] msgLayer
WeaveMessageLayer nesnesine işaret eden bir işaret.
Döndürülen Değerler
WEAVE_ERROR_INCORRECT_STATE
Eyalet, kState_NotInitialized.
WEAVE_NO_ERROR
Başarılı olun.

NewBinding

Binding * NewBinding(
  Binding::EventCallback eventCallback,
  void *appState
)

Sağlanan bağımsız değişkenlerle yeni bir Bağlama ayırın.

Ayrıntılar
Parametreler
[in] eventCallback
Etkinlik geri çağırması için kullanılacak bir işlev işaretçisi
[in] appState
Daha sonra etkinlik geri çağırmasında kullanılacak bağlama dair bir işaretçi
İadeler
Yeni tahsis edilen Binding veya havuz tükendiyse NULL işaretçisi

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  void *appState
)

Eş düğüm tanımlayıcısı tarafından belirtilen belirli bir eş Weave düğümüyle yeni bir ExchangeContext oluşturur.

Ayrıntılar
Parametreler
[in] peerNodeId
ExchangeContext'in ayarlandığı eşin düğüm tanımlayıcısı.
[in] appState
Bağlam durumunu barındıran daha yüksek bir katman nesnesine giden işaretçi.
İadeler
Oluşturulan ExchangeContext nesnesinin başarılı olduğuna ilişkin bir işaretçi. Aksi takdirde, hiçbir nesne atanamazsa veya kullanılabilir değilse BOŞ olacaktır.

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  const IPAddress & peerAddr,
  void *appState
)

Eş düğüm tanımlayıcısı ve eş IP adresi tarafından belirtilen belirli bir eş Weave düğümüyle yeni bir ExchangeContext oluşturur.

Ayrıntılar
Parametreler
[in] peerNodeId
ExchangeContext'in ayarlandığı eşin düğüm tanımlayıcısı.
[in] peerAddr
Eş düğümün IP adresi.
[in] appState
Bağlam durumunu barındıran daha yüksek bir katman nesnesine giden işaretçi.
İadeler
Oluşturulan ExchangeContext nesnesinin başarılı olduğuna ilişkin bir işaretçi. Aksi takdirde, hiçbir nesne atanamazsa veya kullanılabilir durumdaysa BOŞ olacaktır.

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  InterfaceId sendIntfId,
  void *appState
)

Belirtilen arayüzde eş düğüm tanımlayıcısı, eş IP adresi ve hedef bağlantı noktası tarafından belirtilen belirli bir eş Weave düğümüyle yeni bir ExchangeContext oluşturur.

Ayrıntılar
Parametreler
[in] peerNodeId
ExchangeContext'in ayarlandığı eşin düğüm tanımlayıcısı.
[in] peerAddr
Eş düğümün IP adresi.
[in] peerPort
Eş düğümün bağlantı noktası.
[in] sendIntfId
Bu exchange'de Weave mesajlarını göndermek için kullanılacak arayüz.
[in] appState
Bağlam durumunu barındıran daha yüksek bir katman nesnesine giden işaretçi.
İadeler
Oluşturulan ExchangeContext nesnesinin başarılı olduğuna ilişkin bir işaretçi. Aksi takdirde, hiçbir nesne atanamazsa veya kullanılabilir durumdaysa BOŞ olacaktır.

NewContext

ExchangeContext * NewContext(
  WeaveConnection *con,
  void *appState
)

Belirtilen WeaveConnection üzerinden belirli bir eş Weave düğümüyle yeni bir ExchangeContext oluşturur.

Ayrıntılar
Parametreler
[in] con
Eşle TCP bağlantısını temsil eden WeaveConnection nesnesinin işaretçisi.
[in] appState
Bağlam durumunu barındıran daha yüksek bir katman nesnesine giden işaretçi.
İadeler
Oluşturulan ExchangeContext nesnesinin başarılı olduğuna ilişkin bir işaretçi. Aksi takdirde, hiçbir nesne atanamazsa veya kullanılabilir durumdaysa BOŞ olacaktır.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

Belirli bir profil tanımlayıcısı için istenmeyen bir ileti işleyici kaydedin.

Bu işleyici, belirtilen profildeki tüm iletiler için çağrılır.

Ayrıntılar
Parametreler
[in] profileId
Alınan iletinin profil kimliği.
[in] handler
İstenmeyen ileti işleyici.
[in] appState
Bağlam durumunu barındıran daha yüksek bir katman nesnesine giden işaretçi.
Döndürülen Değerler
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
İstenmeyen ileti işleyici havuzu doluysa ve yeni bir ileti işleyicisi ayrılamazsa.
WEAVE_NO_ERROR
Başarılı olun.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

Belirli bir profil tanımlayıcısı için istenmeyen bir ileti işleyici kaydedin.

Bu işleyici, belirtilen profildeki tüm iletiler için çağrılır.

Ayrıntılar
Parametreler
[in] profileId
Alınan iletinin profil kimliği.
[in] handler
İstenmeyen ileti işleyici.
[in] allowDups
Belirli bir profilde yinelenen iletilere izin verilip verilmediğini gösteren Boole göstergesi.
[in] appState
Bağlam durumunu barındıran daha yüksek bir katman nesnesine giden işaretçi.
Döndürülen Değerler
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
İstenmeyen ileti işleyici havuzu doluysa ve yeni bir ileti işleyicisi ayrılamazsa.
WEAVE_NO_ERROR
Başarılı olun.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

Belirli bir profil tanımlayıcısı ve ileti türü için istenmeyen bir ileti işleyici kaydedin.

Ayrıntılar
Parametreler
[in] profileId
Alınan iletinin profil kimliği.
[in] msgType
İlgili profilin mesaj türü.
[in] handler
İstenmeyen ileti işleyici.
[in] appState
Bağlam durumunu barındıran daha yüksek bir katman nesnesine giden işaretçi.
Döndürülen Değerler
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
İstenmeyen ileti işleyici havuzu doluysa ve yeni bir ileti işleyicisi ayrılamazsa.
WEAVE_NO_ERROR
Başarılı olun.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

Belirli bir profil tanımlayıcısı ve ileti türü için istenmeyen bir ileti işleyici kaydedin.

Ayrıntılar
Parametreler
[in] profileId
Alınan iletinin profil kimliği.
[in] msgType
İlgili profilin mesaj türü.
[in] handler
İstenmeyen ileti işleyici.
[in] allowDups
Belirli bir profil tanımlayıcısı ve ileti türü için yinelenen iletilere izin verilip verilmediğini gösteren boole göstergesi.
[in] appState
Bağlam durumunu barındıran daha yüksek bir katman nesnesine giden işaretçi.
Döndürülen Değerler
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
İstenmeyen ileti işleyici havuzu doluysa ve yeni bir ileti işleyicisi ayrılamazsa.
WEAVE_NO_ERROR
Başarılı olun.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

Belirli bir Weave bağlantısındaki belirli bir profil tanımlayıcısı (mesaj türü) için istenmeyen bir mesaj işleyici kaydedin.

Ayrıntılar
Parametreler
[in] profileId
Alınan iletinin profil kimliği.
[in] msgType
İlgili profilin mesaj türü.
[in] con
Eşle TCP bağlantısını temsil eden WeaveConnection nesnesinin işaretçisi.
[in] handler
İstenmeyen ileti işleyici.
[in] appState
Bağlam durumunu barındıran daha yüksek bir katman nesnesine giden işaretçi.
Döndürülen Değerler
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
İstenmeyen ileti işleyici havuzu doluysa ve yeni bir ileti işleyicisi ayrılamazsa.
WEAVE_NO_ERROR
Başarılı olun.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

Belirli bir Weave bağlantısındaki belirli bir profil tanımlayıcısı (mesaj türü) için istenmeyen bir mesaj işleyici kaydedin.

Ayrıntılar
Parametreler
[in] profileId
Alınan iletinin profil kimliği.
[in] msgType
İlgili profilin mesaj türü.
[in] con
Eşle TCP bağlantısını temsil eden WeaveConnection nesnesinin işaretçisi.
[in] handler
İstenmeyen ileti işleyici.
[in] allowDups
Belirli bir profil tanımlayıcısı ve belirli bir Weave bağlantısındaki mesaj türü için yinelenen iletilere izin verilip verilmediğini gösteren boole göstergesi.
[in] appState
Bağlam durumunu barındıran daha yüksek bir katman nesnesine giden işaretçi.
Döndürülen Değerler
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
İstenmeyen ileti işleyici havuzu doluysa ve yeni bir ileti işleyicisi ayrılamazsa.
WEAVE_NO_ERROR
Başarılı olun.

Kapat

WEAVE_ERROR Shutdown(
  void
)

WeaveExchangeManager'ı kapatın.

Bu işlem, nesnenin bu örneğini sonlandırır ve bekletilen tüm kaynakları serbest bırakır.

Ayrıntılar
İadeler
Koşulsuz olarak WEAVE_NO_ERROR.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId
)

Belirli bir profil tanımlayıcısı için istenmeyen bir ileti işleyicinin kaydını iptal etme.

Ayrıntılar
Parametreler
[in] profileId
Alınan iletinin profil kimliği.
Döndürülen Değerler
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Eşleşen istenmeyen ileti işleyicisi bulunamazsa.
WEAVE_NO_ERROR
Başarılı olun.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType
)

Belirli bir profil tanımlayıcısı ve mesaj türü için istenmeyen bir mesaj işleyicinin kaydını iptal etme.

Ayrıntılar
Parametreler
[in] profileId
Alınan iletinin profil kimliği.
[in] msgType
İlgili profilin mesaj türü.
Döndürülen Değerler
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Eşleşen istenmeyen ileti işleyicisi bulunamazsa.
WEAVE_NO_ERROR
Başarılı olun.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con
)

Belirli bir profil tanımlayıcısı, mesaj türü ve Weave bağlantısı için istenmeyen mesaj işleyicinin kaydını iptal edin.

Ayrıntılar
Parametreler
[in] profileId
Alınan iletinin profil kimliği.
[in] msgType
İlgili profilin mesaj türü.
[in] con
Eşle TCP bağlantısını temsil eden WeaveConnection nesnesinin işaretçisi.
Döndürülen Değerler
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Eşleşen istenmeyen ileti işleyicisi bulunamazsa.
WEAVE_NO_ERROR
Başarılı olun.

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

WeaveExchangeManager sınıfının oluşturucu.

Durumu kState_NotInitialized olarak ayarlar.