nl::Weave::ExchangeContext

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

คลาสนี้แสดงการสนทนาที่ดำเนินอยู่ (ExchangeContext) ระหว่าง 2 โหนดขึ้นไป

สรุป

โดยจะกำหนดวิธีการเข้ารหัสและสื่อสารข้อความ Weave ภายใน ExchangeContext ผ่านกลไกการส่งต่างๆ เช่น TCP, UDP หรือ Weave Reliable 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 Reliable Messaging Protocol
WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime) typedef
void(*
ฟังก์ชันนี้เป็นการเรียกกลับของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับข้อความ Throttle หรือข้อความการนำส่งที่ล่าช้าซึ่งเป็นส่วนหนึ่งของ Weave Reliable 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
[อ่านอย่างเดียว] รหัสการแลกเปลี่ยนที่กำหนด
ExchangeMgr
[อ่านอย่างเดียว] การเป็นเจ้าของผู้จัดการการแลกเปลี่ยน
KeyId
uint16_t
คีย์การเข้ารหัสที่จะใช้เมื่อส่งข้อความ
OnAckRcvd
การติดต่อกลับแอปพลิเคชันเพื่อรับการรับทราบ
OnConnectionClosed
OnDDRcvd
การเรียกกลับของแอปพลิเคชันสำหรับข้อความการนำส่งที่ล่าช้าที่ได้รับ
OnKeyError
ฟังก์ชันนี้เป็นการเรียกกลับของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับข้อความแสดงข้อผิดพลาดหลักจากเพียร์
OnMessageReceived
OnResponseTimeout
OnRetransmissionTimeout
OnSendError
การเรียกกลับของแอปพลิเคชันเนื่องจากมีข้อผิดพลาดขณะกำลังส่ง
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
เพิ่มตัวนับการอ้างอิงสำหรับบริบทของ Exchange ขึ้น 1 รายการ
AutoRequestAck() const
bool
แสดงผลว่าจะส่งคำขอรับทราบเมื่อมีการส่งข้อความหรือไม่
CancelRetrans(void)
void
ยกเลิกกลไกการส่งข้อมูลซ้ำ
Close(void)
void
ปิดบริบทของการแลกเปลี่ยนอย่างสง่างาม
EncodeExchHeader(WeaveExchangeHeader *exchangeHeader, uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags)
เข้ารหัสส่วนหัวของการแลกเปลี่ยนลงในบัฟเฟอร์ข้อความ
GetAutoReleaseKey() const
bool
ส่งคืนว่าควรปล่อยคีย์การเข้ารหัสที่เชื่อมโยงกับ Exchange เมื่อปล่อยคีย์ 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
กำหนดว่าเพียร์ได้ขอตอบรับข้อความอย่างน้อย 1 ข้อความใน Exchange นี้หรือไม่
HasRcvdMsgFromPeer(void) const
bool
กำหนดว่าได้รับข้อความอย่างน้อย 1 รายการในการแลกเปลี่ยนนี้จากเพียร์หรือไม่
IsAckPending(void) const
bool
ตรวจสอบว่ามีข้อความตอบรับที่รอการส่งไปยังเพียร์ใน Exchange นี้หรือไม่
IsConnectionClosed(void) const
bool
ระบุว่า ExchangeContext มี WeaveConnection ที่ใช้งานอยู่และเชื่อมโยงอยู่หรือไม่
IsInitiator(void) const
bool
พิจารณาว่าบริบทเป็นผู้ริเริ่มการแลกเปลี่ยนหรือไม่
IsResponseExpected(void) const
bool
พิจารณาว่าจะมีการการตอบกลับสำหรับข้อความที่ส่งผ่านการแลกเปลี่ยนนี้หรือไม่
Release(void)
void
เผยแพร่การอ้างอิงถึงบริบทของ Exchange นี้
SendCommonNullMessage(void)
ส่งข้อความ Common::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
ตั้งค่าว่าต้องส่งการรับทราบกลับไปให้เพียร์ใน Exchange นี้หรือไม่
SetAutoReleaseKey(bool autoReleaseKey)
void
กำหนดว่าควรปล่อยคีย์การเข้ารหัสที่เชื่อมโยงกับ Exchange เมื่อปล่อยคีย์ Exchange ว่างหรือไม่
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 rebroadcast
TeardownTrickleRetransmit(void)
void
ทำลายกลไกการส่งข้อมูลซ้ำโดยยกเลิกตัวจับเวลาที่เป็นระยะใน Trickle และเพิ่มบัฟเฟอร์ข้อความที่คงข้อความ Weave ไว้
UseEphemeralUDPPort(void) const
bool
ส่งคืนว่าควรส่งข้อความขาออกที่ส่งผ่านการแลกเปลี่ยนหรือไม่ ควรส่งจากพอร์ต UDP ชั่วคราวในเครื่อง
WRMPFlushAcks(void)
WRMPSendDelayedDelivery(uint32_t PauseTimeMillis, uint64_t DelayedNodeId)
ส่งข้อความการนำส่งที่ล่าช้าเพื่อแจ้งให้โหนดของผู้ส่งทราบว่าข้อความที่ส่งก่อนหน้านี้จะพบกับความล่าช้าที่คาดไว้ก่อนจะส่งไปยังผู้รับ
WRMPSendThrottleFlow(uint32_t PauseTimeMillis)
ส่งข้อความขั้นตอนการควบคุมไปยังโหนดเพียร์เพื่อขอให้ควบคุมการส่งข้อความ

ประเภทสาธารณะ

@34

 @34
พร็อพเพอร์ตี้
kSendFlag_AlreadyEncoded

ใช้เพื่อระบุว่าข้อความมีการเข้ารหัสอยู่แล้ว

kSendFlag_AutoRetrans

ใช้เพื่อระบุว่ามีการเปิดใช้การรับส่งข้อมูลอัตโนมัติ

kSendFlag_DefaultMulticastSourceAddress

ใช้เพื่อระบุว่าควรเลือกใช้การเลือกที่อยู่ต้นทาง IPv6 ที่เป็นค่าเริ่มต้นเมื่อส่งข้อความมัลติแคสต์แบบ IPv6

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)

