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(*
ฟังก์ชันนี้เป็น 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(*
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่จะเรียกใช้เมื่อหมดเวลาการรับข้อความตอบกลับ
RetransmissionTimeoutFunct)(ExchangeContext *ec) Typedef
void(*
ฟังก์ชันนี้จะเป็น Callback ของแอปพลิเคชันที่จะเรียกใช้เมื่อหมดเวลาในการส่งข้อความที่ส่งก่อนหน้านี้อีกครั้ง
Timeout Typedef
uint32_t
ประเภทที่ใช้เพื่อแสดงระยะหมดเวลาใน ExchangeContext นี้ในหน่วยมิลลิวินาที
WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt) Typedef
void(*
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับการตอบรับสำหรับข้อความของ Weave ที่ขอข้อความซึ่งเป็นส่วนหนึ่งของโปรโตคอลการส่งข้อความที่เชื่อถือได้ของ Weave
WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime) Typedef
void(*
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับข้อความ Throttle หรือข้อความการนำส่งที่ล่าช้าซึ่งเป็นส่วนหนึ่งของ Weave Reliable Messaging Protocol
WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt) Typedef
void(*
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่จะเรียกใช้เมื่อพบข้อผิดพลาดขณะส่งข้อความ Weave

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

AllowDuplicateMsgs
bool
ตัวบ่งชี้บูลีนที่ระบุว่าจะอนุญาตให้ใช้ข้อความที่ซ้ำกันในการแลกเปลี่ยนที่ระบุหรือไม่
AppState
void *
ชี้ไปที่ออบเจ็กต์สถานะเฉพาะแอปพลิเคชัน
Con
[อ่านอย่างเดียว] การเชื่อมต่อ Weave ที่เกี่ยวข้อง
EncryptionType
uint8_t
ประเภทการเข้ารหัสที่จะใช้เมื่อส่งข้อความ
ExchangeId
uint16_t
[อ่านอย่างเดียว] รหัส Exchange ที่กำหนด
ExchangeMgr
[อ่านอย่างเดียว] การเป็นเจ้าของผู้จัดการ Exchange
KeyId
uint16_t
คีย์การเข้ารหัสที่จะใช้เมื่อส่งข้อความ
OnAckRcvd
โทรกลับไปยังแอปพลิเคชันเพื่อรับทราบแล้ว
OnConnectionClosed
OnDDRcvd
แอปพลิเคชัน Callback สำหรับข้อความการนำส่งที่ล่าช้าที่ได้รับ
OnKeyError
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับข้อความแสดงข้อผิดพลาดเกี่ยวกับคีย์จากเพียร์
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
เพิ่มตัวนับการอ้างอิงสำหรับบริบทการแลกเปลี่ยนทีละ 1 รายการ
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 ควรปล่อยเมื่อ 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
ระบุว่าได้รับข้อความอย่างน้อย 1 ข้อความในการแลกเปลี่ยนนี้จากแอปเทียบเท่าหรือไม่
IsAckPending(void) const
bool
ตรวจสอบว่ามีการรับทราบซึ่งรอการตอบรับไปยังแอปเทียบเท่าใน Exchange นี้แล้วหรือไม่
IsConnectionClosed(void) const
bool
พิจารณาว่า ExchangeContext มี WeaveConnection ที่ใช้งานอยู่ที่เชื่อมโยงหรือไม่
IsInitiator(void) const
bool
พิจารณาว่าบริบทเป็นตัวเริ่มการแลกเปลี่ยนหรือไม่
IsResponseExpected(void) const
bool
กำหนดว่าจะคาดหวังการตอบกลับสำหรับข้อความที่ส่งผ่าน Exchange นี้หรือไม่
Release(void)
void
โปรดเผยแพร่การอ้างอิงถึงบริบทของการแลกเปลี่ยนนี้
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
กำหนดว่าต้องส่งการรับทราบกลับไปยังแอปเทียบเท่าในการแลกเปลี่ยนนี้หรือไม่
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 ที่เชื่อมโยงกับการแลกเปลี่ยนหรือไม่เมื่อการแลกเปลี่ยนเป็นอิสระ
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 ออกด้วยการยกเลิกตัวจับเวลาเป็นระยะภายใน Trickle แล้วทำให้บัฟเฟอร์ข้อความที่ติดอยู่ของ Weave หมดลง
UseEphemeralUDPPort(void) const
bool
แสดงผลว่าข้อความขาออกที่ส่งผ่านการแลกเปลี่ยนควรส่งจากพอร์ต UDP ชั่วคราวในเครื่องหรือไม่
WRMPFlushAcks(void)
WRMPSendDelayedDelivery(uint32_t PauseTimeMillis, uint64_t DelayedNodeId)
ส่งข้อความการนำส่งที่ล่าช้าเพื่อแจ้งโหนดผู้ส่งว่าข้อความที่ส่งก่อนหน้านี้จะเกิดความล่าช้าที่คาดไว้ก่อนที่จะส่งไปยังผู้รับ
WRMPSendThrottleFlow(uint32_t PauseTimeMillis)
ส่งข้อความ Throttle Flow ไปยังโหนดเพียร์เพื่อขอให้ควบคุมปริมาณการส่งข้อความ

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

@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)

ฟังก์ชันนี้เป็น 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 ที่มีเพย์โหลดของข้อความ

ResponseTimeoutFunct

void(* ResponseTimeoutFunct)(ExchangeContext *ec)

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

รายละเอียด
พารามิเตอร์
[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

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

WRMPPauseRcvdFunct

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

ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับข้อความ Throttle หรือข้อความการนำส่งที่ล่าช้าซึ่งเป็นส่วนหนึ่งของ Weave Reliable Messaging Protocol

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

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

WRMPSendErrorFunct

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

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

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

OnKeyError

KeyErrorFunct OnKeyError

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

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnResponseTimeout

ResponseTimeoutFunct OnResponseTimeout

OnRetransmissionTimeout

RetransmissionTimeoutFunct OnRetransmissionTimeout

OnSendError

WRMPSendErrorFunct OnSendError

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

OnThrottleRcvd

WRMPPauseRcvdFunct OnThrottleRcvd

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

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

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

mWRMPConfig

WRMPConfig mWRMPConfig

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

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

ล้มเลิก

void Abort(
  void
)

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

AddRef

void AddRef(
  void
)

เพิ่มตัวนับการอ้างอิงสำหรับบริบทการแลกเปลี่ยนทีละ 1 รายการ

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 ควรปล่อยเมื่อ Exchange ว่างหรือไม่

GetCurrentRetransmitTimeout

uint32_t GetCurrentRetransmitTimeout(
  void
)

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

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

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

GetPeerDescription

void GetPeerDescription(
  char *buf,
  uint32_t bufSize
) const 

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

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

HandleTrickleMessage

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

จัดการข้อความรูปหยดน้ำภายในบริบทของ Exchange

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

HasPeerRequestedAck

bool HasPeerRequestedAck(
  void
) const 

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

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

HasRcvdMsgFromPeer

bool HasRcvdMsgFromPeer(
  void
) const 

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

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

IsAckPending

bool IsAckPending(
  void
) const 

ตรวจสอบว่ามีการรับทราบซึ่งรอการตอบรับไปยังแอปเทียบเท่าใน Exchange นี้แล้วหรือไม่

IsConnectionClosed

bool IsConnectionClosed(
  void
) const 

พิจารณาว่า ExchangeContext มี WeaveConnection ที่ใช้งานอยู่ที่เชื่อมโยงหรือไม่

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

IsInitiator

bool IsInitiator(
  void
) const 

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

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

IsResponseExpected

bool IsResponseExpected(
  void
) const 

กำหนดว่าจะคาดหวังการตอบกลับสำหรับข้อความที่ส่งผ่าน Exchange นี้หรือไม่

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

เผยแพร่

void Release(
  void
)

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

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

SetAckPending

void SetAckPending(
  bool inAckPending
)

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

รายละเอียด
พารามิเตอร์
[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
บูลีนที่ระบุว่า (จริง) หรือไม่ (เท็จ) ไม่ควรส่งการตอบรับสำหรับ Exchange

SetInitiator

void SetInitiator(
  bool inInitiator
)

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

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

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

SetMsgRcvdFromPeer

void SetMsgRcvdFromPeer(
  bool inMsgRcvdFromPeer
)

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

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

SetPeerRequestedAck

void SetPeerRequestedAck(
  bool inPeerRequestedAck
)

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

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

SetResponseExpected

void SetResponseExpected(
  bool inResponseExpected
)

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

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

WRMPSendThrottleFlow

WEAVE_ERROR WRMPSendThrottleFlow(
  uint32_t PauseTimeMillis
)

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

รายละเอียด
พารามิเตอร์
[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 ส่งข้อความลงไปยังเลเยอร์เครือข่ายสำเร็จ