nl::Weave::ExchangeContext

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

המחלקה הזו מייצגת שיחה מתמשכת (ExchangeContext) בין שני צמתים או יותר.

סיכום

היא מגדירה שיטות לקידוד ולתקשורת של הודעות Weave בתוך ExchangeContext באמצעות מנגנוני העברה שונים, לדוגמה TCP , UDP או Weave Trusted Messaging.

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

@34{
  kSendFlag_AutoRetrans = 0x0001,
  kSendFlag_ExpectResponse = 0x0002,
  kSendFlag_RetransmissionTrickle = 0x0004,
  kSendFlag_DelaySend = 0x0008,
  kSendFlag_ReuseMessageId = 0x0010,
  kSendFlag_ReuseSourceId = 0x0020,
  kSendFlag_RetainBuffer = 0x0040,
  kSendFlag_AlreadyEncoded = 0x0080,
  kSendFlag_DefaultMulticastSourceAddress = 0x0100,
  kSendFlag_FromInitiator = 0x0200,
  kSendFlag_RequestAck = 0x0400,
  kSendFlag_NoAutoRequestAck = 0x0800,
  kSendFlag_MulticastFromLinkLocal = kSendFlag_DefaultMulticastSourceAddress
}
טיפוסים בני מנייה (enum)
@35{
  kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
טיפוסים בני מנייה (enum)
ConnectionClosedFunct)(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
הפונקציה הזו היא הקריאה החוזרת (callback) של האפליקציה שיש להפעיל כאשר חיבור קיים ל-Weave נסגר.
KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr) typedef
void(*
סוג הפונקציה לטיפול בהודעות שגיאה חשובות.
MessageReceiveFunct)(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload) typedef
void(*
הפונקציה הזו היא הקריאה החוזרת (callback) של האפליקציה לטיפול בהודעת Weave שהתקבלה.
ResponseTimeoutFunct)(ExchangeContext *ec) typedef
void(*
פונקציה זו היא הקריאה החוזרת של האפליקציה שיש להפעיל כאשר פג הזמן הקצוב לקבלת הודעת תגובה.
RetransmissionTimeoutFunct)(ExchangeContext *ec) typedef
void(*
הפונקציה הזו היא הקריאה החוזרת (callback) של האפליקציה שיש להפעיל כשפג הזמן הקצוב לשידור חוזר של הודעה שנשלחה בעבר.
Timeout typedef
uint32_t
הסוג המשמש לביטוי הזמן הקצוב לתפוגה ב-ExchangeContext הזה, באלפיות השנייה.
WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt) typedef
void(*
הפונקציה הזו היא הקריאה החוזרת (callback) של האפליקציה שיש להפעיל כאשר מתקבל אישור עבור הודעת Weave שביקשה אחת כזו כחלק מ-Weave Trusted Messaging Protocol.
WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime) typedef
void(*
פונקציה זו היא הקריאה החוזרת (callback) של האפליקציה להפעלה כאשר מתקבלת הודעת Throttle או הודעה מושהית כחלק מ-Weave Trusted Messaging Protocol.
WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt) typedef
void(*
פונקציה זו היא הקריאה החוזרת של האפליקציה שיש להפעיל במקרה של שגיאה בעת שליחת הודעת Weave.

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

AllowDuplicateMsgs
bool
אינדיקטור בוליאני שמציין אם הודעות כפולות מותרות להמרה נתונה.
AppState
void *
מצביע על אובייקט מצב ספציפי לאפליקציה.
Con
[לקריאה בלבד] חיבור משויך ל-Weave.
EncryptionType
uint8_t
סוג הצפנה לשימוש בעת שליחת הודעה.
ExchangeId
uint16_t
[לקריאה בלבד] הוקצה מזהה Exchange.
ExchangeMgr
[לקריאה בלבד] בעלות על מנהל Exchange.
KeyId
uint16_t
מפתח הצפנה לשימוש בעת שליחת הודעה.
OnAckRcvd
קריאה חוזרת של האפליקציה לאישור קבלה.
OnConnectionClosed
OnDDRcvd
התקשרות חזרה באפליקציה לגבי הודעת 'עיכוב מסירה' שהתקבלה.
OnKeyError
הפונקציה הזו היא הקריאה החוזרת (callback) של האפליקציה שיש להפעיל כאשר מתקבלת הודעת שגיאה חשובה מהעמית.
OnMessageReceived
OnResponseTimeout
OnRetransmissionTimeout
OnSendError
קריאה חוזרת (callback) של האפליקציה עקב שגיאה במהלך השליחה.
OnThrottleRcvd
קריאה חוזרת של האפליקציה לגבי הודעת Throttle שהתקבלה.
PeerAddr
IPAddress
[לקריאה בלבד] כתובת ה-IP של צומת עמית.
PeerIntf
InterfaceId
[לקריאה בלבד] ממשק יוצא לשימוש בעת שליחת הודעות לעמית.
PeerNodeId
uint64_t
[לקריאה בלבד] מזהה הצומת של צומת עמית.
PeerPort
uint16_t
[לקריאה בלבד] יציאה של צומת בין רשתות שכנות.
ResponseTimeout
זמן ההמתנה המקסימלי לתשובה (באלפיות שנייה); 0 משבית את הזמן הקצוב לתגובה.
RetransInterval
uint32_t
הזמן בין שידורים חוזרים (באלפיות שנייה); 0 משבית שידורים חוזרים.
mMsgProtocolVersion
uint16_t
גרסת פרוטוקול ההודעה של ExchangeContext.
mWRMPConfig
תצורת WRMP.

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

Abort(void)
void
עליך לבטל את ההקשר של Exchange באופן מיידי ולפרסם את כל ההפניות אליו.
AddRef(void)
void
מעלים בנפרד את המונה של קובץ העזר עבור ההקשר של חילופי ההודעות.
AutoRequestAck() const
bool
ההגדרה הזאת קובעת אם המערכת תבקש אישור בכל פעם שהודעה תישלח.
CancelRetrans(void)
void
מבטלים את מנגנון השידור החוזר של Trickle.
Close(void)
void
סוגרים בחינניות הקשר של חילופי הודעות.
EncodeExchHeader(WeaveExchangeHeader *exchangeHeader, uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags)
לקודד את כותרת ה-Exchange למאגר הודעות.
GetAutoReleaseKey() const
bool
פונקציה זו קובעת אם יש לשחרר את מפתח ההצפנה שמשויך לפלטפורמת ה-Exchange כאשר ההחלפה משוחררת.
GetCurrentRetransmitTimeout(void)
uint32_t
בודקים את הזמן הקצוב לתפוגה של השידור החוזר.
GetPeerDescription(char *buf, uint32_t bufSize) const
void
הפונקציה יוצרת מחרוזת שמתארת את הצומת של העמיתים ואת פרטי הכתובת / החיבור שמשויכים אליו.
HandleTrickleMessage(const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo)
void
יש לטפל בהודעות טפטוף בהקשר של חילופי ההודעות.
HasPeerRequestedAck(void) const
bool
יש לקבוע אם העמית ביקש אישור להודעה אחת לפחות בשרשור הזה.
HasRcvdMsgFromPeer(void) const
bool
יש לקבוע אם התקבלה לפחות הודעה אחת בשרשור הזה מהעמיתים.
IsAckPending(void) const
bool
לבדוק אם כבר יש אישור שממתין לשליחה לעמית בשרשור הזה.
IsConnectionClosed(void) const
bool
קבע אם ל-ExchangeContext יש WeaveConnection פעיל המשויך.
IsInitiator(void) const
bool
יש לקבוע אם ההקשר הוא הגורם שיזם את ההחלפה.
IsResponseExpected(void) const
bool
אפשר לקבוע אם תהיה תגובה להודעות שנשלחות בהעברה הזו.
Release(void)
void
יש להסיר הפניות להקשר הזה של החלפה.
SendCommonNullMessage(void)
Send a Common::Null message.
SendMessage(uint32_t profileId, uint8_t msgType, PacketBuffer *msgPayload, uint16_t sendFlags, void *msgCtxt)
שליחת הודעת Weave בשיחה הזו.
SendMessage(uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags, WeaveMessageInfo *msgInfo, void *msgCtxt)
שליחת הודעת Weave בשיחה הזו.
SetAckPending(bool inAckPending)
void
יש להגדיר אם צריך לשלוח אישור חזרה לעמית בשרשור הזה.
SetAutoReleaseKey(bool autoReleaseKey)
void
אפשר לקבוע אם יש לשחרר את מפתח ההצפנה שמשויך לפלטפורמת ה-Exchange כאשר ההחלפה משוחררת.
SetAutoRequestAck(bool autoReqAck)
void
אפשר לקבוע אם צריך לבקש אישור בכל פעם שנשלחת הודעה.
SetConnectionClosed(bool inConnectionClosed)
void
מגדירים את ביט הסימון kFlagConnectionClosed.
SetDropAck(bool inDropAck)
void
אפשר לקבוע אם ה-WeaveExchangeManager לא ישלח אישורים להקשר הזה.
SetInitiator(bool inInitiator)
void
מגדירים את הביט של הסימון kFlagInitiator.
SetMsgRcvdFromPeer(bool inMsgRcvdFromPeer)
void
הגדרה אם התקבלה הודעה מהעמית/ה בשרשור הזה.
SetPeerRequestedAck(bool inPeerRequestedAck)
void
ההגדרה קובעת אם נשלחה בקשה לאישור בהודעה האחרונה שהתקבלה בשרשור הזה.
SetResponseExpected(bool inResponseExpected)
void
ניתן לקבוע אם צפויה תגובה בשרשור הזה.
SetShouldAutoReleaseConnection(bool autoReleaseCon)
void
הגדרה אם יש לשחרר את חיבור ה-Weave שמשויך להחלפה כשההחלפה תשוחרר.
SetupTrickleRetransmit(uint32_t retransInterval, uint8_t threshold, uint32_t timeout)
הגדר את מנגנון השידור החוזר על ידי קביעת מרווח הזמן לשידור חוזר וסף לשידור חוזר.
ShouldAutoReleaseConnection() const
bool
פונקציה זו קובעת אם יש לשחרר את חיבור ה-Weave שמשויך להחלפה כשההחלפה תשוחרר.
ShouldDropAck(void) const
bool
קובעים אם לא צריך לשלוח אישור מ-WeaveExchangeManager.
StartTimerT(void)
הפעילו את מנגנון הטיימר התקופתי לשידור חוזר של אלגוריתם השידור החוזר של Trickle.
TeardownTrickleRetransmit(void)
void
מנתקים את מנגנון ההעברה החוזרת של Trickle על ידי ביטול הטיימרים התקופתיים ב-Trickle ושחרור מאגר ההודעות שבו נמצאת ההודעה ב-Weave.
UseEphemeralUDPPort(void) const
bool
החזר אם הודעות יוצאות שנשלחו דרך תכתובת צריכות להישלח מיציאת ה-UDP הזמנית המקומית.
WRMPFlushAcks(void)
WRMPSendDelayedDelivery(uint32_t PauseTimeMillis, uint64_t DelayedNodeId)
לשלוח הודעה על עיכוב במסירה כדי להודיע לצומת של שולח על כך שיחול עיכוב צפוי לפני שההודעה שלו תימסר לנמען.
WRMPSendThrottleFlow(uint32_t PauseTimeMillis)
שלח הודעה של Throttleflow לצומת העמיתים, בבקשה לווסת את שליחת ההודעות שלו.

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

@34

 @34
תכונות
kSendFlag_AlreadyEncoded

משמש כדי לציין שההודעה כבר מקודדת.

kSendFlag_AutoRetrans

משמש כדי לציין ששידור חוזר אוטומטי מופעל.

kSendFlag_DefaultMulticastSourceAddress

משמש לציון הבחירה של כתובת המקור המוגדרת כברירת מחדל ב-IPv6 בעת שליחת הודעות IPv6 Multicast.

kSendFlag_DelaySend

משמש כדי לציין ששליחת ההודעה הנוכחית צריכה להתעכב.

kSendFlag_ExpectResponse

משמש כדי לציין שצפויה תגובה במהלך פרק הזמן הקצוב לתפוגה שצוין.

kSendFlag_FromInitiator

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

kSendFlag_MulticastFromLinkLocal

כינוי שהוצא משימוש עבור kSendFlag_DefaultMulticastSourceAddress.

kSendFlag_NoAutoRequestAck

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

kSendFlag_RequestAck

משמש לשליחת הודעת WRM לבקשת אישור.

kSendFlag_RetainBuffer

משמש כדי לציין שלא צריך לפנות את מאגר ההודעות אחרי השליחה.

kSendFlag_RetransmissionTrickle

משמש לציון הדרישה של שידורים חוזרים עבור Trickle.

kSendFlag_ReuseMessageId

משמש כדי לציין שאפשר לעשות שימוש חוזר במזהה ההודעה שבכותרת ההודעה.

kSendFlag_ReuseSourceId

כדי לציין שאפשר לעשות שימוש חוזר במזהה של צומת המקור בכותרת ההודעה.

@35

 @35
תכונות
kGetPeerDescription_MaxLength

אורך מחרוזת מקסימלי (כולל תו NUL) המוחזר על ידי GetPeerDescription().

ConnectionClosedFunct

void(* ConnectionClosedFunct)(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr)

הפונקציה הזו היא הקריאה החוזרת (callback) של האפליקציה שיש להפעיל כאשר חיבור קיים ל-Weave נסגר.

פרטים
פרמטרים
[in] ec
מצביע לאובייקט ExchangeContext.
[in] con
מצביע לאובייקט WeaveConnection.
[in] conErr
סוג WEAVE_ERROR שדווח כאשר החיבור נסגר.

KeyErrorFunct

void(* KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr)

סוג הפונקציה לטיפול בהודעות שגיאה חשובות.

פרטים
פרמטרים
[in] ec
מצביע לאובייקט ExchangeContext.
[in] keyErr
הסוג WEAVE_ERROR שדווח בהודעת השגיאה המרכזית.

MessageReceiveFunct

void(* MessageReceiveFunct)(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)

הפונקציה הזו היא הקריאה החוזרת (callback) של האפליקציה לטיפול בהודעת Weave שהתקבלה.

פרטים
פרמטרים
[in] ec
מצביע לאובייקט ExchangeContext.
[in] pktInfo
מצביע אל האובייקט IPPacketInfo.
[in] msgInfo
מצביע אל האובייקט WeaveMessageInfo.
[in] profileId
מזהה הפרופיל של ההודעה שהתקבלה.
[in] msgType
סוג ההודעה של הפרופיל המתאים.
[in] payload
מצביע אל האובייקט PacketBuffer שמכיל את המטען הייעודי (payload) של ההודעה.

ResponseTimeoutFunct

void(* ResponseTimeoutFunct)(ExchangeContext *ec)

פונקציה זו היא הקריאה החוזרת של האפליקציה שיש להפעיל כאשר פג הזמן הקצוב לקבלת הודעת תגובה.

פרטים
פרמטרים
[in] ec
מצביע לאובייקט ExchangeContext.

RetransmissionTimeoutFunct

void(* RetransmissionTimeoutFunct)(ExchangeContext *ec)

הפונקציה הזו היא הקריאה החוזרת (callback) של האפליקציה שיש להפעיל כשפג הזמן הקצוב לשידור חוזר של הודעה שנשלחה בעבר.

פרטים
פרמטרים
[in] ec
מצביע לאובייקט ExchangeContext.

חסימה זמנית

uint32_t Timeout

הסוג המשמש לביטוי הזמן הקצוב לתפוגה ב-ExchangeContext הזה, באלפיות השנייה.

WRMPAckRcvdFunct

void(* WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt)

הפונקציה הזו היא הקריאה החוזרת (callback) של האפליקציה שיש להפעיל כאשר מתקבל אישור עבור הודעת Weave שביקשה אחת כזו כחלק מ-Weave Trusted Messaging Protocol.

פרטים
פרמטרים
[in] ec
מצביע לאובייקט ExchangeContext.
[in] msgCtxt
הפניה לאובייקט הקשר ספציפי שמשויך להודעה המקורית שאושרה.

WRMPPauseRcvdFunct

void(* WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)

פונקציה זו היא הקריאה החוזרת (callback) של האפליקציה להפעלה כאשר מתקבלת הודעת Throttle או הודעה מושהית כחלק מ-Weave Trusted Messaging Protocol.

לכל אחת מההודעות האלו מופיע ערך זמן (באלפיות שנייה) שפירושו את הזמן להשהיית השליחה של הודעות Weave ב-ExchangeContext זה.

פרטים
פרמטרים
[in] ec
מצביע לאובייקט ExchangeContext.
[in] pauseTime
הזמן להשהיית השידור (באלפיות שנייה).

WRMPSendErrorFunct

void(* WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt)

פונקציה זו היא הקריאה החוזרת של האפליקציה שיש להפעיל במקרה של שגיאה בעת שליחת הודעת Weave.

פרטים
פרמטרים
[in] ec
מצביע לאובייקט ExchangeContext.
[in] err
הסוג WEAVE_ERROR שזוהה במהלך שליחת ההודעה.
[in] msgCtxt
הפניה לאובייקט הקשר ספציפי שמשויך להודעה המקורית שעליה דווח.

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

AllowDuplicateMsgs

bool AllowDuplicateMsgs

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

AppState

void * AppState

מצביע על אובייקט מצב ספציפי לאפליקציה.

נגד

WeaveConnection * Con

[לקריאה בלבד] חיבור משויך ל-Weave.

EncryptionType

uint8_t EncryptionType

סוג הצפנה לשימוש בעת שליחת הודעה.

ExchangeId

uint16_t ExchangeId

[לקריאה בלבד] הוקצה מזהה Exchange.

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[לקריאה בלבד] בעלות על מנהל Exchange.

KeyId

uint16_t KeyId

מפתח הצפנה לשימוש בעת שליחת הודעה.

OnAckRcvd

WRMPAckRcvdFunct OnAckRcvd

קריאה חוזרת של האפליקציה לאישור קבלה.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnDDRcvd

WRMPPauseRcvdFunct OnDDRcvd

התקשרות חזרה באפליקציה לגבי הודעת 'עיכוב מסירה' שהתקבלה.

OnKeyError

KeyErrorFunct OnKeyError

הפונקציה הזו היא הקריאה החוזרת (callback) של האפליקציה שיש להפעיל כאשר מתקבלת הודעת שגיאה חשובה מהעמית.

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnResponseTimeout

ResponseTimeoutFunct OnResponseTimeout

OnRetransmissionTimeout

RetransmissionTimeoutFunct OnRetransmissionTimeout

OnSendError

WRMPSendErrorFunct OnSendError

קריאה חוזרת (callback) של האפליקציה עקב שגיאה במהלך השליחה.

OnThrottleRcvd

WRMPPauseRcvdFunct OnThrottleRcvd

קריאה חוזרת של האפליקציה לגבי הודעת Throttle שהתקבלה.

PeerAddr

IPAddress PeerAddr

[לקריאה בלבד] כתובת ה-IP של צומת עמית.

PeerIntf

InterfaceId PeerIntf

[לקריאה בלבד] ממשק יוצא לשימוש בעת שליחת הודעות לעמית.

(משמעות עבור UDP בלבד.)

PeerNodeId

uint64_t PeerNodeId

[לקריאה בלבד] מזהה הצומת של צומת עמית.

PeerPort

uint16_t PeerPort

[לקריאה בלבד] יציאה של צומת בין רשתות שכנות.

ResponseTimeout

Timeout ResponseTimeout

זמן ההמתנה המקסימלי לתשובה (באלפיות שנייה); 0 משבית את הזמן הקצוב לתגובה.

RetransInterval

uint32_t RetransInterval

הזמן בין שידורים חוזרים (באלפיות שנייה); 0 משבית שידורים חוזרים.

mMsgProtocolVersion

uint16_t mMsgProtocolVersion

גרסת פרוטוקול ההודעה של ExchangeContext.

mWRMPConfig

WRMPConfig mWRMPConfig

תצורת WRMP.

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

ביטול

void Abort(
  void
)

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

AddRef

void AddRef(
  void
)

מעלים בנפרד את המונה של קובץ העזר עבור ההקשר של חילופי ההודעות.

AutoRequestAck

bool AutoRequestAck() const 

ההגדרה הזאת קובעת אם המערכת תבקש אישור בכל פעם שהודעה תישלח.

CancelRetrans

void CancelRetrans(
  void
)

מבטלים את מנגנון השידור החוזר של Trickle.

סגירה

void Close(
  void
)

סוגרים בחינניות הקשר של חילופי הודעות.

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

EncodeExchHeader

WEAVE_ERROR EncodeExchHeader(
  WeaveExchangeHeader *exchangeHeader,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *msgBuf,
  uint16_t sendFlags
)

לקודד את כותרת ה-Exchange למאגר הודעות.

פרטים
פרמטרים
[in] exchangeHeader
מצביע לאובייקט הכותרת של Weave Exchange.
[in] profileId
מזהה הפרופיל של הודעת Weave שתישלח.
[in] msgType
סוג ההודעה של הפרופיל המתאים.
[in] msgBuf
מצביע אל ה-PacketBuffer הנחוץ להודעה ב-Weave.
[in] sendFlags
סימונים שהוגדרו על ידי האפליקציה עבור הודעת Weave שנשלחת.
ערכים מוחזרים
WEAVE_ERROR_BUFFER_TOO_SMALL
אם למאגר ההודעות אין מספיק מקום לקידוד כותרת ה-Exchange.
WEAVE_NO_ERROR
אם קידוד ההודעה בוצע בהצלחה.

GetAutoReleaseKey

bool GetAutoReleaseKey() const 

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

GetCurrentRetransmitTimeout

uint32_t GetCurrentRetransmitTimeout(
  void
)

בודקים את הזמן הקצוב לתפוגה של השידור החוזר.

זה יהיה הזמן הקצוב לתפוגה הראשוני או הזמן הקצוב לתפוגה של שידור חוזר הפעיל, אם ל-ExchangeContext יש חילופי הודעות פעילים עם האפליקציה השכנה.

פרטים
החזרות
את משך הזמן הנוכחי לשידור חוזר.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  uint32_t bufSize
) const 

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

