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(*
הפונקציה הזו היא הקריאה החוזרת של האפליקציה שגורמת להפעלה של חיבור קיים ל-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(*
הפונקציה הזו היא הקריאה החוזרת של האפליקציה לטיפול בהודעת Weave שהתקבלה.
ResponseTimeoutFunct)(ExchangeContext *ec) typedef
void(*
הפונקציה הזו היא הקריאה החוזרת של האפליקציה שמופעלת כשפג הזמן הקצוב לקבלת הודעת תשובה.
RetransmissionTimeoutFunct)(ExchangeContext *ec) typedef
void(*
הפונקציה הזו היא הקריאה החוזרת של האפליקציה שמופעלת כשפג הזמן הקצוב לשליחה החוזרת של הודעה שנשלחה בעבר.
Timeout typedef
uint32_t
סוג שמשמש לציון הזמן הקצוב לתפוגה ב-ExchangeContext הזה, באלפיות שנייה.
WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt) typedef
void(*
הפונקציה הזו היא הקריאה החוזרת של האפליקציה להפעלה כשמתקבל אישור להודעת 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
קריאה חוזרת (callback) של בקשה לאישור שהתקבל.
OnConnectionClosed
OnDDRcvd
קריאה חוזרת של אפליקציה לגבי הודעה שהתקבלה בעיכוב במסירה.
OnKeyError
הפונקציה הזו היא הקריאה החוזרת של האפליקציה שמופעלת כאשר מתקבלת הודעת שגיאה משמעותית מהעמית.
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
מבטלים את מנגנון ההעברה החוזרת של הטריק.
Close(void)
void
לסגור בחינ את ההקשר של החלפה.
EncodeExchHeader(WeaveExchangeHeader *exchangeHeader, uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags)
מקודדים את כותרת ה-Exchange למאגר אחסון זמני של הודעות.
GetAutoReleaseKey() const
bool
מחזירה אם יש לשחרר את מפתח ההצפנה המשויך להחלפה לאחר שחרור ההחלפה.
GetCurrentRetransmitTimeout(void)
uint32_t
מקבלים את הזמן הקצוב לתפוגה של שליחה חוזרת.
GetPeerDescription(char *buf, uint32_t bufSize) const
void
יצירת מחרוזת שמתארת את הצומת של האפליקציה להשוואה ואת פרטי הכתובת או החיבור המשויכים אליו.
HandleTrickleMessage(const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo)
void
טפלו במסרים בעייתיים בהקשר של ההחלפה.
HasPeerRequestedAck(void) const
bool
המדיניות קובעת אם אפליקציה להשוואה ביקשה אישור להודעה אחת לפחות ב-Exchange הזה.
HasRcvdMsgFromPeer(void) const
bool
יש לקבוע אם התקבלה לפחות הודעה אחת מהעמיתים בזירת המסחר הזו.
IsAckPending(void) const
bool
בודקים אם כבר יש אישור בהמתנה לשליחה לאפליקציה להשוואה בבורסה הזו.
IsConnectionClosed(void) const
bool
בודקים אם ל-ExchangeContext משויך WeaveConnection פעיל.
IsInitiator(void) const
bool
לקבוע אם ההקשר הוא יוזם הבורסה.
IsResponseExpected(void) const
bool
לקבוע אם צפויה תגובה להודעות שנשלחות בתהליך ה-Exchange הזה.
Release(void)
void
שחרור הפניה להקשר של ההחלפה הזו.
SendCommonNullMessage(void)
שליחת הודעה משותפת:Null.
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
מגדירים אם יש לשחרר את מפתח ההצפנה שמשויך להחלפה לאחר שחרור ההחלפה.
SetAutoRequestAck(bool autoReqAck)
void
ההגדרה קובעת אם צריך לבקש אישור בכל פעם שנשלחת הודעה.
SetConnectionClosed(bool inConnectionClosed)
void
מגדירים את הביט של הדגל kflagConnectionClosed.
SetDropAck(bool inDropAck)
void
מגדירים אם WeaveExchangeManager לא ישלח אישורים להקשר הזה.
SetInitiator(bool inInitiator)
void
מגדירים את הביט של הסימון kflagInitiator.
SetMsgRcvdFromPeer(bool inMsgRcvdFromPeer)
void
הגדרה זו קובעת אם התקבלה הודעה מהעמית ברשת ה-Exchange הזו.
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)
לשלוח הודעה מסוג 'זרימת ויסות' (throttle) לצומת של האפליקציה השכנה, כדי לבקש ממנו לווסת את שליחת ההודעות שלו.

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

34@

 @34
מאפיינים
kSendFlag_AlreadyEncoded

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

kSendFlag_AutoRetrans

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

kSendFlag_DefaultMulticastSourceAddress

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

kSendFlag_DelaySend

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

kSendFlag_ExpectResponse

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

kSendFlag_FromInitiator

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

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)

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

הפונקציה הזו היא הקריאה החוזרת של האפליקציה לטיפול בהודעת 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)

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

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

חסימה זמנית

uint32_t Timeout

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

WRMPAckRcvdFunct

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

הפונקציה הזו היא הקריאה החוזרת של האפליקציה להפעלה כשמתקבל אישור להודעת 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

קריאה חוזרת (callback) של בקשה לאישור שהתקבל.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnDDRcvd

WRMPPauseRcvdFunct OnDDRcvd

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

OnKeyError

KeyErrorFunct OnKeyError

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

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
)

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

סגירה

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 

מחזירה אם יש לשחרר את מפתח ההצפנה המשויך להחלפה לאחר שחרור ההחלפה.

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 

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

פרטים
החזרות
הפונקציה מחזירה את הערך '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 

לקבוע אם צפויה תגובה להודעות שנשלחות בתהליך ה-Exchange הזה.

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

פריט תוכן

void Release(
  void
)

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

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

SendCommonNullMessage

WEAVE_ERROR SendCommonNullMessage(
  void
)

שליחת הודעה משותפת:Null.

פרטים
מוחזר ערכים
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
אם הקשר חילופין הזה מוגבל בזמן השימוש בפרוטוקול ההודעות המהימן של 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
אם הקשר חילופין הזה מוגבל בזמן השימוש בפרוטוקול ההודעות המהימן של 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
)

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

פרטים
פרמטרים
[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
ערך בוליאני שמציין אם (true) או לא (false) ההקשר הוא היוזם ההחלפה.

SetMsgRcvdFromPeer

void SetMsgRcvdFromPeer(
  bool inMsgRcvdFromPeer
)

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

פרטים
פרמטרים
[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
)

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

פרטים
פרמטרים
[in] pauseTimeMillis
הזמן (באלפיות שנייה) שהנמען צפוי לווסת את נתוני השליחה.
מוחזר ערכים
WEAVE_ERROR_INVALID_ARGUMENT
אם הועבר ארגומנט לא חוקי ל-SendMessage API הזה.
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 שלחה בהצלחה את ההודעה לשכבת הרשת.