nl::Weave::WeaveExchangeManager

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

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

Özet

Daha üst katmanlar adına çalışarak ExchangeContexts oluşturur ve istenmeyen ileti işleyicilerin kaydını/kaydını iptal etme işlemlerini yürütür.

Oluşturucular ve Yıkıcılar

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

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
[SALT OKUNUR] İlişkilendirilmiş WeaveMessageLayer nesnesi.
State
uint8_t
[READ ONLY] WeaveExchangeManager nesnesinin durumu.

Herkese açık işlevler

AllowUnsolicitedMessages(WeaveConnection *con)
void
İstenmeyen iletilerin belirtilen bağlantı üzerinden alınmasına izin ver.
ClearMsgCounterSyncReq(uint64_t peerNodeId)
void
İlgili eşe gönderilen tüm bekleyen mesajlar 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üzdeki 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 mesaj işleyicisi kaydedin.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Belirli bir profil tanımlayıcısı için istenmeyen mesaj işleyicisi kaydedin.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState)
Belirli bir profil tanımlayıcısı ve mesaj türü için istenmeyen bir mesaj 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 mesaj türü için istenmeyen bir mesaj işleyici kaydedin.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, void *appState)
Belirli bir profil tanımlayıcısı ve belirli bir Weave bağlantısındaki 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 profil tanımlayıcısı ve belirli bir Weave bağlantısındaki 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 mesaj işleyicinin kaydını silin.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType)
Belirli bir profil tanımlayıcısı ve mesaj türü için istenmeyen mesaj işleyicinin kaydını silin.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con)
Belirli bir profil tanımlayıcısı, ileti türü ve Weave bağlantısı için istenmeyen mesaj işleyicinin kaydını silin.

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

[SALT OKUNUR] İlişkilendirilmiş WeaveMessageLayer nesnesi.

Eyalet

uint8_t State

[READ ONLY] WeaveExchangeManager nesnesinin durumu.

Herkese açık işlevler

AllowUnsolicitedMessages

void AllowUnsolicitedMessages(
  WeaveConnection *con
)

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

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

Ayrıntılar
Parametreler
[in] con
Weave bağlantı nesnesinin işaretçisi.

ClearMsgCounterSyncReq

void ClearMsgCounterSyncReq(
  uint64_t peerNodeId
)

İlgili eşe gönderilen tüm bekleyen mesajlar 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 nesnesinin işaretçisi.
[in] isInitiator
Yerel düğümün exchange'i başlatanı olup olmadığını gösteren boole göstergesi.
İadeler
Sağlanan parametrelerle eşleşen ExchangeContext nesnesine işaretçi. Başarılı olunduğunda, eşleşme yoksa NULL ifadesi.

Init

WEAVE_ERROR Init(
  WeaveMessageLayer *msgLayer
)

WeaveExchangeManager nesnesini başlatın.

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

Ayrıntılar
Parametreler
[in] msgLayer
WeaveMessageLayer nesnesinin işaretçisi.
Değerleri Döndür
WEAVE_ERROR_INCORRECT_STATE
Durum, kState_NotInitialized.
WEAVE_NO_ERROR
Başarıya merhaba.

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 taşınacak bir bağlama işaret eden
İadeler
Yeni ayrılan Binding'e veya havuz tükendiyse NULL'ye işaret eden bir işaret

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 nesnesinin işaretçisi.
İadeler
Oluşturulan ExchangeContext nesnesine işaretçi, Başarılı olduğunda. Aksi takdirde, nesne ayrılamazsa veya varsa NULL olur.

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 nesnesinin işaretçisi.
İadeler
Oluşturulan ExchangeContext nesnesine işaretçi, Başarılı olduğunda. Aksi takdirde, nesne ayrılamazsa veya kullanılabilir değilse NULL değerini alır.

NewContext

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

Belirtilen arayüzdeki 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 nesnesinin işaretçisi.
İadeler
Oluşturulan ExchangeContext nesnesine işaretçi, Başarılı olduğunda. Aksi takdirde, nesne ayrılamazsa veya kullanılabilir değilse NULL değerini alı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 nesnesinin işaretçisi.
İadeler
Oluşturulan ExchangeContext nesnesine işaretçi, Başarılı olduğunda. Aksi takdirde, nesne ayrılamazsa veya kullanılabilir değilse NULL değerini alır.

RegisterUnsolicitedMessageHandler

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