פרטים
פרמטרים
[in] buf
מצביע למאגר נתונים זמני שבו יש לכתוב את המחרוזת. המאגר הזמני צריך להיות גדול לפחות מ-kGetPeerDescription_MaxLength. אם מוקצה מאגר נתונים זמני קטן יותר, המחרוזת תיחתך להתאמה. הפלט יכלול תו סיום NUL בכל המקרים.
[in] bufSize
גודל מאגר הנתונים הזמני שאליו מפנה מאגר הנתונים הזמני.

HandleTrickleMessage

void HandleTrickleMessage(
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo
)

יש לטפל בהודעות טפטוף בהקשר של חילופי ההודעות.

פרטים
פרמטרים
[in] pktInfo
מצביע אל האובייקט IPPacketInfo.
[in] msgInfo
מצביע למבנה פרטי ההודעה ב-Weave.

HasPeerRequestedAck

bool HasPeerRequestedAck(
  void
) const 

יש לקבוע אם העמית ביקש אישור להודעה אחת לפחות בשרשור הזה.

פרטים
החזרות
הפונקציה מחזירה את הערך 'true' אם הבקשה אושרה. אחרת, היא מחזירה את הערך 'false'.

HasRcvdMsgFromPeer

bool HasRcvdMsgFromPeer(
  void
) const 

