nl::Weave::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)
קובעים קישור חדש לארגומנטים שסופקו.
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)
רישום handler של הודעות ללא אישור מצד המשתמש, למזהה פרופיל נתון.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
רישום handler של הודעות ללא אישור מצד המשתמש, למזהה פרופיל נתון.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState)
רישום handler של הודעות לא רצוי עבור מזהה פרופיל וסוג הודעה מסוימים.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
רישום handler של הודעות לא רצוי עבור מזהה פרופיל וסוג הודעה מסוימים.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, void *appState)
רישום handler של הודעות ללא אישור מצד המשתמש, למזהה פרופיל נתון ולסוג הודעה בחיבור מסוים ל-Weave.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
רישום handler של הודעות ללא אישור מצד המשתמש, למזהה פרופיל נתון ולסוג הודעה בחיבור מסוים ל-Weave.
Shutdown(void)
סוגרים את WeaveExchangeManager.
UnregisterUnsolicitedMessageHandler(uint32_t profileId)
ביטול הרישום של handler של הודעות ללא אישור מצד המשתמש במזהה פרופיל נתון.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType)
ביטול הרישום של handler של הודעות לא רצוי עבור מזהה פרופיל וסוג הודעה מסוימים.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con)
ביטול הרישום של handler של הודעות לא רצוי עבור מזהה פרופיל, סוג הודעה וחיבור Weave מסוימים.

סוגים ציבוריים

ארץ

 State
תכונות
kState_Initialized

משמש כדי לציין ש-WeaveExchangeManager מאותחל.

kState_NotInitialized

משמש כדי לציין ש-WeaveExchangeManager אינו מאותחל.

מאפיינים ציבוריים

FabricState

WeaveFabricState * FabricState

[לקריאה בלבד] אובייקט FabricState המשויך.

MessageLayer

WeaveMessageLayer * MessageLayer

[לקריאה בלבד] האובייקט WeaveMessageLayer המשויך.

ארץ

uint8_t State

[לקריאה בלבד] מצב האובייקט WeaveExchangeManager.

תפקידים ציבוריים

AllowUnsolicitedMessages

void AllowUnsolicitedMessages(
  WeaveConnection *con
)

אישור לקבלת הודעות לא רצויות בחיבור שנבחר.

שיטה זו מגדירה את ה-handler לקליטת הודעות בחיבור הנתון ל-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.

במהלך משך החיים של המכונה הזו, השיטה הזו מופעלת פעם אחת לאחר יצירת עצם עד לביצוע קריאה לכיבוי כדי לסיים את המכונה.

פרטים
פרמטרים
[in] msgLayer
מצביע לאובייקט WeaveMessageLayer.
ערכים מוחזרים
WEAVE_ERROR_INCORRECT_STATE
אם המצב לא שווה ל-kState_NotInitialized.
WEAVE_NO_ERROR
בהצלחה.

NewBinding

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

קובעים קישור חדש לארגומנטים שסופקו.

פרטים
פרמטרים
[in] eventCallback
מצביע של פונקציה לשימוש ב-callback של אירוע
[in] appState
הפניה להקשר כלשהו שיועבר אחר כך בהתקשרות חזרה של האירוע
החזרות
הפניה לרכיב Binding או NULL שהוקצה לאחרונה אם המאגר מוצה.

NewContext

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

יוצר ExchangeContext חדש עם צומת Weave עמית, שצוין על ידי מזהה הצומת של העמית.

פרטים
פרמטרים
[in] peerNodeId
מזהה הצומת של האפליקציה השכנה שאיתה מוגדר ה-ExchangeContext.
[in] appState
מצביע לאובייקט בשכבה גבוהה יותר שמכיל מצב הקשר.
החזרות
הפניה לאובייקט ExchangeContext שנוצר - 'בהצלחה'. אחרת, הערך יהיה 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 שנוצר - 'בהצלחה'. אחרת, הערך 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 שנוצר - 'בהצלחה'. אחרת, הערך NULL אם לא ניתן להקצות אובייקט או אם הוא זמין.

NewContext

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

יוצר ExchangeContext חדש עם צומת Weave עמית מעל WeaveConnection שצוין.

פרטים
פרמטרים
[in] con
מצביע לאובייקט WeaveConnection שמייצג את חיבור ה-TCP עם האפליקציה השכנה.
[in] appState
מצביע לאובייקט בשכבה גבוהה יותר שמכיל מצב הקשר.
החזרות
הפניה לאובייקט ExchangeContext שנוצר - 'בהצלחה'. אחרת, הערך NULL אם לא ניתן להקצות אובייקט או אם הוא זמין.

RegisterUnsolicitedMessageHandler

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

רישום handler של הודעות ללא אישור מצד המשתמש, למזהה פרופיל נתון.

ה-handler הזה יופעל עבור כל ההודעות בפרופיל הנתון.

פרטים
פרמטרים
[in] profileId
מזהה הפרופיל של ההודעה שהתקבלה.
[in] handler
הגורם המטפל בהודעות ללא אישור מצד המשתמש.
[in] appState
מצביע לאובייקט בשכבה גבוהה יותר שמכיל מצב הקשר.
ערכים מוחזרים
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
אם המאגר של הגורמים המטפלים בהודעות ללא אישור מלא ולא ניתן להקצות לו מאגר חדש.
WEAVE_NO_ERROR
בהצלחה.