ฟังก์ชันนี้เป็นการเรียกกลับของแอปพลิเคชันที่จะเรียกใช้เมื่อปิดการเชื่อมต่อ 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 ที่มีเปย์โหลดของข้อความ

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 Reliable Messaging Protocol

รายละเอียด
พารามิเตอร์
[in] ec
ตัวชี้ไปยังออบเจ็กต์ ExchangeContext
[in] msgCtxt
ตัวชี้ไปยังออบเจ็กต์บริบทเฉพาะบางอย่างที่เชื่อมโยงกับข้อความต้นฉบับที่มีการรับทราบ

WRMPPauseRcvdFunct

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

ฟังก์ชันนี้เป็นการเรียกกลับของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับข้อความ Throttle หรือข้อความการนำส่งที่ล่าช้าซึ่งเป็นส่วนหนึ่งของ Weave Reliable 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

[อ่านอย่างเดียว] รหัสการแลกเปลี่ยนที่กำหนด

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[อ่านอย่างเดียว] การเป็นเจ้าของผู้จัดการการแลกเปลี่ยน

KeyId

uint16_t KeyId

คีย์การเข้ารหัสที่จะใช้เมื่อส่งข้อความ

OnAckRcvd

WRMPAckRcvdFunct OnAckRcvd

การติดต่อกลับแอปพลิเคชันเพื่อรับการรับทราบ

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnDDRcvd

WRMPPauseRcvdFunct OnDDRcvd

การเรียกกลับของแอปพลิเคชันสำหรับข้อความการนำส่งที่ล่าช้าที่ได้รับ

OnKeyError

KeyErrorFunct OnKeyError

ฟังก์ชันนี้เป็นการเรียกกลับของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับข้อความแสดงข้อผิดพลาดหลักจากเพียร์

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnResponseTimeout

ResponseTimeoutFunct OnResponseTimeout

OnRetransmissionTimeout

RetransmissionTimeoutFunct OnRetransmissionTimeout

OnSendError

WRMPSendErrorFunct OnSendError

การเรียกกลับของแอปพลิเคชันเนื่องจากมีข้อผิดพลาดขณะกำลังส่ง

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
)

เพิ่มตัวนับการอ้างอิงสำหรับบริบทของ Exchange ขึ้น 1 รายการ

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
)

เข้ารหัสส่วนหัวของการแลกเปลี่ยนลงในบัฟเฟอร์ข้อความ

รายละเอียด
พารามิเตอร์
[in] exchangeHeader
ตัวชี้ไปยังออบเจ็กต์ส่วนหัว Weave Exchange
[in] profileId
ตัวระบุโปรไฟล์ของข้อความ Weave ที่จะส่ง
[in] msgType
ประเภทข้อความของโปรไฟล์ที่เกี่ยวข้อง
[in] msgBuf
ตัวชี้ไปยัง PacketBuffer ที่จำเป็นสำหรับข้อความ Weave
[in] sendFlags
แฟล็กที่กำหนดโดยแอปพลิเคชันสำหรับข้อความ Weave ที่ส่ง
แสดงผลค่า
WEAVE_ERROR_BUFFER_TOO_SMALL
หากบัฟเฟอร์ข้อความมีพื้นที่ว่างไม่เพียงพอสำหรับการเข้ารหัสส่วนหัวของการแลกเปลี่ยน
WEAVE_NO_ERROR
หากการเข้ารหัสข้อความสำเร็จ

GetAutoReleaseKey

bool GetAutoReleaseKey() const 

ส่งคืนว่าควรปล่อยคีย์การเข้ารหัสที่เชื่อมโยงกับ Exchange เมื่อปล่อยคีย์ Exchange ว่างหรือไม่

GetCurrentRetransmitTimeout

uint32_t GetCurrentRetransmitTimeout(
  void
)

ดูระยะหมดเวลาในปัจจุบันสำหรับการส่งอีกครั้ง

อาจเป็นการหมดเวลาการส่งครั้งแรกหรือที่ใช้งานอยู่ ทั้งนี้ขึ้นอยู่กับว่า ExchangeContext มีการแลกเปลี่ยนข้อความที่ใช้งานอยู่ซึ่งดำเนินการผ่านเพียร์หรือไม่

รายละเอียด
การส่งคืน
เวลานำส่งในปัจจุบัน

GetPeerDescription

void GetPeerDescription(
  char *buf,
  uint32_t bufSize
) const 

สร้างสตริงที่อธิบายโหนดเพียร์และข้อมูลที่อยู่ / การเชื่อมต่อที่เกี่ยวข้อง

รายละเอียด
พารามิเตอร์
[in] buf
ตัวชี้ไปยังบัฟเฟอร์ที่ควรเขียนสตริง บัฟเฟอร์ที่ให้ไว้ควรมีขนาดใหญ่อย่างน้อยเท่ากับ kGetPeerDescription_MaxLength หากบัฟเฟอร์ที่เล็กกว่านั้น สตริงจะถูกตัดให้พอดี ผลลัพธ์จะมีอักขระสิ้นสุดค่าว่างในทุกกรณี
[in] bufSize
ขนาดของบัฟเฟอร์ที่ชี้ที่ buf

HandleTrickleMessage

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

จัดการกับข้อความที่ไม่ซับซ้อนภายในบริบทของการแลกเปลี่ยน

รายละเอียด
พารามิเตอร์
[in] pktInfo
ตัวชี้ไปยังออบเจ็กต์ IPPacketInfo
[in] msgInfo
ตัวชี้ไปยังโครงสร้างข้อมูลข้อความ Weave

HasPeerRequestedAck

bool HasPeerRequestedAck(
  void
) const 

กำหนดว่าเพียร์ได้ขอตอบรับข้อความอย่างน้อย 1 ข้อความใน Exchange นี้หรือไม่