יש לקבוע אם התקבלה לפחות הודעה אחת בשרשור הזה מהעמיתים.

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

IsAckPending

bool IsAckPending(
  void
) const 

לבדוק אם כבר יש אישור שממתין לשליחה לעמית בשרשור הזה.

IsConnectionClosed

bool IsConnectionClosed(
  void
) const 

קבע אם ל-ExchangeContext יש WeaveConnection פעיל המשויך.

פרטים
החזרות
מחזירה 'true' אם החיבור סגור, אחרת 'false'.

IsInitiator

bool IsInitiator(
  void
) const 

יש לקבוע אם ההקשר הוא הגורם שיזם את ההחלפה.

פרטים
החזרות
מחזירה 'true' אם הוא היוזם, אחרת 'false'.

IsResponseExpected

bool IsResponseExpected(
  void
) const 

אפשר לקבוע אם תהיה תגובה להודעות שנשלחות בהעברה הזו.

פרטים
החזרות
מחזירה 'true' אם התשובה צפויה, אחרת 'false'.

פריט תוכן

void Release(
  void
)

יש להסיר הפניות להקשר הזה של החלפה.

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

SendCommonNullMessage

WEAVE_ERROR SendCommonNullMessage(
  void
)

Send a Common::Null message.

פרטים
ערכים מוחזרים
WEAVE_ERROR_NO_MEMORY
אם אין PacketBuffers זמינים.
WEAVE_NO_ERROR
אם השיטה הצליחה או שהשגיאה לא קריטית.
other
שגיאה קריטית נוספת הוחזרה על ידי SendMessage().

