nl:: بافت:: WeaveExchangeManager

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

این کلاس برای مدیریت ExchangeContexts با سایر گره های Weave استفاده می شود.

خلاصه

به نمایندگی از لایه‌های بالاتر کار می‌کند، ExchangeContexts ایجاد می‌کند و ثبت/لغو ثبت کنترل‌کننده‌های پیام ناخواسته را مدیریت می‌کند.

سازندگان و ویرانگرها

WeaveExchangeManager (void)
سازنده کلاس WeaveExchangeManager .

انواع عمومی

State {
kState_NotInitialized = 0,
kState_Initialized = 1
}
enum

صفات عمومی

FabricState
[فقط بخوانید] شی FabricState مرتبط.
MessageLayer
[فقط خواندن] شی WeaveMessageLayer مرتبط.
State
uint8_t
[فقط بخوانید] وضعیت شی WeaveExchangeManager .

توابع عمومی

AllowUnsolicitedMessages ( WeaveConnection *con)
void
اجازه دهید پیام های ناخواسته در اتصال مشخص شده دریافت شود.
ClearMsgCounterSyncReq (uint64_t peerNodeId)
void
پرچم MsgCounterSyncReq را برای همه پیام‌های معلق به آن همتا پاک کنید.
FindContext (uint64_t peerNodeId, WeaveConnection *con, void *appState, bool isInitiator)
ExchangeContext را از استخری که با مجموعه ای از پارامترها مطابقت دارد پیدا کنید.
Init ( WeaveMessageLayer *msgLayer)
شی WeaveExchangeManager را راه اندازی کنید.
NewBinding (Binding::EventCallback eventCallback, void *appState)
یک Binding جدید با آرگومان های ارائه شده اختصاص دهید.
NewContext (const uint64_t & peerNodeId, void *appState)
یک ExchangeContext جدید با گره Weave همتا مشخص شده توسط شناسه گره همتا ایجاد می کند.
NewContext (const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState)
یک ExchangeContext جدید با یک گره Weave همتا مشخص شده توسط شناسه گره همتا و آدرس IP همتا ایجاد می کند.
NewContext (const uint64_t & peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId sendIntfId, void *appState)
یک ExchangeContext جدید با یک گره Weave همتا مشخص شده توسط شناسه گره همتا، آدرس IP همتا و پورت مقصد در یک رابط مشخص ایجاد می کند.
NewContext ( WeaveConnection *con, void *appState)
یک ExchangeContext جدید با یک گره Weave همتای معین روی یک WeaveConnection مشخص ایجاد می کند.
RegisterUnsolicitedMessageHandler (uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, void *appState)
یک کنترل کننده پیام ناخواسته برای یک شناسه نمایه معین ثبت کنید.
RegisterUnsolicitedMessageHandler (uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
یک کنترل کننده پیام ناخواسته برای یک شناسه نمایه معین ثبت کنید.
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState)
یک کنترل کننده پیام ناخواسته برای شناسه نمایه و نوع پیام معین ثبت کنید.
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
یک کنترل کننده پیام ناخواسته برای شناسه نمایه و نوع پیام معین ثبت کنید.
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, void *appState)
یک کنترل کننده پیام ناخواسته برای یک شناسه نمایه مشخص، نوع پیام در یک اتصال Weave مشخص شده ثبت کنید.
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
یک کنترل کننده پیام ناخواسته برای یک شناسه نمایه مشخص، نوع پیام در یک اتصال Weave مشخص شده ثبت کنید.
Shutdown (void)
WeaveExchangeManager را خاموش کنید.
UnregisterUnsolicitedMessageHandler (uint32_t profileId)
لغو ثبت یک کنترل کننده پیام ناخواسته برای یک شناسه نمایه معین.
UnregisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType)
یک کنترل کننده پیام ناخواسته را برای یک شناسه نمایه و نوع پیام معین لغو ثبت کنید.
UnregisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, WeaveConnection *con)
یک کنترل کننده پیام ناخواسته را برای شناسه نمایه، نوع پیام و اتصال Weave لغو ثبت کنید.

انواع عمومی

حالت

 State
خواص
kState_Initialized

برای نشان دادن اینکه WeaveExchangeManager مقداردهی اولیه شده است استفاده می شود.

kState_NotInitialized

برای نشان دادن اینکه WeaveExchangeManager مقداردهی اولیه نشده است استفاده می شود.