รายละเอียด
การส่งคืน
แสดงผลเป็น "true" หากมีการขอการรับทราบ มิเช่นนั้น "false"

HasRcvdMsgFromPeer

bool HasRcvdMsgFromPeer(
  void
) const 

กำหนดว่าได้รับข้อความอย่างน้อย 1 รายการในการแลกเปลี่ยนนี้จากเพียร์หรือไม่

รายละเอียด
การส่งคืน
แสดงผลเป็น "จริง" หากได้รับข้อความ ไม่เช่นนั้นจะแสดงค่า "เท็จ"

IsAckPending

bool IsAckPending(
  void
) const 

ตรวจสอบว่ามีข้อความตอบรับที่รอการส่งไปยังเพียร์ใน Exchange นี้หรือไม่

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
)

เผยแพร่การอ้างอิงถึงบริบทของ Exchange นี้

หากนับถอยหลังจนถึง 1 ให้ปิดบริบท รีเซ็ตโค้ดเรียกกลับของแอปพลิเคชันทั้งหมด และหยุดตัวจับเวลาทั้งหมด

SendCommonNullMessage

WEAVE_ERROR SendCommonNullMessage(
  void
)

ส่งข้อความ Common::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
หากมีการส่งต่ออาร์กิวเมนต์ที่ไม่ถูกต้องไปยัง SendMessage API นี้
WEAVE_ERROR_SEND_THROTTLED
หากมีการควบคุมบริบทของการแลกเปลี่ยนนี้เมื่อใช้โปรโตคอลการรับส่งข้อความที่เชื่อถือได้ของ Weave
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
หากพบว่าการดำเนินการส่งที่ระบุไม่ตรงกับเวอร์ชันโปรโตคอลข้อความ Weave ที่รองรับ ตัวอย่างเช่น ระบบจะสร้างข้อผิดพลาดนี้หากระบบพยายามใช้ความหมายของ Weave Reliable Messaging เมื่อเวอร์ชันโปรโตคอลข้อความ Weave เป็น V1
WEAVE_ERROR_NOT_CONNECTED
หากบริบทเชื่อมโยงกับการเชื่อมต่อที่ตอนนี้ปิดไปแล้ว
WEAVE_ERROR_INCORRECT_STATE
หากสถานะของบริบท Exchange ไม่ถูกต้อง
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
หากมีการส่งต่ออาร์กิวเมนต์ที่ไม่ถูกต้องไปยัง SendMessage API นี้
WEAVE_ERROR_SEND_THROTTLED
หากมีการควบคุมบริบทของการแลกเปลี่ยนนี้เมื่อใช้โปรโตคอลการรับส่งข้อความที่เชื่อถือได้ของ Weave
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
หากพบว่าการดำเนินการส่งที่ระบุไม่ตรงกับเวอร์ชันโปรโตคอลข้อความ Weave ที่รองรับ ตัวอย่างเช่น ระบบจะสร้างข้อผิดพลาดนี้หากระบบพยายามใช้ความหมายของ Weave Reliable Messaging เมื่อเวอร์ชันโปรโตคอลข้อความ Weave เป็น V1
WEAVE_ERROR_NOT_CONNECTED
หากบริบทเชื่อมโยงกับการเชื่อมต่อที่ตอนนี้ปิดไปแล้ว
WEAVE_ERROR_INCORRECT_STATE
หากสถานะของบริบท Exchange ไม่ถูกต้อง
WEAVE_NO_ERROR
หากเลเยอร์ Weave ส่งข้อความลงไปยังเลเยอร์เครือข่ายสำเร็จ

SetAckPending

void SetAckPending(
  bool inAckPending
)

ตั้งค่าว่าต้องส่งการรับทราบกลับไปให้เพียร์ใน Exchange นี้หรือไม่

รายละเอียด
พารามิเตอร์
[in] inAckPending
บูลีนที่ระบุว่า (จริง) หรือไม่ (เท็จ) ควรส่งการรับทราบกลับไปในการตอบกลับข้อความที่ได้รับ