SendMessage

WEAVE_ERROR SendMessage(
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *msgPayload,
  uint16_t sendFlags,
  void *msgCtxt
)

שליחת הודעת Weave בשיחה הזו.

פרטים
פרמטרים
[in] profileId
מזהה הפרופיל של הודעת Weave שתישלח.
[in] msgType
סוג ההודעה של הפרופיל המתאים.
[in] msgBuf
מצביע אל האובייקט PacketBuffer שמכיל את ההודעה ב-Weave.
[in] sendFlags
סימונים שהוגדרו על ידי האפליקציה עבור הודעת Weave שנשלחת.
[in] msgCtxt
מצביע לאובייקט הקשר ספציפי לאפליקציה שישויך להודעה שנשלחת.
ערכים מוחזרים
WEAVE_ERROR_INVALID_ARGUMENT
אם ארגומנט לא חוקי הועבר לממשק ה-API של SendMessage.
WEAVE_ERROR_SEND_THROTTLED
אם ההקשר של פלטפורמת ה-Exchange יווסס במהלך שימוש בפרוטוקול העברת ההודעות המהימן של Weave.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
כאשר יש חוסר התאמה בפעולת השליחה הספציפית ובגרסת פרוטוקול ההודעה של Weave שנתמכת. לדוגמה, שגיאה זו תיווצר אם מתבצע ניסיון להשתמש בסמנטיקה של Weave Trusted Messaging כשגרסת פרוטוקול ההודעות של Weave היא V1.
WEAVE_ERROR_NOT_CONNECTED
אם ההקשר משויך לחיבור שנסגר עכשיו.
WEAVE_ERROR_INCORRECT_STATE
אם המצב של ההקשר שגוי.
WEAVE_NO_ERROR
אם שכבת ה-Weave שלחה את ההודעה בהצלחה למטה לשכבת הרשת.