RegisterUnsolicitedMessageHandler

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

רישום handler של הודעות ללא אישור מצד המשתמש, למזהה פרופיל נתון.

ה-handler הזה יופעל עבור כל ההודעות בפרופיל הנתון.

פרטים
פרמטרים
[in] profileId
מזהה הפרופיל של ההודעה שהתקבלה.
[in] handler
הגורם המטפל בהודעות ללא אישור מצד המשתמש.
[in] allowDups
מדד בוליאני שמציין אם מותר להשתמש בהודעות כפולות בפרופיל נתון.
[in] appState
מצביע לאובייקט בשכבה גבוהה יותר שמכיל מצב הקשר.
ערכים מוחזרים
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
אם המאגר של הגורמים המטפלים בהודעות ללא אישור מלא ולא ניתן להקצות לו מאגר חדש.
WEAVE_NO_ERROR
בהצלחה.

RegisterUnsolicitedMessageHandler

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

רישום handler של הודעות לא רצוי עבור מזהה פרופיל וסוג הודעה מסוימים.

פרטים
פרמטרים
[in] profileId
מזהה הפרופיל של ההודעה שהתקבלה.
[in] msgType
סוג ההודעה של הפרופיל המתאים.
[in] handler
הגורם המטפל בהודעות ללא אישור מצד המשתמש.
[in] appState
מצביע לאובייקט בשכבה גבוהה יותר שמכיל מצב הקשר.
ערכים מוחזרים
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
אם המאגר של הגורמים המטפלים בהודעות ללא אישור מלא ולא ניתן להקצות לו מאגר חדש.
WEAVE_NO_ERROR
בהצלחה.

RegisterUnsolicitedMessageHandler

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

רישום handler של הודעות לא רצוי עבור מזהה פרופיל וסוג הודעה מסוימים.

פרטים
פרמטרים
[in] profileId
מזהה הפרופיל של ההודעה שהתקבלה.
[in] msgType
סוג ההודעה של הפרופיל המתאים.
[in] handler
הגורם המטפל בהודעות ללא אישור מצד המשתמש.
[in] allowDups
מדד בוליאני שמציין אם הודעות כפולות מותרות עבור מזהה פרופיל וסוג הודעה מסוימים.
[in] appState
מצביע לאובייקט בשכבה גבוהה יותר שמכיל מצב הקשר.
ערכים מוחזרים
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
אם המאגר של הגורמים המטפלים בהודעות ללא אישור מלא ולא ניתן להקצות לו מאגר חדש.
WEAVE_NO_ERROR
בהצלחה.

RegisterUnsolicitedMessageHandler

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

רישום handler של הודעות ללא אישור מצד המשתמש, למזהה פרופיל נתון ולסוג הודעה בחיבור מסוים ל-Weave.

פרטים
פרמטרים
[in] profileId
מזהה הפרופיל של ההודעה שהתקבלה.
[in] msgType
סוג ההודעה של הפרופיל המתאים.
[in] con
מצביע לאובייקט WeaveConnection שמייצג את חיבור ה-TCP עם האפליקציה השכנה.
[in] handler
הגורם המטפל בהודעות ללא אישור מצד המשתמש.
[in] appState
מצביע לאובייקט בשכבה גבוהה יותר שמכיל מצב הקשר.
ערכים מוחזרים
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
אם המאגר של הגורמים המטפלים בהודעות ללא אישור מלא ולא ניתן להקצות לו מאגר חדש.
WEAVE_NO_ERROR
בהצלחה.

RegisterUnsolicitedMessageHandler

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

רישום handler של הודעות ללא אישור מצד המשתמש, למזהה פרופיל נתון ולסוג הודעה בחיבור מסוים ל-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
)

ביטול הרישום של handler של הודעות ללא אישור מצד המשתמש במזהה פרופיל נתון.

פרטים
פרמטרים
[in] profileId
מזהה הפרופיל של ההודעה שהתקבלה.
ערכים מוחזרים
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
אם ה-handler התואם של הודעות הלא רצויות לא נמצא.
WEAVE_NO_ERROR
בהצלחה.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType
)

ביטול הרישום של handler של הודעות לא רצוי עבור מזהה פרופיל וסוג הודעה מסוימים.

פרטים
פרמטרים
[in] profileId
מזהה הפרופיל של ההודעה שהתקבלה.
[in] msgType
סוג ההודעה של הפרופיל המתאים.
ערכים מוחזרים
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
אם ה-handler התואם של הודעות הלא רצויות לא נמצא.
WEAVE_NO_ERROR
בהצלחה.

UnregisterUnsolicitedMessageHandler

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

ביטול הרישום של handler של הודעות לא רצוי עבור מזהה פרופיל, סוג הודעה וחיבור Weave מסוימים.

פרטים
פרמטרים
[in] profileId
מזהה הפרופיל של ההודעה שהתקבלה.
[in] msgType
סוג ההודעה של הפרופיל המתאים.
[in] con
מצביע לאובייקט WeaveConnection שמייצג את חיבור ה-TCP עם האפליקציה השכנה.
ערכים מוחזרים
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
אם ה-handler התואם של הודעות הלא רצויות לא נמצא.
WEAVE_NO_ERROR
בהצלחה.

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

בנאי של המחלקה WeaveExchangeManager.

היא מגדירה את המצב ל-kState_NotInitialized.