صفات عمومی

Fabric State

WeaveFabricState * FabricState

[فقط بخوانید] شی FabricState مرتبط.

MessageLayer

WeaveMessageLayer * MessageLayer

[فقط خواندن] شی WeaveMessageLayer مرتبط.

حالت

uint8_t State

[فقط بخوانید] وضعیت شی WeaveExchangeManager .

توابع عمومی

Allow Unsolicited Messages

void AllowUnsolicitedMessages(
  WeaveConnection *con
)

اجازه دهید پیام های ناخواسته در اتصال مشخص شده دریافت شود.

این روش کنترل کننده دریافت پیام را روی اتصال Weave داده شده تنظیم می کند.

جزئیات
مولفه های
[in] con
یک اشاره گر به شی اتصال Weave.

ClearMsgCounterSyncReq

void ClearMsgCounterSyncReq(
  uint64_t peerNodeId
)

پرچم MsgCounterSyncReq را برای همه پیام‌های معلق به آن همتا پاک کنید.

جزئیات
مولفه های
[in] peerNodeId
شناسه گره گره مقصد.

FindContext

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

ExchangeContext را از استخری که با مجموعه ای از پارامترها مطابقت دارد پیدا کنید.

جزئیات
مولفه های
[in] peerNodeId
شناسه گره نظیری که ExchangeContext با آن تنظیم شده است.
[in] con
یک اشاره گر به شی WeaveConnection که نشان دهنده ارتباط TCP با همتا است.
[in] appState
یک اشاره گر به یک شی لایه بالاتر که حالت متن را نگه می دارد.
[in] isInitiator
نشانگر بولی مبنی بر اینکه آیا گره محلی آغازگر تبادل است یا خیر.
برمی گرداند
یک اشاره گر به شی ExchangeContext که با پارامترهای ارائه شده مطابقت دارد در صورت موفقیت، NULL بدون تطابق.

شروع کنید

WEAVE_ERROR Init(
  WeaveMessageLayer *msgLayer
)

شی WeaveExchangeManager را راه اندازی کنید.

در طول عمر این نمونه، این روش یک بار پس از ساخت شیء فراخوانی می شود تا زمانی که برای پایان دادن به نمونه، یک فراخوانی به Shutdown برقرار شود.

جزئیات
مولفه های
[in] msgLayer
یک اشاره گر به شی WeaveMessageLayer .
ارزش های بازگشتی
WEAVE_ERROR_INCORRECT_STATE
اگر حالت برابر با kState_NotInitialized نباشد.
WEAVE_NO_ERROR
در مورد موفقیت

NewBinding

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

یک Binding جدید با آرگومان های ارائه شده اختصاص دهید.

جزئیات
مولفه های
[in] eventCallback
یک نشانگر تابعی که برای پاسخ به تماس رویداد استفاده می شود
[in] appState
اشاره‌ای به زمینه‌ای که بعداً در بازگشت رویداد انجام می‌شود
برمی گرداند
یک اشاره گر به Binding تازه اختصاص داده شده یا NULL اگر استخر تمام شده باشد

NewContext

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

یک ExchangeContext جدید با گره Weave همتا مشخص شده توسط شناسه گره همتا ایجاد می کند.

جزئیات
مولفه های
[in] peerNodeId
شناسه گره نظیری که ExchangeContext با آن تنظیم می شود.
[in] appState
یک اشاره گر به یک شی لایه بالاتر که حالت متن را نگه می دارد.
برمی گرداند
یک اشاره گر به شی ExchangeContext ایجاد شده On success. در غیر این صورت اگر هیچ شیئی قابل تخصیص یا موجود نباشد، NULL.

NewContext

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

یک ExchangeContext جدید با یک گره Weave همتا مشخص شده توسط شناسه گره همتا و آدرس IP همتا ایجاد می کند.

جزئیات
مولفه های
[in] peerNodeId
شناسه گره نظیری که ExchangeContext با آن تنظیم می شود.
[in] peerAddr
آدرس IP گره همتا.
[in] appState
یک اشاره گر به یک شی لایه بالاتر که حالت متن را نگه می دارد.
برمی گرداند
یک اشاره گر به شی ExchangeContext ایجاد شده On success. در غیر این صورت، اگر هیچ شیئی قابل تخصیص نباشد یا در دسترس نباشد، NULL خواهد شد.