SendMessage

WEAVE_ERROR SendMessage(
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *msgBuf,
  uint16_t sendFlags,
  WeaveMessageInfo *msgInfo,
  void *msgCtxt
)

שליחת הודעת Weave בשיחה הזו.

פרטים
פרמטרים
[in] profileId
מזהה הפרופיל של הודעת Weave שתישלח.
[in] msgType
סוג ההודעה של הפרופיל המתאים.
[in] msgBuf
מצביע אל האובייקט PacketBuffer שמכיל את ההודעה ב-Weave.
[in] sendFlags
סימונים שהוגדרו על ידי האפליקציה עבור הודעת Weave שנשלחת.
[in] msgInfo
מצביע אל האובייקט WeaveMessageInfo.
[in] msgCtxt
מצביע לאובייקט הקשר ספציפי לאפליקציה שישויך להודעה שנשלחת.
ערכים מוחזרים
WEAVE_ERROR_INVALID_ARGUMENT
אם ארגומנט לא חוקי הועבר לממשק ה-API של SendMessage.
WEAVE_ERROR_SEND_THROTTLED
אם ההקשר של פלטפורמת ה-Exchange יווסס במהלך שימוש בפרוטוקול העברת ההודעות המהימן של Weave.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
כאשר יש חוסר התאמה בפעולת השליחה הספציפית ובגרסת פרוטוקול ההודעה של Weave שנתמכת. לדוגמה, שגיאה זו תיווצר אם מתבצע ניסיון להשתמש בסמנטיקה של Weave Trusted Messaging כשגרסת פרוטוקול ההודעות של Weave היא V1.
WEAVE_ERROR_NOT_CONNECTED
אם ההקשר משויך לחיבור שנסגר עכשיו.
WEAVE_ERROR_INCORRECT_STATE
אם המצב של ההקשר שגוי.
WEAVE_NO_ERROR
אם שכבת ה-Weave שלחה את ההודעה בהצלחה למטה לשכבת הרשת.

