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(*
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่จะเรียกใช้เมื่อปิดการเชื่อมต่อ 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(*
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันสำหรับจัดการข้อความ Weave ที่ได้รับ |
ResponseTimeoutFunct)(ExchangeContext *ec)
|
Typedefvoid(*
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่จะเรียกใช้เมื่อหมดเวลาการรับข้อความตอบกลับ |
RetransmissionTimeoutFunct)(ExchangeContext *ec)
|
Typedefvoid(*
ฟังก์ชันนี้จะเป็น Callback ของแอปพลิเคชันที่จะเรียกใช้เมื่อหมดเวลาในการส่งข้อความที่ส่งก่อนหน้านี้อีกครั้ง |
Timeout
|
Typedefuint32_t
ประเภทที่ใช้เพื่อแสดงระยะหมดเวลาใน ExchangeContext นี้ในหน่วยมิลลิวินาที |
WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt)
|
Typedefvoid(*
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับการตอบรับสำหรับข้อความของ Weave ที่ขอข้อความซึ่งเป็นส่วนหนึ่งของโปรโตคอลการส่งข้อความที่เชื่อถือได้ของ Weave |
WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)
|
Typedefvoid(*
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับข้อความ Throttle หรือข้อความการนำส่งที่ล่าช้าซึ่งเป็นส่วนหนึ่งของ Weave Reliable Messaging Protocol |
WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt)
|
Typedefvoid(*
ฟังก์ชันนี้เป็น 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_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 ที่มีอยู่
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
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)
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันสำหรับจัดการข้อความ Weave ที่ได้รับ
รายละเอียด | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
ResponseTimeoutFunct
void(* ResponseTimeoutFunct)(ExchangeContext *ec)
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่จะเรียกใช้เมื่อหมดเวลาการรับข้อความตอบกลับ
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
RetransmissionTimeoutFunct
void(* RetransmissionTimeoutFunct)(ExchangeContext *ec)
ฟังก์ชันนี้จะเป็น Callback ของแอปพลิเคชันที่จะเรียกใช้เมื่อหมดเวลาในการส่งข้อความที่ส่งก่อนหน้านี้อีกครั้ง
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
WRMPAckRcvdFunct
void(* WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt)
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับการตอบรับสำหรับข้อความของ Weave ที่ขอข้อความซึ่งเป็นส่วนหนึ่งของโปรโตคอลการส่งข้อความที่เชื่อถือได้ของ Weave
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
WRMPPauseRcvdFunct
void(* WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับข้อความ Throttle หรือข้อความการนำส่งที่ล่าช้าซึ่งเป็นส่วนหนึ่งของ Weave Reliable Messaging Protocol
ข้อความแต่ละข้อความมาพร้อมกับค่าเวลา (หน่วยเป็นมิลลิวินาที) ที่บ่งบอกเวลาในการหยุดการส่งข้อความ Weave ใน ExchangeContext นี้ชั่วคราว
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
WRMPSendErrorFunct
void(* WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt)
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่จะเรียกใช้เมื่อพบข้อผิดพลาดขณะส่งข้อความ Weave
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
แอตทริบิวต์สาธารณะ
AllowDuplicateMsgs
bool AllowDuplicateMsgs
ตัวบ่งชี้บูลีนที่ระบุว่าจะอนุญาตให้ใช้ข้อความที่ซ้ำกันในการแลกเปลี่ยนที่ระบุหรือไม่
AppState
void * AppState
ชี้ไปที่ออบเจ็กต์สถานะเฉพาะแอปพลิเคชัน
EncryptionType
uint8_t EncryptionType
ประเภทการเข้ารหัสที่จะใช้เมื่อส่งข้อความ
ExchangeId
uint16_t ExchangeId
[อ่านอย่างเดียว] รหัส Exchange ที่กำหนด
KeyId
uint16_t KeyId
คีย์การเข้ารหัสที่จะใช้เมื่อส่งข้อความ
OnConnectionClosed
ConnectionClosedFunct OnConnectionClosed
OnKeyError
KeyErrorFunct OnKeyError
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับข้อความแสดงข้อผิดพลาดเกี่ยวกับคีย์จากเพียร์
OnMessageReceived
MessageReceiveFunct OnMessageReceived
OnResponseTimeout
ResponseTimeoutFunct OnResponseTimeout
OnRetransmissionTimeout
RetransmissionTimeoutFunct OnRetransmissionTimeout
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 จะปิดใช้การส่งข้อมูลซ้ำ
ฟังก์ชันสาธารณะ
ล้มเลิก
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 ลงในบัฟเฟอร์ข้อความ
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
ผลลัพธ์ |
|
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 )
จัดการข้อความรูปหยดน้ำภายในบริบทของ Exchange
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
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
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
ผลลัพธ์ |
|
SendMessage
WEAVE_ERROR SendMessage( uint32_t profileId, uint8_t msgType, PacketBuffer *msgPayload, uint16_t sendFlags, void *msgCtxt )
ส่งข้อความ Weave บน Exchange นี้
รายละเอียด | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||||
ผลลัพธ์ |
|
SendMessage
WEAVE_ERROR SendMessage( uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags, WeaveMessageInfo *msgInfo, void *msgCtxt )
ส่งข้อความ Weave บน Exchange นี้
รายละเอียด | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||||
ผลลัพธ์ |
|
SetAckPending
void SetAckPending( bool inAckPending )
กำหนดว่าต้องส่งการรับทราบกลับไปยังแอปเทียบเท่าในการแลกเปลี่ยนนี้หรือไม่
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
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 )
กำหนดว่ามีการขอการตอบรับในข้อความล่าสุดที่ได้รับใน Exchange นี้หรือไม่
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetResponseExpected
void SetResponseExpected( bool inResponseExpected )
กำหนดว่าจะคาดหวังการตอบกลับใน Exchange นี้หรือไม่
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
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 ออกด้วยการยกเลิกตัวจับเวลาเป็นระยะภายใน 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 )
ส่งข้อความ Throttle Flow ไปยังโหนดเพียร์เพื่อขอให้ควบคุมปริมาณการส่งข้อความ
รายละเอียด | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||||
ผลลัพธ์ |
|