nl:: Weave:: ExchangeContext
#include <src/lib/core/WeaveExchangeMgr.h>
คลาสนี้แสดงการสนทนาที่ดำเนินอยู่ (ExchangeContext) ระหว่าง 2 โหนดขึ้นไป
สรุป
โดยจะกำหนดวิธีการเข้ารหัสและสื่อสารข้อความ Weave ภายใน ExchangeContext ผ่านกลไกการส่งต่างๆ เช่น TCP, UDP หรือ Weave Reliable Messaging
ประเภทสาธารณะ |
|
---|---|
@34{
|
enum |
@35{
|
enum |
ConnectionClosedFunct)(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr)
|
typedefvoid(*
ฟังก์ชันนี้เป็นการเรียกกลับของแอปพลิเคชันที่จะเรียกใช้เมื่อปิดการเชื่อมต่อ Weave ที่มีอยู่ |
KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr)
|
typedefvoid(*
ประเภทของฟังก์ชันการจัดการข้อความแสดงข้อผิดพลาดที่สำคัญ |
MessageReceiveFunct)(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
|
typedefvoid(*
ฟังก์ชันนี้คือโค้ดเรียกกลับของแอปพลิเคชันสำหรับการจัดการข้อความ Weave ที่ได้รับ |
ResponseTimeoutFunct)(ExchangeContext *ec)
|
typedefvoid(*
ฟังก์ชันนี้เป็นโค้ดเรียกกลับของแอปพลิเคชันที่จะเรียกใช้เมื่อหมดเวลาสำหรับการรับข้อความตอบกลับ |
RetransmissionTimeoutFunct)(ExchangeContext *ec)
|
typedefvoid(*
ฟังก์ชันนี้เป็นการเรียกกลับของแอปพลิเคชันที่จะเรียกใช้เมื่อระยะหมดเวลาของการส่งข้อความที่ส่งก่อนหน้านี้หมดอายุแล้ว |
Timeout
|
typedefuint32_t
ประเภทที่ใช้เพื่อแสดงระยะหมดเวลาใน ExchangeContext นี้ในหน่วยมิลลิวินาที |
WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt)
|
typedefvoid(*
ฟังก์ชันนี้เป็นการติดต่อกลับของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับการตอบรับสำหรับข้อความ Weave ที่ขอโดยเป็นส่วนหนึ่งของ Weave Reliable Messaging Protocol |
WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)
|
typedefvoid(*
ฟังก์ชันนี้เป็นการเรียกกลับของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับข้อความ Throttle หรือข้อความการนำส่งที่ล่าช้าซึ่งเป็นส่วนหนึ่งของ Weave Reliable Messaging Protocol |
WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt)
|
typedefvoid(*
ฟังก์ชันนี้เป็นโค้ดเรียกกลับของแอปพลิเคชันที่จะเรียกใช้เมื่อพบข้อผิดพลาดขณะส่งข้อความ 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_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 ที่มีอยู่
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
KeyErrorFunct
void(* KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr)
ประเภทของฟังก์ชันการจัดการข้อความแสดงข้อผิดพลาดที่สำคัญ
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
MessageReceiveFunct
void(* MessageReceiveFunct)(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
ฟังก์ชันนี้คือโค้ดเรียกกลับของแอปพลิเคชันสำหรับการจัดการข้อความ Weave ที่ได้รับ
รายละเอียด | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
ResponseTimeoutFunct
void(* ResponseTimeoutFunct)(ExchangeContext *ec)
ฟังก์ชันนี้เป็นโค้ดเรียกกลับของแอปพลิเคชันที่จะเรียกใช้เมื่อหมดเวลาสำหรับการรับข้อความตอบกลับ
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
RetransmissionTimeoutFunct
void(* RetransmissionTimeoutFunct)(ExchangeContext *ec)
ฟังก์ชันนี้เป็นการเรียกกลับของแอปพลิเคชันที่จะเรียกใช้เมื่อระยะหมดเวลาของการส่งข้อความที่ส่งก่อนหน้านี้หมดอายุแล้ว
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
WRMPAckRcvdFunct
void(* WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt)
ฟังก์ชันนี้เป็นการติดต่อกลับของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับการตอบรับสำหรับข้อความ Weave ที่ขอโดยเป็นส่วนหนึ่งของ Weave Reliable Messaging Protocol
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
WRMPPauseRcvdFunct
void(* WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)
ฟังก์ชันนี้เป็นการเรียกกลับของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับข้อความ Throttle หรือข้อความการนำส่งที่ล่าช้าซึ่งเป็นส่วนหนึ่งของ Weave Reliable Messaging Protocol
โดยแต่ละข้อความจะมีค่าเวลา (หน่วยเป็นมิลลิวินาที) ซึ่งบอกถึงเวลาที่จะหยุดส่งข้อความ Weave ใน ExchangeContext นี้ชั่วคราว
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
WRMPSendErrorFunct
void(* WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt)
ฟังก์ชันนี้เป็นโค้ดเรียกกลับของแอปพลิเคชันที่จะเรียกใช้เมื่อพบข้อผิดพลาดขณะส่งข้อความ Weave
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
แอตทริบิวต์สาธารณะ
AllowDuplicateMsgs
bool AllowDuplicateMsgs
ตัวบ่งชี้บูลีนของกำหนดว่าข้อความที่ซ้ำกันได้รับอนุญาตสำหรับการแลกเปลี่ยนที่ระบุหรือไม่
AppState
void * AppState
ชี้ไปที่ออบเจ็กต์สถานะเฉพาะแอปพลิเคชัน
EncryptionType
uint8_t EncryptionType
ประเภทการเข้ารหัสที่จะใช้เมื่อส่งข้อความ
ExchangeId
uint16_t ExchangeId
[อ่านอย่างเดียว] รหัสการแลกเปลี่ยนที่กำหนด
ExchangeMgr
WeaveExchangeManager * ExchangeMgr
[อ่านอย่างเดียว] การเป็นเจ้าของผู้จัดการการแลกเปลี่ยน
KeyId
uint16_t KeyId
คีย์การเข้ารหัสที่จะใช้เมื่อส่งข้อความ
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 จะปิดใช้งานการส่งซ้ำ
ฟังก์ชันสาธารณะ
ล้มเลิก
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 )
เข้ารหัสส่วนหัวของการแลกเปลี่ยนลงในบัฟเฟอร์ข้อความ
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
แสดงผลค่า |
|
GetAutoReleaseKey
bool GetAutoReleaseKey() const
ส่งคืนว่าควรปล่อยคีย์การเข้ารหัสที่เชื่อมโยงกับ Exchange เมื่อปล่อยคีย์ Exchange ว่างหรือไม่
GetCurrentRetransmitTimeout
uint32_t GetCurrentRetransmitTimeout( void )
ดูระยะหมดเวลาในปัจจุบันสำหรับการส่งอีกครั้ง
อาจเป็นการหมดเวลาการส่งครั้งแรกหรือที่ใช้งานอยู่ ทั้งนี้ขึ้นอยู่กับว่า ExchangeContext มีการแลกเปลี่ยนข้อความที่ใช้งานอยู่ซึ่งดำเนินการผ่านเพียร์หรือไม่
รายละเอียด | |
---|---|
การส่งคืน |
เวลานำส่งในปัจจุบัน
|
GetPeerDescription
void GetPeerDescription( char *buf, uint32_t bufSize ) const
สร้างสตริงที่อธิบายโหนดเพียร์และข้อมูลที่อยู่ / การเชื่อมต่อที่เกี่ยวข้อง
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
HandleTrickleMessage
void HandleTrickleMessage( const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo )
จัดการกับข้อความที่ไม่ซับซ้อนภายในบริบทของการแลกเปลี่ยน
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
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
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
แสดงผลค่า |
|
SendMessage
WEAVE_ERROR SendMessage( uint32_t profileId, uint8_t msgType, PacketBuffer *msgPayload, uint16_t sendFlags, void *msgCtxt )
ส่งข้อความ Weave ในการแลกเปลี่ยนนี้
รายละเอียด | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||||
แสดงผลค่า |
|
SendMessage
WEAVE_ERROR SendMessage( uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags, WeaveMessageInfo *msgInfo, void *msgCtxt )
ส่งข้อความ Weave ในการแลกเปลี่ยนนี้
รายละเอียด | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||||
แสดงผลค่า |
|
SetAckPending
void SetAckPending( bool inAckPending )
ตั้งค่าว่าต้องส่งการรับทราบกลับไปให้เพียร์ใน Exchange นี้หรือไม่
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetAutoReleaseKey
void SetAutoReleaseKey( bool autoReleaseKey )
กำหนดว่าควรปล่อยคีย์การเข้ารหัสที่เชื่อมโยงกับ Exchange เมื่อปล่อยคีย์ Exchange ว่างหรือไม่
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetAutoRequestAck
void SetAutoRequestAck( bool autoReqAck )
กําหนดว่าควรขอให้รับทราบเมื่อมีการส่งข้อความหรือไม่
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetConnectionClosed
void SetConnectionClosed( bool inConnectionClosed )
ตั้งค่าบิตแฟล็ก kFlagConnectionClosed
โดยจะมีการตั้งค่าแฟล็กนี้เมื่อ WeaveConnection ที่เชื่อมโยงกับ ExchangeContext ปิด
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetDropAck
void SetDropAck( bool inDropAck )
กำหนดว่า WeaveExchangeManager ไม่ควรส่งการรับทราบสำหรับบริบทนี้หรือไม่
สำหรับการใช้งานภายใน ใช้แก้ไขข้อบกพร่องเท่านั้น
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetInitiator
void SetInitiator( bool inInitiator )
ตั้งค่าบิตของแฟล็ก kFlagInitiator
การตั้งค่าสถานะนี้โดยโหนดที่เริ่มต้นการแลกเปลี่ยน
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetMsgRcvdFromPeer
void SetMsgRcvdFromPeer( bool inMsgRcvdFromPeer )
ตั้งค่าว่าได้รับข้อความจากเพียร์ใน Exchange นี้หรือไม่
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetPeerRequestedAck
void SetPeerRequestedAck( bool inPeerRequestedAck )
ตั้งค่าว่ามีการส่งคำขอรับทราบในข้อความล่าสุดที่ได้รับบนการแลกเปลี่ยนนี้หรือไม่
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetResponseExpected
void SetResponseExpected( bool inResponseExpected )
กำหนดว่าควรจะตอบรับในการแลกเปลี่ยนนี้หรือไม่
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetShouldAutoReleaseConnection
void SetShouldAutoReleaseConnection( bool autoReleaseCon )
ตั้งค่าว่าควรปล่อยการเชื่อมต่อ Weave ที่เชื่อมโยงกับการแลกเปลี่ยนหรือไม่เมื่อการแลกเปลี่ยนเป็นอิสระ
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetupTrickleRetransmit
WEAVE_ERROR SetupTrickleRetransmit( uint32_t retransInterval, uint8_t threshold, uint32_t timeout )
ตั้งค่ากลไกการส่งข้อมูลซ้ำโดยกำหนดช่วงเวลาการส่งซ้ำและเกณฑ์การเผยแพร่ซ้ำ
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
การส่งคืน |
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 )
ส่งข้อความการนำส่งที่ล่าช้าเพื่อแจ้งให้โหนดของผู้ส่งทราบว่าข้อความที่ส่งก่อนหน้านี้จะพบกับความล่าช้าที่คาดไว้ก่อนจะส่งไปยังผู้รับ
สาเหตุหนึ่งที่เป็นไปได้ที่ทำให้ข้อความล่าช้าก่อนส่งคือเมื่อโหนดปลายทางของผู้รับมีสถานะง่วง ข้อความนี้อาจสร้างขึ้นโดยโหนดระดับกลางที่เหมาะสมในเส้นทางการส่งและมีความรู้ของผู้รับเพียงพอที่จะอนุมานเกี่ยวกับการนำส่งที่ล่าช้าได้ เมื่อได้รับข้อความนี้ ผู้ส่งจะปรับตัวจับเวลาการส่งอีกครั้งสำหรับข้อความที่ขอการตอบรับ
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
แสดงผลค่า |
|
WRMPSendThrottleFlow
WEAVE_ERROR WRMPSendThrottleFlow( uint32_t PauseTimeMillis )
ส่งข้อความขั้นตอนการควบคุมไปยังโหนดเพียร์เพื่อขอให้ควบคุมการส่งข้อความ
รายละเอียด | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||||
แสดงผลค่า |
|