SetAckPending

void SetAckPending(
  bool inAckPending
)

יש להגדיר אם צריך לשלוח אישור חזרה לעמית בשרשור הזה.

פרטים
פרמטרים
[in] inAckPending
ערך בוליאני שמציין אם (True) או לא (false) יש לשלוח אישור בחזרה בתגובה להודעה שהתקבלה.

SetAutoReleaseKey

void SetAutoReleaseKey(
  bool autoReleaseKey
)

אפשר לקבוע אם יש לשחרר את מפתח ההצפנה שמשויך לפלטפורמת ה-Exchange כאשר ההחלפה משוחררת.

פרטים
פרמטרים
[in] autoReleaseKey
הערך הוא True אם רוצים לשחרר את המפתח להצפנת ההודעה באופן אוטומטי.

SetAutoRequestAck

void SetAutoRequestAck(
  bool autoReqAck
)

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

פרטים
פרמטרים
[in] autoReqAck
ערך בוליאני שמציין אם צריך לבקש אישור בכל פעם שנשלחת הודעה.

SetConnectionClosed

void SetConnectionClosed(
  bool inConnectionClosed
)

מגדירים את ביט הסימון kFlagConnectionClosed.

הסימון הזה מוגדר כשסגירת WeaveConnection שמשויכת ל-ExchangeContext.

