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
WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime) Typedef
void(*
ฟังก์ชันนี้เป็นการเรียกกลับของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับข้อความควบคุมหรือการส่งข้อความแบบล่าช้า
WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt) Typedef
void(*
ฟังก์ชันนี้เป็นการเรียกกลับแอปพลิเคชันที่จะเรียกใช้เมื่อพบข้อผิดพลาดขณะส่งข้อความ Weave

แอตทริบิวต์สาธารณะ

AllowDuplicateMsgs
bool
ตัวบ่งชี้บูลีนที่ระบุว่าอนุญาตให้ใช้ข้อความซ้ําสําหรับ Exchange หนึ่งๆ หรือไม่
AppState
void *
ชี้ไปที่ออบเจ็กต์สถานะเฉพาะแอปพลิเคชัน
Con
[อ่านอย่างเดียว] การเชื่อมต่อ Weave ที่เกี่ยวข้อง
EncryptionType
uint8_t
ประเภทการเข้ารหัสที่จะใช้เมื่อส่งข้อความ
ExchangeId
uint16_t
[อ่านอย่างเดียว] รหัส Exchange ที่กําหนด
ExchangeMgr
[อ่านอย่างเดียว] เป็นเจ้าของ Ad Exchange
KeyId
uint16_t
คีย์การเข้ารหัสที่จะใช้เมื่อส่งข้อความ
OnAckRcvd
โค้ดเรียกกลับของแอปพลิเคชันเพื่อรับการตอบรับ
OnConnectionClosed
OnDDRcvd
โค้ดเรียกกลับของแอปพลิเคชันสําหรับข้อความการนําส่งล่าช้าที่ได้รับ
OnKeyError
ฟังก์ชันนี้เป็นการเรียกกลับของแอปพลิเคชันเพื่อเรียกใช้เมื่อมีข้อความแสดงข้อผิดพลาดที่สําคัญจากเพื่อน
OnMessageReceived
OnResponseTimeout
OnRetransmissionTimeout
OnSendError
การเรียกกลับของแอปพลิเคชันสําหรับข้อผิดพลาดขณะส่ง
OnThrottleRcvd
โค้ดเรียกกลับของแอปพลิเคชันสําหรับข้อความควบคุมที่ได้รับ
PeerAddr
IPAddress
[อ่านอย่างเดียว] ที่อยู่ IP ของโหนดเพียร์
PeerIntf
InterfaceId
[อ่านอย่างเดียว] อินเทอร์เฟซขาออกที่จะใช้เมื่อส่งข้อความถึงแอปเทียบเท่า
PeerNodeId
uint64_t
[อ่านอย่างเดียว] รหัสโหนดของโหนดเพียร์
PeerPort
uint16_t
[อ่านอย่างเดียว] พอร์ตของโหนดเพียร์
ResponseTimeout
เวลาสูงสุดในการรอการตอบกลับ (หน่วยเป็นมิลลิวินาที) 0 ปิดใช้ระยะหมดเวลาในการตอบกลับ
RetransInterval
uint32_t
เวลาระหว่างการส่งซ้ํา (หน่วยเป็นมิลลิวินาที) 0 ปิดใช้การส่งซ้ํา
mMsgProtocolVersion
uint16_t
เวอร์ชัน Message Protocol สําหรับ ExchangeContext
mWRMPConfig
การกําหนดค่า WRMP

ฟังก์ชันสาธารณะ

Abort(void)
void
ยกเลิกบริบทของ Exchange ทันที และเผยแพร่การอ้างอิงทั้งหมดไปยังบริบทดังกล่าว
AddRef(void)
void
เพิ่มตัวนับข้อมูลอ้างอิงสําหรับบริบทของ Exchange ทีละรายการ
AutoRequestAck() const
bool
แสดงผลว่าจะขอการรับทราบเมื่อส่งข้อความหรือไม่
CancelRetrans(void)
void
ยกเลิกกลไกการส่งซ้ําของ Trickle
Close(void)
void
ปิดบริบทของ Exchange อย่างสง่างาม
EncodeExchHeader(WeaveExchangeHeader *exchangeHeader, uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags)
เข้ารหัสส่วนหัวของ Exchange ลงในบัฟเฟอร์ข้อความ
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
จัดการข้อความที่ไม่เหมาะสมภายในบริบทของ Exchange
HasPeerRequestedAck(void) const
bool
พิจารณาว่ากลุ่มแอปเทียบเท่าต้องการการตอบรับข้อความอย่างน้อย 1 ข้อความใน Exchange นี้หรือไม่
HasRcvdMsgFromPeer(void) const
bool
ตรวจสอบว่า Exchange นี้ได้รับข้อความอย่างน้อย 1 ข้อความจากเพื่อนหรือไม่
IsAckPending(void) const
bool
ระบุว่ามีการตอบรับที่รอการส่งไปยังกลุ่มเดียวกันใน Exchange นี้ไหม
IsConnectionClosed(void) const
bool
ตรวจสอบว่า ExchangeContext มี WeaveConnection ที่ใช้งานอยู่
IsInitiator(void) const
bool
พิจารณาว่าบริบทเป็นผู้เริ่มต้นการแลกเปลี่ยนหรือไม่
IsResponseExpected(void) const
bool
ตรวจสอบแนวโน้มการตอบกลับข้อความที่ส่งจาก Exchange นี้
Release(void)
void
ปล่อยการอ้างอิงบริบทของ Exchange นี้
SendCommonNullMessage(void)
ส่งข้อความ Common::Null
SendMessage(uint32_t profileId, uint8_t msgType, PacketBuffer *msgPayload, uint16_t sendFlags, void *msgCtxt)
ส่งข้อความ Weave ใน Exchange นี้
SendMessage(uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags, WeaveMessageInfo *msgInfo, void *msgCtxt)
ส่งข้อความ Weave ใน Exchange นี้
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
ตั้งค่าว่ามีการขอการยอมรับในข้อความสุดท้ายที่ได้รับใน Exchange นี้หรือไม่
SetResponseExpected(bool inResponseExpected)
void
ตั้งค่าว่าคาดว่าจะได้รับการตอบกลับใน Exchange นี้หรือไม่
SetShouldAutoReleaseConnection(bool autoReleaseCon)
void
กําหนดว่าจะให้มีการปล่อยการเชื่อมต่อ Weave ที่เชื่อมโยงกับ Exchange เมื่อมีพื้นที่ว่าง
SetupTrickleRetransmit(uint32_t retransInterval, uint8_t threshold, uint32_t timeout)
ตั้งค่ากลไกการแพร่สัญญาณแบบละเอียดโดยตั้งค่าช่วงเวลาการส่งสัญญาณที่เกี่ยวข้องและเกณฑ์การเผยแพร่ซ้ํา
ShouldAutoReleaseConnection() const
bool
ส่งคืนว่าการเชื่อมต่อ Weave ที่เชื่อมโยงกับ Exchange ควรถอนตัวเมื่อ Exchange ว่างหรือไม่
ShouldDropAck(void) const
bool
กําหนดว่า WeaveExchangeManager ไม่ควรส่งการตอบรับหรือไม่
StartTimerT(void)
เริ่มอัลกอริทึม Trickle rebroadcast&#39 เป็นระยะๆ
TeardownTrickleRetransmit(void)
void
ทลายกลไกการส่งซ้ําของ Trickle ด้วยการยกเลิกตัวจับเวลาเป็นระยะๆ ภายใน Trickle แล้วทิ้งบัฟเฟอร์ข้อความใน Weave ที่ค้างอยู่
UseEphemeralUDPPort(void) const
bool
ส่งคืนว่าข้อความขาออกที่ส่งผ่าน Exchange ควรจะส่งจากพอร์ต 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

ใช้เพื่อระบุว่าข้อความปัจจุบันเป็นผู้เริ่มต้น 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
ประเภท WEhave_ERROR ที่มีการรายงานเมื่อปิดการเชื่อมต่อ

ข้อผิดพลาดคีย์ข้อผิดพลาด

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

ประเภทฟังก์ชันการจัดการข้อความแสดงข้อผิดพลาดที่สําคัญ

รายละเอียด
พารามิเตอร์
[in] ec
ตัวชี้ไปยังออบเจ็กต์ ExchangeContext
[in] keyErr
ประเภท WEhave_ERROR ที่รายงานในข้อความแสดงข้อผิดพลาดที่สําคัญ

ข้อความที่ได้รับ

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 ที่มีเพย์โหลดของข้อความอยู่

คําตอบหมดเวลา

void(* ResponseTimeoutFunct)(ExchangeContext *ec)

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

รายละเอียด
พารามิเตอร์
[in] ec
ตัวชี้ไปยังออบเจ็กต์ ExchangeContext

การส่งซ้ําหมดเวลา

void(* RetransmissionTimeoutFunct)(ExchangeContext *ec)

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

รายละเอียด
พารามิเตอร์
[in] ec
ตัวชี้ไปยังออบเจ็กต์ ExchangeContext

หมดเวลา

uint32_t Timeout

ประเภทที่ใช้เพื่อแสดงระยะหมดเวลาใน ExchangeContext นี้ในหน่วยมิลลิวินาที

WRMPAckRcvdFunct

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

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

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

WRMPหยุดชั่วคราวRcvdFunct

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

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

ข้อความเหล่านี้แต่ละข้อความจะใช้ร่วมกับค่าเวลา (เป็นมิลลิวินาที) ที่บ่งบอกว่าหยุดการส่งข้อความ Weave ไว้ชั่วคราวใน ExchangeContext

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

WRMPSendErrorFunct

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

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

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

แอตทริบิวต์สาธารณะ

Allowที่ซ้ํากันMsgs

bool AllowDuplicateMsgs

ตัวบ่งชี้บูลีนที่ระบุว่าอนุญาตให้ใช้ข้อความซ้ําสําหรับ Exchange หนึ่งๆ หรือไม่

สถานะแอป

void * AppState

ชี้ไปที่ออบเจ็กต์สถานะเฉพาะแอปพลิเคชัน

ข้อเสีย

WeaveConnection * Con

[อ่านอย่างเดียว] การเชื่อมต่อ Weave ที่เกี่ยวข้อง

ประเภทการเข้ารหัส

uint8_t EncryptionType

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

รหัส Exchange

uint16_t ExchangeId

[อ่านอย่างเดียว] รหัส Exchange ที่กําหนด

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[อ่านอย่างเดียว] เป็นเจ้าของ Ad Exchange

รหัสคีย์

uint16_t KeyId

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

OnAckRcvd

WRMPAckRcvdFunct OnAckRcvd

โค้ดเรียกกลับของแอปพลิเคชันเพื่อรับการตอบรับ

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnDDRcvd

WRMPPauseRcvdFunct OnDDRcvd

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

ข้อผิดพลาด OnKey

KeyErrorFunct OnKeyError

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

ได้รับข้อความแล้ว

MessageReceiveFunct OnMessageReceived

OnResponseTimeout

ResponseTimeoutFunct OnResponseTimeout

OnRettransferTimeout

RetransmissionTimeoutFunct OnRetransmissionTimeout

ข้อผิดพลาด OnSend

WRMPSendErrorFunct OnSendError

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

OnThrottleRcvd

WRMPPauseRcvdFunct OnThrottleRcvd

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

แอปเทียบเท่า

IPAddress PeerAddr

[อ่านอย่างเดียว] ที่อยู่ IP ของโหนดเพียร์

เพื่อนร่วมอาชีพ

InterfaceId PeerIntf

[อ่านอย่างเดียว] อินเทอร์เฟซขาออกที่จะใช้เมื่อส่งข้อความถึงแอปเทียบเท่า

(มีความหมายสําหรับ UDP เท่านั้น)

รหัส PeerNodeId

uint64_t PeerNodeId

[อ่านอย่างเดียว] รหัสโหนดของโหนดเพียร์

พอร์ตเพียร์

uint16_t PeerPort

[อ่านอย่างเดียว] พอร์ตของโหนดเพียร์

หมดเวลาตอบกลับ

Timeout ResponseTimeout

เวลาสูงสุดในการรอการตอบกลับ (หน่วยเป็นมิลลิวินาที) 0 ปิดใช้ระยะหมดเวลาในการตอบกลับ

แบบย้อนกลับ

uint32_t RetransInterval

เวลาระหว่างการส่งซ้ํา (หน่วยเป็นมิลลิวินาที) 0 ปิดใช้การส่งซ้ํา

mMsgProtocolVersion

uint16_t mMsgProtocolVersion

เวอร์ชัน Message Protocol สําหรับ ExchangeContext

mWRMPConfig

WRMPConfig mWRMPConfig

การกําหนดค่า WRMP

ฟังก์ชันสาธารณะ

ล้มเลิก

void Abort(
  void
)

ยกเลิกบริบทของ Exchange ทันที และเผยแพร่การอ้างอิงทั้งหมดไปยังบริบทดังกล่าว

เพิ่มการอ้างอิง

void AddRef(
  void
)

เพิ่มตัวนับข้อมูลอ้างอิงสําหรับบริบทของ Exchange ทีละรายการ

คําขออัตโนมัติ

bool AutoRequestAck() const 

แสดงผลว่าจะขอการรับทราบเมื่อส่งข้อความหรือไม่

ยกเลิก Retrans

void CancelRetrans(
  void
)

ยกเลิกกลไกการส่งซ้ําของ Trickle

ปิด

void Close(
  void
)

ปิดบริบทของ Exchange อย่างสง่างาม

การเรียกนี้ปฏิเสธหมายเลขอ้างอิงและแลกเปลี่ยนการแลกเปลี่ยนเมื่อจํานวนการอ้างอิงเป็น 0

รหัสการเข้ารหัส

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
หากการเข้ารหัสข้อความสําเร็จ

รับคีย์การเผยแพร่อัตโนมัติ

bool GetAutoReleaseKey() const 

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

GetCurrentRetransmitTimeout

uint32_t GetCurrentRetransmitTimeout(
  void
)

รับระยะหมดเวลาของการส่งเงินปัจจุบัน

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

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

คําอธิบาย GetPeer

void GetPeerDescription(
  char *buf,
  uint32_t bufSize
) const 

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

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

แฮนเดิลTrickleMessage

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

จัดการข้อความที่ไม่เหมาะสมภายในบริบทของ Exchange

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

HasPeerRequestAck

bool HasPeerRequestedAck(
  void
) const 

พิจารณาว่ากลุ่มแอปเทียบเท่าต้องการการตอบรับข้อความอย่างน้อย 1 ข้อความใน Exchange นี้หรือไม่

รายละเอียด
การคืนสินค้า
การคืนสินค้า 'true' มีการส่งคําขอรับรอง และ other 'false'

HasRcvdMsgFromPeer

bool HasRcvdMsgFromPeer(
  void
) const 

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

รายละเอียด
การคืนสินค้า
แสดงผล 'true' หากได้รับข้อความ อื่นๆ 'false'

รอดําเนินการ

bool IsAckPending(
  void
) const 

ระบุว่ามีการตอบรับที่รอการส่งไปยังกลุ่มเดียวกันใน Exchange นี้ไหม

IsConnectionClosed

bool IsConnectionClosed(
  void
) const 

ตรวจสอบว่า ExchangeContext มี WeaveConnection ที่ใช้งานอยู่

รายละเอียด
การคืนสินค้า
แสดงผล 'true' หากปิดการเชื่อมต่อ อื่นๆ 'false'

ผู้เริ่ม

bool IsInitiator(
  void
) const 

พิจารณาว่าบริบทเป็นผู้เริ่มต้นการแลกเปลี่ยนหรือไม่

รายละเอียด
การคืนสินค้า
แสดงผล 'true' หากเป็นเครื่องริเริ่ม อื่นๆ 'false'

เป็นการตอบกลับที่คาดไว้

bool IsResponseExpected(
  void
) const 

ตรวจสอบแนวโน้มการตอบกลับข้อความที่ส่งจาก Exchange นี้

รายละเอียด
การคืนสินค้า
แสดงผล 'true' หากคาดว่าจะตอบกลับ อื่นๆ 'false'

เผยแพร่

void Release(
  void
)

ปล่อยการอ้างอิงบริบทของ Exchange นี้

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

ส่ง CommonNullMessage

WEAVE_ERROR SendCommonNullMessage(
  void
)

ส่งข้อความ Common::Null

รายละเอียด
แสดงผลค่า
WEAVE_ERROR_NO_MEMORY
หากไม่มีแพ็กเก็ตบุฟเฟต์
WEAVE_NO_ERROR
หากวิธีการนี้สําเร็จหรือข้อผิดพลาดไม่ได้ร้ายแรง
other
ข้อผิดพลาดร้ายแรงอีกรายการที่แสดงผลโดย SendMessage()

ส่งข้อความ

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

ส่งข้อความ Weave ใน Exchange นี้

รายละเอียด
พารามิเตอร์
[in] profileId
ตัวระบุโปรไฟล์ของข้อความ Weave ที่จะส่ง
[in] msgType
ประเภทข้อความของโปรไฟล์ที่เกี่ยวข้อง
[in] msgBuf
ตัวชี้ไปยังออบเจ็กต์ PacketBuffer ที่มีข้อความ Weave แสดงอยู่
[in] sendFlags
แฟล็กที่กําหนดโดยแอปพลิเคชันสําหรับข้อความ Weave ที่กําลังส่ง
[in] msgCtxt
ตัวชี้ไปยังออบเจ็กต์บริบทเฉพาะแอปพลิเคชันที่เชื่อมโยงกับข้อความที่กําลังส่ง
แสดงผลค่า
WEAVE_ERROR_INVALID_ARGUMENT
เมื่อมีการส่งอาร์กิวเมนต์ที่ไม่ถูกต้องไปยัง SendMessage API นี้
WEAVE_ERROR_SEND_THROTTLED
หากบริบทของ Exchange นี้ถูกควบคุมเมื่อใช้โปรโตคอลการรับส่งข้อความ Weave ที่เชื่อถือได้
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
หากพบว่าข้อมูลการส่งไม่ตรงกับเวอร์ชันโปรโตคอลข้อความ Weave ที่รองรับ เช่น ข้อผิดพลาดนี้จะเกิดขึ้นหากพยายามใช้ความหมายการรับส่งข้อความ Weave ที่เชื่อถือได้เมื่อเวอร์ชันโปรโตคอลข้อความ Weave คือ V1
WEAVE_ERROR_NOT_CONNECTED
บริบทที่เกี่ยวข้องกับการเชื่อมต่อที่ปิดอยู่ในขณะนี้
WEAVE_ERROR_INCORRECT_STATE
หากสถานะของบริบทการแลกเปลี่ยนไม่ถูกต้อง
WEAVE_NO_ERROR
หากเลเยอร์ Weave ส่งข้อความลงไปยังเลเยอร์เครือข่ายได้สําเร็จ

ส่งข้อความ

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

ส่งข้อความ Weave ใน Exchange นี้

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

ตั้งค่า SetAck ที่รอดําเนินการ

void SetAckPending(
  bool inAckPending
)

กําหนดว่าต้องส่งการรับทราบให้กับเพื่อนอีกครั้งใน Exchange นี้

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

ตั้งค่าคีย์การเผยแพร่อัตโนมัติ

void SetAutoReleaseKey(
  bool autoReleaseKey
)

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

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

ตั้งค่าคําขออัตโนมัติ

void SetAutoRequestAck(
  bool autoReqAck
)

ตั้งค่าว่าควรขอการรับทราบเมื่อส่งข้อความหรือไม่

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

ปิดการเชื่อมต่อ

void SetConnectionClosed(
  bool inConnectionClosed
)

ตั้งค่าบิตธง kFlagConnectionClosed

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

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

SetDropAck

void SetDropAck(
  bool inDropAck
)

ตั้งค่าว่า WeaveExchangeManager ไม่ควรส่งการรับทราบสําหรับบริบทนี้

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

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

ผู้เริ่มการตั้งค่า

void SetInitiator(
  bool inInitiator
)

ตั้งค่าบิตธง kFlagInitiator

แฟล็กนี้ได้รับการตั้งค่าโดยโหนดที่เริ่มต้นการแลกเปลี่ยน

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

ชุด MsgRcvdFromPeer

void SetMsgRcvdFromPeer(
  bool inMsgRcvdFromPeer
)

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

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

SetPeerRequestAck

void SetPeerRequestedAck(
  bool inPeerRequestedAck
)

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

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

ตั้งค่าการตอบกลับ

void SetResponseExpected(
  bool inResponseExpected
)

ตั้งค่าว่าคาดว่าจะได้รับการตอบกลับใน Exchange นี้หรือไม่

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

SetShouldAutoReleaseConnection

void SetShouldAutoReleaseConnection(
  bool autoReleaseCon
)

กําหนดว่าจะให้มีการปล่อยการเชื่อมต่อ Weave ที่เชื่อมโยงกับ Exchange เมื่อมีพื้นที่ว่าง

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

SetupTrickleRetransmit

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

ตั้งค่ากลไกการแพร่สัญญาณแบบละเอียดโดยตั้งค่าช่วงเวลาการส่งสัญญาณที่เกี่ยวข้องและเกณฑ์การเผยแพร่ซ้ํา

รายละเอียด
พารามิเตอร์
[in] retransInterval
ช่วงเวลาส่งสัญญาณของอัลกอริทึมการส่งซ้ําของ Trickle
[in] threshold
จํานวนครั้งสูงสุดในการเผยแพร่ข้อความซ้ํา
[in] timeout
ระยะเวลาสูงสุดที่จะรอก่อนยกเลิกตัวจับเวลาการส่งซ้ําของ Trickle
การคืนสินค้า
WEhave_NO_ERROR หากตั้งค่า Trickle สําเร็จ ระบบจะรวม INET_ERROR เป็น WEhave_ERROR

ควรการเผยแพร่การเชื่อมต่ออัตโนมัติ

bool ShouldAutoReleaseConnection() const 

ส่งคืนว่าการเชื่อมต่อ Weave ที่เชื่อมโยงกับ Exchange ควรถอนตัวเมื่อ Exchange ว่างหรือไม่

ควรมี ShoadDropAck

bool ShouldDropAck(
  void
) const 

กําหนดว่า WeaveExchangeManager ไม่ควรส่งการตอบรับหรือไม่

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

เริ่มตัวจับเวลา

WEAVE_ERROR StartTimerT(
  void
)

เริ่มอัลกอริทึม Trickle rebroadcast&#39 เป็นระยะๆ

รายละเอียด
การคืนสินค้า
WEhave_NO_ERROR หากสําเร็จ อีกอันหนึ่งคือ INET_ERROR ที่จับคู่กับ WEhave_ERROR

TeardownTrickleRetransmit

void TeardownTrickleRetransmit(
  void
)

ทลายกลไกการส่งซ้ําของ Trickle ด้วยการยกเลิกตัวจับเวลาเป็นระยะๆ ภายใน Trickle แล้วทิ้งบัฟเฟอร์ข้อความใน Weave ที่ค้างอยู่

ใช้ชั่วคราวUDPPort

bool UseEphemeralUDPPort(
  void
) const 

ส่งคืนว่าข้อความขาออกที่ส่งผ่าน Exchange ควรจะส่งจากพอร์ต UDP ชั่วคราวชั่วคราวหรือไม่

WRMPFlushAcks

WEAVE_ERROR WRMPFlushAcks(
  void
)

การส่งล่าช้า

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 ที่เชื่อถือได้เมื่อเวอร์ชันโปรโตคอลข้อความ Weave คือ V1
WEAVE_ERROR_NOT_CONNECTED
บริบทที่เกี่ยวข้องกับการเชื่อมต่อที่ปิดอยู่ในขณะนี้
WEAVE_ERROR_INCORRECT_STATE
หากสถานะของบริบทการแลกเปลี่ยนไม่ถูกต้อง
WEAVE_NO_ERROR
หากเลเยอร์ Weave ส่งข้อความลงไปยังเลเยอร์เครือข่ายได้สําเร็จ

WRMPSendThrottleFlow

WEAVE_ERROR WRMPSendThrottleFlow(
  uint32_t PauseTimeMillis
)

ส่งข้อความโฟลว์การควบคุมไปยังโหนดเทียบเท่าซึ่งขอให้ส่งการควบคุมการส่งข้อความ

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