SetAutoReleaseKey

void SetAutoReleaseKey(
  bool autoReleaseKey
)

กำหนดว่าควรปล่อยคีย์การเข้ารหัสที่เชื่อมโยงกับ Exchange เมื่อปล่อยคีย์ Exchange ว่างหรือไม่

รายละเอียด
พารามิเตอร์
[in] autoReleaseKey
จริง หากควรปล่อยคีย์การเข้ารหัสข้อความโดยอัตโนมัติ

SetAutoRequestAck

void SetAutoRequestAck(
  bool autoReqAck
)

กําหนดว่าควรขอให้รับทราบเมื่อมีการส่งข้อความหรือไม่

รายละเอียด
พารามิเตอร์
[in] autoReqAck
บูลีนที่ระบุว่าควรขอรับทราบเมื่อมีการส่งข้อความหรือไม่

SetConnectionClosed

void SetConnectionClosed(
  bool inConnectionClosed
)

ตั้งค่าบิตแฟล็ก kFlagConnectionClosed

โดยจะมีการตั้งค่าแฟล็กนี้เมื่อ WeaveConnection ที่เชื่อมโยงกับ ExchangeContext ปิด

รายละเอียด
พารามิเตอร์
[in] inConnectionClosed
บูลีนที่ระบุว่า (จริง) หรือไม่ (เท็จ) บริบทเชื่อมโยงกับการเชื่อมต่อ

SetDropAck

void SetDropAck(
  bool inDropAck
)

กำหนดว่า WeaveExchangeManager ไม่ควรส่งการรับทราบสำหรับบริบทนี้หรือไม่

สำหรับการใช้งานภายใน ใช้แก้ไขข้อบกพร่องเท่านั้น

รายละเอียด
พารามิเตอร์
[in] inDropAck
บูลีนที่ระบุว่า (true) หรือไม่ (false) ไม่ควรส่งการตอบรับสำหรับ Exchange

SetInitiator

void SetInitiator(
  bool inInitiator
)

ตั้งค่าบิตของแฟล็ก kFlagInitiator

การตั้งค่าสถานะนี้โดยโหนดที่เริ่มต้นการแลกเปลี่ยน

รายละเอียด
พารามิเตอร์
[in] inInitiator
บูลีนที่ระบุว่า (จริง) หรือไม่ (เท็จ) บริบทเป็นผู้ริเริ่มการแลกเปลี่ยน

SetMsgRcvdFromPeer

void SetMsgRcvdFromPeer(
  bool inMsgRcvdFromPeer
)

ตั้งค่าว่าได้รับข้อความจากเพียร์ใน Exchange นี้หรือไม่

รายละเอียด
พารามิเตอร์
[in] inMsgRcvdFromPeer
บูลีนที่ระบุว่า (true) หรือไม่ (false) ได้รับข้อความจากเพียร์ในบริบทของ Exchange นี้

SetPeerRequestedAck

void SetPeerRequestedAck(
  bool inPeerRequestedAck
)

ตั้งค่าว่ามีการส่งคำขอรับทราบในข้อความล่าสุดที่ได้รับบนการแลกเปลี่ยนนี้หรือไม่

รายละเอียด
พารามิเตอร์
[in] inPeerRequestedAck
บูลีนที่ระบุว่า (true) หรือไม่ (false) มีการร้องขอให้รับทราบในข้อความที่ได้รับล่าสุด

SetResponseExpected

void SetResponseExpected(
  bool inResponseExpected
)

กำหนดว่าควรจะตอบรับในการแลกเปลี่ยนนี้หรือไม่

รายละเอียด
พารามิเตอร์
[in] inResponseExpected
บูลีนที่ระบุว่า (จริง) จะมีการตอบสนองหรือไม่ (เท็จ) ในการแลกเปลี่ยนนี้

SetShouldAutoReleaseConnection

void SetShouldAutoReleaseConnection(
  bool autoReleaseCon
)