NewContext

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

یک ExchangeContext جدید با یک گره Weave همتا مشخص شده توسط شناسه گره همتا، آدرس IP همتا و پورت مقصد در یک رابط مشخص ایجاد می کند.

جزئیات
مولفه های
[in] peerNodeId
شناسه گره نظیری که ExchangeContext با آن تنظیم می شود.
[in] peerAddr
آدرس IP گره همتا.
[in] peerPort
پورت گره همتا.
[in] sendIntfId
رابط مورد استفاده برای ارسال پیام های Weave در این تبادل.
[in] appState
یک اشاره گر به یک شی لایه بالاتر که حالت متن را نگه می دارد.
برمی گرداند
یک اشاره گر به شی ExchangeContext ایجاد شده On success. در غیر این صورت، اگر هیچ شیئی قابل تخصیص نباشد یا در دسترس نباشد، NULL خواهد شد.

NewContext

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

یک ExchangeContext جدید با یک گره Weave همتای معین روی یک WeaveConnection مشخص ایجاد می کند.

جزئیات
مولفه های
[in] con
یک اشاره گر به شی WeaveConnection که نشان دهنده ارتباط TCP با همتا است.
[in] appState
یک اشاره گر به یک شی لایه بالاتر که حالت متن را نگه می دارد.
برمی گرداند
یک اشاره گر به شی ExchangeContext ایجاد شده On success. در غیر این صورت، اگر هیچ شیئی قابل تخصیص نباشد یا در دسترس نباشد، NULL خواهد شد.

RegisterUnsolicitedMessage Handler

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

یک کنترل کننده پیام ناخواسته برای یک شناسه نمایه معین ثبت کنید.

این کنترل کننده برای همه پیام های نمایه داده شده فراخوانی می شود.

جزئیات
مولفه های
[in] profileId
شناسه پروفایل پیام دریافتی.
[in] handler
کنترل کننده پیام ناخواسته
[in] appState
یک اشاره گر به یک شی لایه بالاتر که حالت متن را نگه می دارد.
ارزش های بازگشتی
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
اگر مخزن کنترل کننده پیام ناخواسته پر است و نمی توان یک مخزن جدید اختصاص داد.
WEAVE_NO_ERROR
در مورد موفقیت

RegisterUnsolicitedMessage Handler

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

یک کنترل کننده پیام ناخواسته برای یک شناسه نمایه معین ثبت کنید.

این کنترل کننده برای همه پیام های نمایه داده شده فراخوانی می شود.

جزئیات
مولفه های
[in] profileId
شناسه پروفایل پیام دریافتی.
[in] handler
کنترل کننده پیام ناخواسته
[in] allowDups
نشانگر بولی که نشان می دهد آیا پیام های تکراری برای یک نمایه خاص مجاز هستند یا خیر.
[in] appState
یک اشاره گر به یک شی لایه بالاتر که حالت متن را نگه می دارد.
ارزش های بازگشتی
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
اگر مخزن کنترل کننده پیام ناخواسته پر است و نمی توان یک مخزن جدید اختصاص داد.
WEAVE_NO_ERROR
در مورد موفقیت

RegisterUnsolicitedMessage Handler

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

یک کنترل کننده پیام ناخواسته برای شناسه نمایه و نوع پیام معین ثبت کنید.

جزئیات
مولفه های
[in] profileId
شناسه پروفایل پیام دریافتی.
[in] msgType
نوع پیام نمایه مربوطه.
[in] handler
کنترل کننده پیام ناخواسته
[in] appState
یک اشاره گر به یک شی لایه بالاتر که حالت متن را نگه می دارد.
ارزش های بازگشتی
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
اگر مخزن کنترل کننده پیام ناخواسته پر است و نمی توان یک مخزن جدید اختصاص داد.
WEAVE_NO_ERROR
در مورد موفقیت

RegisterUnsolicitedMessage Handler

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

یک کنترل کننده پیام ناخواسته برای شناسه نمایه و نوع پیام معین ثبت کنید.

