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 |
WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)
|
Typedefvoid(*
ฟังก์ชันนี้เป็นการเรียกกลับของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับข้อความควบคุมหรือการส่งข้อความแบบล่าช้า |
WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt)
|
Typedefvoid(*
ฟังก์ชันนี้เป็นการเรียกกลับแอปพลิเคชันที่จะเรียกใช้เมื่อพบข้อผิดพลาดขณะส่งข้อความ 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' เป็นระยะๆ
|
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_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 ที่มีอยู่
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
ข้อผิดพลาดคีย์ข้อผิดพลาด
void(* KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr)
ประเภทฟังก์ชันการจัดการข้อความแสดงข้อผิดพลาดที่สําคัญ
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
ข้อความที่ได้รับ
void(* MessageReceiveFunct)(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
ฟังก์ชันนี้คือการเรียกกลับของแอปพลิเคชันเพื่อจัดการข้อความ Weave ที่ได้รับ
รายละเอียด | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
คําตอบหมดเวลา
void(* ResponseTimeoutFunct)(ExchangeContext *ec)
ฟังก์ชันนี้เป็นการเรียกกลับแอปพลิเคชันที่จะเรียกใช้เมื่อระยะหมดเวลาสําหรับข้อความตอบกลับหมดอายุแล้ว
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
การส่งซ้ําหมดเวลา
void(* RetransmissionTimeoutFunct)(ExchangeContext *ec)
ฟังก์ชันนี้เป็นการเรียกกลับแอปพลิเคชันที่จะเรียกใช้เมื่อระยะหมดเวลาสําหรับการส่งข้อความที่ส่งไปก่อนหน้านี้หมดอายุ
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
WRMPAckRcvdFunct
void(* WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt)
ฟังก์ชันนี้เป็นการเรียกกลับแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับการรับทราบสําหรับข้อความ Weave ที่ขอข้อความหนึ่งให้เป็นส่วนหนึ่งของโปรโตคอลการรับส่งข้อความที่เชื่อถือได้ของ Weave
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
WRMPหยุดชั่วคราวRcvdFunct
void(* WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)
ฟังก์ชันนี้เป็นการเรียกกลับของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับข้อความควบคุมหรือการส่งข้อความแบบล่าช้า
ข้อความเหล่านี้แต่ละข้อความจะใช้ร่วมกับค่าเวลา (เป็นมิลลิวินาที) ที่บ่งบอกว่าหยุดการส่งข้อความ Weave ไว้ชั่วคราวใน ExchangeContext
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
WRMPSendErrorFunct
void(* WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt)
ฟังก์ชันนี้เป็นการเรียกกลับแอปพลิเคชันที่จะเรียกใช้เมื่อพบข้อผิดพลาดขณะส่งข้อความ Weave
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
แอตทริบิวต์สาธารณะ
Allowที่ซ้ํากันMsgs
bool AllowDuplicateMsgs
ตัวบ่งชี้บูลีนที่ระบุว่าอนุญาตให้ใช้ข้อความซ้ําสําหรับ Exchange หนึ่งๆ หรือไม่
สถานะแอป
void * AppState
ชี้ไปที่ออบเจ็กต์สถานะเฉพาะแอปพลิเคชัน
ประเภทการเข้ารหัส
uint8_t EncryptionType
ประเภทการเข้ารหัสที่จะใช้เมื่อส่งข้อความ
รหัส Exchange
uint16_t ExchangeId
[อ่านอย่างเดียว] รหัส Exchange ที่กําหนด
รหัสคีย์
uint16_t KeyId
คีย์การเข้ารหัสที่จะใช้เมื่อส่งข้อความ
OnConnectionClosed
ConnectionClosedFunct OnConnectionClosed
OnDDRcvd
WRMPPauseRcvdFunct OnDDRcvd
โค้ดเรียกกลับของแอปพลิเคชันสําหรับข้อความการนําส่งล่าช้าที่ได้รับ
ข้อผิดพลาด OnKey
KeyErrorFunct OnKeyError
ฟังก์ชันนี้เป็นการเรียกกลับของแอปพลิเคชันเพื่อเรียกใช้เมื่อมีข้อความแสดงข้อผิดพลาดที่สําคัญจากเพื่อน
ได้รับข้อความแล้ว
MessageReceiveFunct OnMessageReceived
OnResponseTimeout
ResponseTimeoutFunct OnResponseTimeout
OnRettransferTimeout
RetransmissionTimeoutFunct OnRetransmissionTimeout
OnThrottleRcvd
WRMPPauseRcvdFunct OnThrottleRcvd
โค้ดเรียกกลับของแอปพลิเคชันสําหรับข้อความควบคุมที่ได้รับ
แอปเทียบเท่า
IPAddress PeerAddr
[อ่านอย่างเดียว] ที่อยู่ IP ของโหนดเพียร์
เพื่อนร่วมอาชีพ
InterfaceId PeerIntf
[อ่านอย่างเดียว] อินเทอร์เฟซขาออกที่จะใช้เมื่อส่งข้อความถึงแอปเทียบเท่า
(มีความหมายสําหรับ UDP เท่านั้น)
รหัส PeerNodeId
uint64_t PeerNodeId
[อ่านอย่างเดียว] รหัสโหนดของโหนดเพียร์
พอร์ตเพียร์
uint16_t PeerPort
[อ่านอย่างเดียว] พอร์ตของโหนดเพียร์
หมดเวลาตอบกลับ
Timeout ResponseTimeout
เวลาสูงสุดในการรอการตอบกลับ (หน่วยเป็นมิลลิวินาที) 0 ปิดใช้ระยะหมดเวลาในการตอบกลับ
แบบย้อนกลับ
uint32_t RetransInterval
เวลาระหว่างการส่งซ้ํา (หน่วยเป็นมิลลิวินาที) 0 ปิดใช้การส่งซ้ํา
ฟังก์ชันสาธารณะ
ล้มเลิก
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 ลงในบัฟเฟอร์ข้อความ
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
แสดงผลค่า |
|
รับคีย์การเผยแพร่อัตโนมัติ
bool GetAutoReleaseKey() const
ส่งคืนว่าควรปล่อยคีย์การเข้ารหัสที่เชื่อมโยงกับ Exchange เมื่อมีการเพิ่มพื้นที่ว่างใน Exchange หรือไม่
GetCurrentRetransmitTimeout
uint32_t GetCurrentRetransmitTimeout( void )
รับระยะหมดเวลาของการส่งเงินปัจจุบัน
โดยอาจเป็นระยะหมดเวลาเริ่มต้นหรือสําหรับการส่งต่อการรับส่งข้อมูลที่ใช้งานอยู่ก็ได้ โดยขึ้นอยู่กับว่า ExchangeContext มีการแลกเปลี่ยนข้อความที่ใช้งานอยู่กับเพียร์หรือไม่
รายละเอียด | |
---|---|
การคืนสินค้า |
เวลาในการส่งข้อมูลปัจจุบัน
|
คําอธิบาย GetPeer
void GetPeerDescription( char *buf, uint32_t bufSize ) const
สร้างสตริงที่อธิบายโหนดเพียร์และข้อมูลที่อยู่ / การเชื่อมต่อที่เกี่ยวข้อง
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
แฮนเดิลTrickleMessage
void HandleTrickleMessage( const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo )
จัดการข้อความที่ไม่เหมาะสมภายในบริบทของ Exchange
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
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 SendMessage( uint32_t profileId, uint8_t msgType, PacketBuffer *msgPayload, uint16_t sendFlags, void *msgCtxt )
ส่งข้อความ Weave ใน Exchange นี้
รายละเอียด | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||||
แสดงผลค่า |
|
ส่งข้อความ
WEAVE_ERROR SendMessage( uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags, WeaveMessageInfo *msgInfo, void *msgCtxt )
ส่งข้อความ Weave ใน Exchange นี้
รายละเอียด | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||||
แสดงผลค่า |
|
ตั้งค่า SetAck ที่รอดําเนินการ
void SetAckPending( bool inAckPending )
กําหนดว่าต้องส่งการรับทราบให้กับเพื่อนอีกครั้งใน Exchange นี้
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
ตั้งค่าคีย์การเผยแพร่อัตโนมัติ
void SetAutoReleaseKey( bool autoReleaseKey )
กําหนดว่าจะให้ปล่อยคีย์การเข้ารหัสที่เชื่อมโยงกับ Exchange เมื่อมีการเพิ่มพื้นที่ว่างใน Exchange หรือไม่
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
ตั้งค่าคําขออัตโนมัติ
void SetAutoRequestAck( bool autoReqAck )
ตั้งค่าว่าควรขอการรับทราบเมื่อส่งข้อความหรือไม่
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
ปิดการเชื่อมต่อ
void SetConnectionClosed( bool inConnectionClosed )
ตั้งค่าบิตธง kFlagConnectionClosed
ระบบจะตั้งค่าสถานะนี้เมื่อมีการปิด WeaveConnection ที่เชื่อมโยงกับ ExchangeContext
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetDropAck
void SetDropAck( bool inDropAck )
ตั้งค่าว่า WeaveExchangeManager ไม่ควรส่งการรับทราบสําหรับบริบทนี้
สําหรับใช้ภายใน ให้แก้ไขข้อบกพร่องเท่านั้น
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
ผู้เริ่มการตั้งค่า
void SetInitiator( bool inInitiator )
ตั้งค่าบิตธง kFlagInitiator
แฟล็กนี้ได้รับการตั้งค่าโดยโหนดที่เริ่มต้นการแลกเปลี่ยน
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
ชุด MsgRcvdFromPeer
void SetMsgRcvdFromPeer( bool inMsgRcvdFromPeer )
ตั้งค่าว่าจะได้รับข้อความจากเพื่อนใน Exchange นี้หรือไม่
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetPeerRequestAck
void SetPeerRequestedAck( bool inPeerRequestedAck )
ตั้งค่าว่ามีการขอการยอมรับในข้อความสุดท้ายที่ได้รับใน Exchange นี้หรือไม่
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
ตั้งค่าการตอบกลับ
void SetResponseExpected( bool inResponseExpected )
ตั้งค่าว่าคาดว่าจะได้รับการตอบกลับใน Exchange นี้หรือไม่
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetShouldAutoReleaseConnection
void SetShouldAutoReleaseConnection( bool autoReleaseCon )
กําหนดว่าจะให้มีการปล่อยการเชื่อมต่อ Weave ที่เชื่อมโยงกับ Exchange เมื่อมีพื้นที่ว่าง
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetupTrickleRetransmit
WEAVE_ERROR SetupTrickleRetransmit( uint32_t retransInterval, uint8_t threshold, uint32_t timeout )
ตั้งค่ากลไกการแพร่สัญญาณแบบละเอียดโดยตั้งค่าช่วงเวลาการส่งสัญญาณที่เกี่ยวข้องและเกณฑ์การเผยแพร่ซ้ํา
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||
การคืนสินค้า |
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' เป็นระยะๆ
รายละเอียด | |
---|---|
การคืนสินค้า |
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 )
ส่งข้อความการนําส่งล่าช้าเพื่อแจ้งโหนดผู้ส่งว่าข้อความที่ส่งไปก่อนหน้าจะเกิดความล่าช้าที่คาดไว้ก่อนส่งถึงผู้รับ
สาเหตุหนึ่งที่ทําให้ข้อความล่าช้าก่อนการนําส่งคือเมื่อโหนดปลายทางของผู้รับสลีป ข้อความนี้อาจสร้างขึ้นด้วยโหนดกลางที่เหมาะสมในเส้นทางการส่งที่มีความรู้เพียงพอของผู้รับในการอนุมานเกี่ยวกับการนําส่งล่าช้า เมื่อได้รับข้อความนี้ ผู้ส่งจะปรับตัวจับเวลาการส่งอีกครั้งสําหรับข้อความที่ต้องการรับทราบ
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
แสดงผลค่า |
|
WRMPSendThrottleFlow
WEAVE_ERROR WRMPSendThrottleFlow( uint32_t PauseTimeMillis )
ส่งข้อความโฟลว์การควบคุมไปยังโหนดเทียบเท่าซึ่งขอให้ส่งการควบคุมการส่งข้อความ
รายละเอียด | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||||
แสดงผลค่า |
|