פרטים
פרמטרים
[in] inConnectionClosed
ערך בוליאני שמציין אם (true) או לא (false) ההקשר משויך לחיבור.

SetDropAck

void SetDropAck(
  bool inDropAck
)

אפשר לקבוע אם ה-WeaveExchangeManager לא ישלח אישורים להקשר הזה.

לשימוש פנימי, לניפוי באגים בלבד.

פרטים
פרמטרים
[in] inDropAck
ערך בוליאני שמציין אם (true) או לא (false) אין לשלוח את האישורים להחלפה.

SetInitiator

void SetInitiator(
  bool inInitiator
)

מגדירים את הביט של הסימון kFlagInitiator.

הדגל הזה מוגדר על ידי הצומת שמתחיל את ההחלפה.

פרטים
פרמטרים
[in] inInitiator
ערך בוליאני שמציין אם (נכון) או לא (לא נכון) ההקשר הוא הגורם שיזם את ההחלפה.

SetMsgRcvdFromPeer

void SetMsgRcvdFromPeer(
  bool inMsgRcvdFromPeer
)

הגדרה אם התקבלה הודעה מהעמית/ה בשרשור הזה.

פרטים
פרמטרים
[in] inMsgRcvdFromPeer
ערך בוליאני שמציין אם (true) או לא (false) התקבלה הודעה מהעמית בהקשר הזה של חילופי ההודעות.

SetPeerRequestedAck

void SetPeerRequestedAck(
  bool inPeerRequestedAck
)

ההגדרה קובעת אם נשלחה בקשה לאישור בהודעה האחרונה שהתקבלה בשרשור הזה.

פרטים
פרמטרים
[in] inPeerRequestedAck
ערך בוליאני שמציין אם (true) או לא (false) התבקש אישור בהודעה האחרונה שהתקבלה.

SetResponseExpected

void SetResponseExpected(
  bool inResponseExpected
)

ניתן לקבוע אם צפויה תגובה בשרשור הזה.

פרטים
פרמטרים
[in] inResponseExpected
ערך בוליאני שמציין אם (true) או לא (false) צפויה להתקבל תשובה בחילופי ההודעות האלה.

SetShouldAutoReleaseConnection

void SetShouldAutoReleaseConnection(
  bool autoReleaseCon
)

הגדרה אם יש לשחרר את חיבור ה-Weave שמשויך להחלפה כשההחלפה תשוחרר.

פרטים
פרמטרים
[in] autoReleaseCon
הערך הוא True אם החיבור ל-Weave צריך להיות משוחרר באופן אוטומטי.

SetupTrickleRetransmit

WEAVE_ERROR SetupTrickleRetransmit(
  uint32_t retransInterval,
  uint8_t threshold,
  uint32_t timeout
)

הגדר את מנגנון השידור החוזר על ידי קביעת מרווח הזמן לשידור חוזר וסף לשידור חוזר.