Belirli bir profil tanımlayıcısı için istenmeyen mesaj işleyicisi kaydedin.

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

Ayrıntılar
Parametreler
[in] profileId
Alınan mesajın profil tanımlayıcısı.
[in] handler
İstenmeyen ileti işleyici.
[in] appState
Bağlam durumunu barındıran daha yüksek bir katman nesnesinin işaretçisi.
Değerleri Döndür
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
İstenmeyen mesaj işleyici havuzu doluysa ve yeni bir havuz tahsis edilemezse.
WEAVE_NO_ERROR
Başarıya merhaba.

RegisterUnsolicitedMessageHandler

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

Belirli bir profil tanımlayıcısı için istenmeyen mesaj işleyicisi kaydedin.

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

Ayrıntılar
Parametreler
[in] profileId
Alınan mesajın profil tanımlayıcısı.
[in] handler
İstenmeyen ileti işleyici.
[in] allowDups
Belirli bir profil 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 nesnesinin işaretçisi.
Değerleri Döndür
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
İstenmeyen mesaj işleyici havuzu doluysa ve yeni bir havuz tahsis edilemezse.
WEAVE_NO_ERROR
Başarıya merhaba.

RegisterUnsolicitedMessageHandler

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

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

Ayrıntılar
Parametreler
[in] profileId
Alınan mesajın profil tanımlayıcısı.
[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 nesnesinin işaretçisi.
Değerleri Döndür
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
İstenmeyen mesaj işleyici havuzu doluysa ve yeni bir havuz tahsis edilemezse.
WEAVE_NO_ERROR
Başarıya merhaba.

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 mesaj türü için istenmeyen bir mesaj işleyici kaydedin.

Ayrıntılar
Parametreler
[in] profileId
Alınan mesajın profil tanımlayıcısı.
[in] msgType
İlgili profilin mesaj türü.
[in] handler
İstenmeyen ileti işleyici.
[in] allowDups
Belirli bir profil tanımlayıcısı ve mesaj türü için yinelenen mesajlara izin verilip verilmediğini gösteren boole göstergesi.
[in] appState
Bağlam durumunu barındıran daha yüksek bir katman nesnesinin işaretçisi.
Değerleri Döndür
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
İstenmeyen mesaj işleyici havuzu doluysa ve yeni bir havuz tahsis edilemezse.
WEAVE_NO_ERROR
Başarıya merhaba.

RegisterUnsolicitedMessageHandler

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

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

Ayrıntılar
Parametreler
[in] profileId
Alınan mesajın profil tanımlayıcısı.
[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 nesnesinin işaretçisi.
Değerleri Döndür
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
İstenmeyen mesaj işleyici havuzu doluysa ve yeni bir havuz tahsis edilemezse.
WEAVE_NO_ERROR
Başarıya merhaba.

RegisterUnsolicitedMessageHandler

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

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

Ayrıntılar
Parametreler
[in] profileId
Alınan mesajın profil tanımlayıcısı.
[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ı için yinelenen mesajlara izin verilip verilmediğinin boole göstergesi (belirli bir Weave bağlantısında mesaj türü).
[in] appState
Bağlam durumunu barındıran daha yüksek bir katman nesnesinin işaretçisi.
Değerleri Döndür
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
İstenmeyen mesaj işleyici havuzu doluysa ve yeni bir havuz tahsis edilemezse.
WEAVE_NO_ERROR
Başarıya merhaba.

Kapat

WEAVE_ERROR Shutdown(
  void
)

WeaveExchangeManager'ı kapatın.

Bu işlem, nesnenin bu örneğini sonlandırır ve tutulan 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 mesaj işleyicinin kaydını silin.

Ayrıntılar
Parametreler
[in] profileId
Alınan mesajın profil tanımlayıcısı.
Değerleri Döndür
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Eşleşen istenmeyen ileti işleyicisi bulunamazsa.
WEAVE_NO_ERROR
Başarıya merhaba.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType
)

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

Ayrıntılar
Parametreler
[in] profileId
Alınan mesajın profil tanımlayıcısı.
[in] msgType
İlgili profilin mesaj türü.
Değerleri Döndür
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Eşleşen istenmeyen ileti işleyicisi bulunamazsa.
WEAVE_NO_ERROR
Başarıya merhaba.

UnregisterUnsolicitedMessageHandler

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

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

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

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

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

Durumu kState_NotInitialized olarak ayarlar.