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 ללא התאמה.

Init

WEAVE_ERROR Init(
  WeaveMessageLayer *msgLayer
)

מאתחלים את האובייקט WeaveExchangeManager.

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

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

NewBinding

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

צריך להקצות קישור חדש לארגומנטים שסופקו.

פרטים
פרמטרים
[in] eventCallback
מצביע של פונקציה לשימוש בקריאה חוזרת של אירוע
[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
ה-handler של ההודעות ללא אישור מצד המשתמש.
[in] appState
מצביע לאובייקט שכבה גבוהה יותר שמכיל את מצב ההקשר.
מוחזר ערכים
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
אם מאגר ה-handler של ההודעות ללא אישור מצד המשתמש מלא ואי אפשר להקצות מאגר חדש.
WEAVE_NO_ERROR
הצלחה.

RegisterUnsolicitedMessageHandler

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

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

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

פרטים
פרמטרים
[in] profileId
מזהה הפרופיל של ההודעה שהתקבלה.
[in] handler
ה-handler של ההודעות ללא אישור מצד המשתמש.
[in] allowDups
אינדיקטור בוליאני שמציין אם הודעות כפולות מותרות בפרופיל נתון.
[in] appState
מצביע לאובייקט שכבה גבוהה יותר שמכיל את מצב ההקשר.
מוחזר ערכים
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
אם מאגר ה-handler של ההודעות ללא אישור מצד המשתמש מלא ואי אפשר להקצות מאגר חדש.
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
ה-handler של ההודעות ללא אישור מצד המשתמש.
[in] appState
מצביע לאובייקט שכבה גבוהה יותר שמכיל את מצב ההקשר.
מוחזר ערכים
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
אם מאגר ה-handler של ההודעות ללא אישור מצד המשתמש מלא ואי אפשר להקצות מאגר חדש.
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
ה-handler של ההודעות ללא אישור מצד המשתמש.
[in] allowDups
אינדיקטור בוליאני שמציין אם הודעות כפולות מותרות במזהה פרופיל ובסוג הודעה מסוימים.
[in] appState
מצביע לאובייקט שכבה גבוהה יותר שמכיל את מצב ההקשר.
מוחזר ערכים
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
אם מאגר ה-handler של ההודעות ללא אישור מצד המשתמש מלא ואי אפשר להקצות מאגר חדש.
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
ה-handler של ההודעות ללא אישור מצד המשתמש.
[in] appState
מצביע לאובייקט שכבה גבוהה יותר שמכיל את מצב ההקשר.
מוחזר ערכים
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
אם מאגר ה-handler של ההודעות ללא אישור מצד המשתמש מלא ואי אפשר להקצות מאגר חדש.
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
ה-handler של ההודעות ללא אישור מצד המשתמש.
[in] allowDups
אינדיקטור בוליאני שמציין אם הודעות כפולות מותרות במזהה פרופיל נתון, סוג הודעה בחיבור Weave שצוין.
[in] appState
מצביע לאובייקט שכבה גבוהה יותר שמכיל את מצב ההקשר.
מוחזר ערכים
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
אם מאגר ה-handler של ההודעות ללא אישור מצד המשתמש מלא ואי אפשר להקצות מאגר חדש.
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.