פרטים
פרמטרים
[in] retransInterval
מרווח השידור החוזר של אלגוריתם השידור החוזר של Trickle.
[in] threshold
מספר הפעמים המקסימלי שהודעה משודרת מחדש.
[in] timeout
זמן ההמתנה המקסימלי לפני ביטול הטיימר לשידור חוזר של Trickle.
החזרות
WEAVE_NO_ERROR אם הגדרת ה-Trickle בוצעה בהצלחה, אחרת INET_ERROR ממופה אל WEAVE_ERROR.

ShouldAutoReleaseConnection

bool ShouldAutoReleaseConnection() const 

פונקציה זו קובעת אם יש לשחרר את חיבור ה-Weave שמשויך להחלפה כשההחלפה תשוחרר.

ShouldDropAck

bool ShouldDropAck(
  void
) const 

קובעים אם לא צריך לשלוח אישור מ-WeaveExchangeManager.

לשימוש פנימי, לניפוי באגים בלבד.

StartTimerT

WEAVE_ERROR StartTimerT(
  void
)

הפעילו את מנגנון הטיימר התקופתי לשידור חוזר של אלגוריתם השידור החוזר של Trickle.

פרטים
החזרות
WEAVE_NO_ERROR אם הבדיקה הצליחה, אחרת INET_ERROR ממופה אל WEAVE_ERROR.

TeardownTrickleRetransmit

void TeardownTrickleRetransmit(
  void
)

מנתקים את מנגנון ההעברה החוזרת של Trickle על ידי ביטול הטיימרים התקופתיים ב-Trickle ושחרור מאגר ההודעות שבו נמצאת ההודעה ב-Weave.

UseEphemeralUDPPort

bool UseEphemeralUDPPort(
  void
) const 

החזר אם הודעות יוצאות שנשלחו דרך תכתובת צריכות להישלח מיציאת ה-UDP הזמנית המקומית.

WRMPFlushAcks

WEAVE_ERROR WRMPFlushAcks(
  void
)

WRMPSendDelayedDelivery

WEAVE_ERROR WRMPSendDelayedDelivery(
  uint32_t PauseTimeMillis,
  uint64_t DelayedNodeId
)

לשלוח הודעה על עיכוב במסירה כדי להודיע לצומת של שולח על כך שיחול עיכוב צפוי לפני שההודעה שלו תימסר לנמען.

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

פרטים
פרמטרים
[in] pauseTimeMillis
הזמן (באלפיות שנייה) שבו ההודעה שנשלחה בעבר צפויה להתעכב לפני שהיא תימסר.
[in] delayedNodeId
מזהה הצומת של צומת העמית שאליו תתעכב מסירת ההודעה.
ערכים מוחזרים
WEAVE_ERROR_INVALID_ARGUMENT
אם ארגומנט לא חוקי הועבר לממשק ה-API של SendMessage.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
כאשר יש חוסר התאמה בפעולת השליחה הספציפית ובגרסת פרוטוקול ההודעה של Weave שנתמכת. לדוגמה, שגיאה זו תיווצר אם מתבצע ניסיון להשתמש בסמנטיקה של Weave Trusted Messaging כשגרסת פרוטוקול ההודעות של Weave היא V1.
WEAVE_ERROR_NOT_CONNECTED
אם ההקשר משויך לחיבור שנסגר עכשיו.
WEAVE_ERROR_INCORRECT_STATE
אם המצב של ההקשר שגוי.
WEAVE_NO_ERROR
אם שכבת ה-Weave שלחה את ההודעה בהצלחה למטה לשכבת הרשת.

WRMPSendThrottleFlow

WEAVE_ERROR WRMPSendThrottleFlow(
  uint32_t PauseTimeMillis
)

שלח הודעה של Throttleflow לצומת העמיתים, בבקשה לווסת את שליחת ההודעות שלו.

פרטים
פרמטרים
[in] pauseTimeMillis
הזמן (באלפיות שנייה) שהנמען צפוי לווסת את השליחה שלו.
ערכים מוחזרים
WEAVE_ERROR_INVALID_ARGUMENT
אם ארגומנט לא חוקי הועבר לממשק ה-API של SendMessage.
WEAVE_ERROR_SEND_THROTTLED
האם ההקשר של חילופי ההודעות מגביל את השימוש בהם במהלך השימוש בפרוטוקול העברת ההודעות המהימן של Weave.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
אם יש חוסר התאמה בפעולת השליחה הספציפית ובגרסת פרוטוקול ההודעה של Weave שנתמכת. לדוגמה, שגיאה זו תיווצר אם מתבצע ניסיון להשתמש בסמנטיקה של Weave Trusted Messaging כשגרסת פרוטוקול ההודעות של Weave היא V1.
WEAVE_ERROR_NOT_CONNECTED
אם ההקשר היה משויך לחיבור שנסגר עכשיו.
WEAVE_ERROR_INCORRECT_STATE
אם המצב של ההקשר שגוי.
WEAVE_NO_ERROR
אם שכבת ה-Weave שלחה את ההודעה בהצלחה למטה לשכבת הרשת.