ตั้งค่าว่าควรปล่อยการเชื่อมต่อ Weave ที่เชื่อมโยงกับการแลกเปลี่ยนหรือไม่เมื่อการแลกเปลี่ยนเป็นอิสระ

รายละเอียด
พารามิเตอร์
[in] autoReleaseCon
เป็นจริงหากการเชื่อมต่อ Weave ควรปล่อยโดยอัตโนมัติ

SetupTrickleRetransmit

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

ตั้งค่ากลไกการส่งข้อมูลซ้ำโดยกำหนดช่วงเวลาการส่งซ้ำและเกณฑ์การเผยแพร่ซ้ำ

รายละเอียด
พารามิเตอร์
[in] retransInterval
ช่วงเวลาการส่งของอัลกอริทึม Trickle rebroadcast
[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 rebroadcast

รายละเอียด
การส่งคืน
WEAVE_NO_ERROR หากสำเร็จ แสดงว่า INET_ERROR แมปกับ WEAVE_ERROR

TeardownTrickleRetransmit

void TeardownTrickleRetransmit(
  void
)

ทำลายกลไกการส่งข้อมูลซ้ำโดยยกเลิกตัวจับเวลาที่เป็นระยะใน 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
หากมีการส่งต่ออาร์กิวเมนต์ที่ไม่ถูกต้องไปยัง SendMessage API นี้
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
หากพบว่าการดำเนินการส่งที่ระบุไม่ตรงกับเวอร์ชันโปรโตคอลข้อความ Weave ที่รองรับ ตัวอย่างเช่น ระบบจะสร้างข้อผิดพลาดนี้หากระบบพยายามใช้ความหมายของ Weave Reliable Messaging เมื่อเวอร์ชันโปรโตคอลข้อความ Weave เป็น V1
WEAVE_ERROR_NOT_CONNECTED
หากบริบทเชื่อมโยงกับการเชื่อมต่อที่ตอนนี้ปิดไปแล้ว
WEAVE_ERROR_INCORRECT_STATE
หากสถานะของบริบท Exchange ไม่ถูกต้อง
WEAVE_NO_ERROR
หากเลเยอร์ Weave ส่งข้อความลงไปยังเลเยอร์เครือข่ายสำเร็จ

WRMPSendThrottleFlow

WEAVE_ERROR WRMPSendThrottleFlow(
  uint32_t PauseTimeMillis
)

ส่งข้อความขั้นตอนการควบคุมไปยังโหนดเพียร์เพื่อขอให้ควบคุมการส่งข้อความ

รายละเอียด
พารามิเตอร์
[in] pauseTimeMillis
เวลา (หน่วยเป็นมิลลิวินาที) ที่คาดว่าผู้รับจะควบคุมการส่ง
แสดงผลค่า
WEAVE_ERROR_INVALID_ARGUMENT
หากมีการส่งต่ออาร์กิวเมนต์ที่ไม่ถูกต้องไปยัง SendMessage API นี้
WEAVE_ERROR_SEND_THROTTLED
หากมีการควบคุมบริบทของ Exchange นี้เมื่อใช้โปรโตคอลการรับส่งข้อความที่เชื่อถือได้ของ Weave
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
หากพบว่าการดำเนินการส่งบางรายการไม่ตรงกับเวอร์ชันโปรโตคอลข้อความ Weave ที่รองรับ ตัวอย่างเช่น ระบบจะสร้างข้อผิดพลาดนี้หากระบบพยายามใช้ความหมายของ Weave Reliable Messaging เมื่อเวอร์ชันโปรโตคอลข้อความ Weave เป็น V1
WEAVE_ERROR_NOT_CONNECTED
หากบริบทเชื่อมโยงกับการเชื่อมต่อที่ตอนนี้ปิดไปแล้ว
WEAVE_ERROR_INCORRECT_STATE
หากสถานะของบริบท Exchange ไม่ถูกต้อง
WEAVE_NO_ERROR
หากเลเยอร์ Weave ส่งข้อความลงไปยังเลเยอร์เครือข่ายสำเร็จ