جزئیات
مولفه های
[in] profileId
شناسه پروفایل پیام دریافتی.
[in] msgType
نوع پیام نمایه مربوطه.
[in] handler
کنترل کننده پیام ناخواسته
[in] allowDups
نشانگر بولی که نشان می دهد آیا پیام های تکراری برای یک شناسه نمایه و نوع پیام مشخص مجاز هستند یا خیر.
[in] appState
یک اشاره گر به یک شی لایه بالاتر که حالت متن را نگه می دارد.
ارزش های بازگشتی
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
اگر مخزن کنترل کننده پیام ناخواسته پر است و نمی توان یک مخزن جدید اختصاص داد.
WEAVE_NO_ERROR
در مورد موفقیت

RegisterUnsolicitedMessage Handler

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

یک کنترل کننده پیام ناخواسته برای یک شناسه نمایه مشخص، نوع پیام در یک اتصال Weave مشخص شده ثبت کنید.

جزئیات
مولفه های
[in] profileId
شناسه پروفایل پیام دریافتی.
[in] msgType
نوع پیام نمایه مربوطه.
[in] con
یک اشاره گر به شی WeaveConnection که نشان دهنده ارتباط TCP با همتا است.
[in] handler
کنترل کننده پیام ناخواسته
[in] appState
یک اشاره گر به یک شی لایه بالاتر که حالت متن را نگه می دارد.
ارزش های بازگشتی
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
اگر مخزن کنترل کننده پیام ناخواسته پر است و نمی توان یک مخزن جدید اختصاص داد.
WEAVE_NO_ERROR
در مورد موفقیت

RegisterUnsolicitedMessage Handler

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

یک کنترل کننده پیام ناخواسته برای یک شناسه نمایه مشخص، نوع پیام در یک اتصال Weave مشخص شده ثبت کنید.

جزئیات
مولفه های
[in] profileId
شناسه پروفایل پیام دریافتی.
[in] msgType
نوع پیام نمایه مربوطه.
[in] con
یک اشاره گر به شی WeaveConnection که نشان دهنده ارتباط TCP با همتا است.
[in] handler
کنترل کننده پیام ناخواسته
[in] allowDups
نشانگر بولی که نشان می‌دهد آیا پیام‌های تکراری برای یک شناسه نمایه مشخص، نوع پیام در یک اتصال Weave مشخص مجاز هستند یا خیر.
[in] appState
یک اشاره گر به یک شی لایه بالاتر که حالت متن را نگه می دارد.
ارزش های بازگشتی
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
اگر مخزن کنترل کننده پیام ناخواسته پر است و نمی توان یک مخزن جدید اختصاص داد.
WEAVE_NO_ERROR
در مورد موفقیت

خاموش شدن

WEAVE_ERROR Shutdown(
  void
)

WeaveExchangeManager را خاموش کنید.

با این کار این نمونه از شی پایان می‌یابد و تمام منابع نگهداری شده آزاد می‌شود.

جزئیات
برمی گرداند
WEAVE_NO_ERROR بدون قید و شرط.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId
)

لغو ثبت یک کنترل کننده پیام ناخواسته برای یک شناسه نمایه معین.

جزئیات
مولفه های
[in] profileId
شناسه پروفایل پیام دریافتی.
ارزش های بازگشتی
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
اگر کنترل کننده پیام ناخواسته منطبق پیدا نشد.
WEAVE_NO_ERROR
در مورد موفقیت

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType
)

یک کنترل کننده پیام ناخواسته را برای یک شناسه نمایه و نوع پیام معین لغو ثبت کنید.

جزئیات
مولفه های
[in] profileId
شناسه پروفایل پیام دریافتی.
[in] msgType
نوع پیام نمایه مربوطه.
ارزش های بازگشتی
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
اگر کنترل کننده پیام ناخواسته منطبق پیدا نشد.
WEAVE_NO_ERROR
در مورد موفقیت

UnregisterUnsolicitedMessageHandler

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

یک کنترل کننده پیام ناخواسته را برای شناسه نمایه، نوع پیام و اتصال Weave لغو ثبت کنید.

جزئیات
مولفه های
[in] profileId
شناسه پروفایل پیام دریافتی.
[in] msgType
نوع پیام نمایه مربوطه.
[in] con
یک اشاره گر به شی WeaveConnection که نشان دهنده ارتباط TCP با همتا است.
ارزش های بازگشتی
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
اگر کنترل کننده پیام ناخواسته منطبق پیدا نشد.
WEAVE_NO_ERROR
در مورد موفقیت

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

سازنده کلاس WeaveExchangeManager .

حالت را روی kState_NotInitialized قرار می دهد.