nl:: Weave:: Binding
#include <src/lib/core/WeaveBinding.h>
บันทึกเป้าหมายที่ต้องการของการสื่อสารของ Weave และข้อมูลการกำหนดค่าที่เกี่ยวข้อง
สรุป
ออบเจ็กต์ การเชื่อมโยง จะระบุเป้าหมายที่มุ่งหวังของการสื่อสารของ Weave (หรือที่เรียกว่า "เพียร์") พร้อมกับชุดพารามิเตอร์การกำหนดค่าที่อธิบายวิธีการสื่อสารกับเพียร์ การเชื่อมโยงจะไม่ขึ้นอยู่กับโปรโตคอลของแอปพลิเคชันที่ทั้ง 2 ฝ่ายพูด ดังนั้น พวกเขาจะจับข้อมูล "ใคร" และ "วิธีการ" ของการสื่อสาร แต่ไม่บอกถึง "อะไร"
แอปพลิเคชันต้องกำหนดค่าการเชื่อมโยงด้วยพารามิเตอร์ที่เจาะจงกับประเภทช่องทางการสื่อสารที่ต้องการ การเชื่อมโยงรองรับการรับส่งข้อมูลเครือข่ายที่หลากหลาย ทั้ง TCP, UDP, UDP ที่มาพร้อม Weave Reliable Messaging และ Weave over BLE (WoBLE) แอปพลิเคชันยังสามารถขอใช้กลไกการรักษาความปลอดภัยที่เฉพาะเจาะจงเพื่อปกป้องข้อความที่ส่งระหว่างฝ่ายต่างๆ ได้ด้วย ซึ่งประกอบด้วยเซสชัน CASE และ PASE และคีย์กลุ่มแอปพลิเคชัน อินเทอร์เฟซสำหรับการกำหนดค่าการเชื่อมโยงใช้รูปแบบ API แบบประกาศ ซึ่งช่วยให้แอปพลิเคชันระบุข้อกำหนดสำหรับการสื่อสารด้วยคำง่ายๆ
โปรดดูรายละเอียดเพิ่มเติมในเอกสารประกอบเกี่ยวกับ Binding::Configuration
การเตรียมพร้อม
ก่อนมีการสื่อสาร คุณต้อง "เตรียมการ" การเชื่อมโยง การเตรียมการผูกจะเกี่ยวข้องกับการกำหนดสถานะที่จำเป็นต่อการสื่อสาร ซึ่งอาจรวมถึงการแก้ไขที่อยู่เครือข่ายของเพียร์ การสร้างการเชื่อมต่อเครือข่าย และการเจรจาเกี่ยวกับคีย์ความปลอดภัย เมื่อแอปพลิเคชันกำหนดค่าแล้ว การเชื่อมโยง จะดูแลขั้นตอนทั้งหมดที่จำเป็นในการเตรียมพร้อมสำหรับการสื่อสาร โดยจะโทรกลับไปยังแอปพลิเคชันเมื่อกระบวนการเสร็จสมบูรณ์ ด้วยวิธีนี้ การผูกจะซ่อนกลไกการสื่อสารที่ทำให้แอปพลิเคชันจดจ่อกับการโต้ตอบในระดับสูง
การสื่อสาร
เมื่อเตรียม การเชื่อมโยง เรียบร้อยแล้ว ก็จะพร้อมใช้งาน ในสถานะนี้ แอปพลิเคชัน (หรือโดยทั่วไปคือโค้ดเลเยอร์โปรโตคอลที่ทำงานในนามของแอปพลิเคชัน) จะขอการเชื่อมโยงเพื่อจัดสรรบริบทของการซื้อขาย Weave บริบทของการแลกเปลี่ยนผลลัพธ์จะมีการกำหนดค่าไว้ล่วงหน้าสำหรับการสื่อสาร ซึ่งทำให้แอปพลิเคชันเริ่มต้นการแลกเปลี่ยน Weave กับแอปเทียบเท่าได้ทันที แอปพลิเคชันยังคงขอบริบทการแลกเปลี่ยนจากการเชื่อมโยงต่อไปได้จนกว่าการเชื่อมโยงจะปิดลง หรือบางเหตุการณ์ เช่น เครือข่ายล้มเหลว จะสิ้นสุดช่องทางการสื่อสารที่ใช้งานอยู่
การเปลี่ยนแปลงสถานะการเชื่อมโยง
ระหว่างการใช้งาน การเชื่อมโยงจะส่งเหตุการณ์ API ไปยังแอปพลิเคชันเพื่อแจ้งให้ทราบถึงการเปลี่ยนแปลงในสถานะของการเชื่อมโยง เช่น เมื่อเตรียมการสำเร็จ แอปพลิเคชันจะได้รับเหตุการณ์ที่แจ้งว่าการเชื่อมโยงพร้อมใช้งานแล้ว ในทำนองเดียวกัน หากช่องทางการสื่อสารที่สำคัญไม่สำเร็จ ระบบจะส่งเหตุการณ์ไปยังแอปพลิเคชันเพื่อแจ้งว่าการเชื่อมโยงไม่อยู่ในสถานะพร้อมใช้งานอีกต่อไป
ระบบจะส่งเหตุการณ์ API ไปยังแอปพลิเคชันผ่านฟังก์ชันเรียกกลับของเหตุการณ์ที่ให้ไว้เมื่อมีการจัดสรร การเชื่อมโยง
การเชื่อมโยงตลอดอายุการใช้งาน
การเชื่อมโยงจะนับการอ้างอิงเพื่อให้ใช้งานได้ในองค์ประกอบของซอฟต์แวร์หลายรายการ เมื่อจัดสรรการเชื่อมโยง ระบบจะสร้างการอ้างอิงไปยังการเชื่อมโยง 1 รายการ แอปพลิเคชันมีหน้าที่รับผิดชอบในการเผยแพร่ข้อมูลอ้างอิงนี้ในอนาคตเพื่อให้สามารถใช้การเชื่อมโยงซ้ำได้ฟรีในภายหลัง
เมื่อแอปพลิเคชันใช้งานการเชื่อมโยงเสร็จแล้ว อาจเรียก Close() ในการเชื่อมโยง การดำเนินการนี้จะปล่อยการอ้างอิงของแอปพลิเคชันไปยังการเชื่อมโยง และบล็อกการส่งเหตุการณ์ API เพิ่มเติมทั้งหมด เมื่อมีการปล่อยการอ้างอิงสุดท้ายไปยังการเชื่อมโยง ระบบจะปิดการอ้างอิงนั้นโดยอัตโนมัติ
ประเภทสาธารณะ |
|
---|---|
@23{
|
enum |
EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
|
typedefvoid(*
|
EventType{
|
enum |
State
|
enum |
แอตทริบิวต์สาธารณะ |
|
---|---|
AppState
|
void *
|
ฟังก์ชันสาธารณะ |
|
---|---|
AddRef(void)
|
void
สำรองการอ้างอิงไปยังออบเจ็กต์การเชื่อมโยง
|
AdjustResponseTimeout(ExchangeContext *apExchangeContext) const
|
กำหนดค่าบริบท Exchange ที่มีอยู่อีกครั้งเพื่อปรับระยะหมดเวลาการตอบกลับ
|
AllocateRightSizedBuffer(PacketBuffer *& buf, const uint32_t desiredSize, const uint32_t minSize, uint32_t & outMaxPayloadSize)
|
|
BeginConfiguration()
|
กระบวนการกำหนดค่าการเชื่อมโยง
|
CanBePrepared(void) const
|
bool
|
Close(void)
|
void
ปิดออบเจ็กต์การเชื่อมโยงแล้วปล่อยการอ้างอิง
|
GetConnection() const
|
รับออบเจ็กต์การเชื่อมต่อ Weave ที่เชื่อมโยงกับการเชื่อมโยง
|
GetDefaultResponseTimeout() const
|
uint32_t
รับระยะหมดเวลาการตอบกลับเริ่มต้นของ Exchange ที่จะใช้เมื่อสื่อสารกับเพียร์
|
GetDefaultWRMPConfig(void) const
|
const WRMPConfig &
รับการกำหนดค่า WRMP เริ่มต้นที่จะใช้เมื่อสื่อสารกับเพียร์
|
GetEncryptionType(void) const
|
uint8_t
เรียกข้อมูลประเภทการเข้ารหัสข้อความที่จะใช้เมื่อเข้ารหัสข้อความไปยัง/จากเพียร์
|
GetEventCallback() const
|
EventCallback
รับฟังก์ชันที่จะเรียกใช้เมื่อเกิดเหตุการณ์ API สำหรับการเชื่อมโยง
|
GetExchangeManager() const
|
|
GetKeyId(void) const
|
uint32_t
เรียกดูรหัสของคีย์การเข้ารหัสข้อความที่จะใช้เมื่อเข้ารหัสข้อความไปยัง/จากไปยังเพียร์
|
GetLogId(void) const
|
uint16_t
รับรหัสที่ไม่ซ้ำกันสำหรับการเชื่อมโยง
|
GetMaxWeavePayloadSize(const System::PacketBuffer *msgBuf)
|
uint32_t
รับขนาดเพย์โหลด Weave สูงสุดซึ่งพอดีกับ PacketBuffer ที่กำหนด
|
GetPeerDescription(char *buf, uint32_t bufSize) const
|
void
สร้างสตริงที่อธิบายโหนดเพียร์และข้อมูลที่อยู่ / การเชื่อมต่อที่เกี่ยวข้อง
|
GetPeerIPAddress(nl::Inet::IPAddress & address, uint16_t & port, InterfaceId & interfaceId) const
|
void
ดึงข้อมูลที่อยู่ IP ของแอปเทียบเท่า (หากมี)
|
GetPeerNodeId(void) const
|
uint64_t
ดึงข้อมูลรหัสโหนดของเพียร์การเชื่อมโยง
|
GetProtocolLayerCallback(EventCallback & callback, void *& state) const
|
void
|
GetState(void) const
|
State
ดึงข้อมูลสถานะปัจจุบันของการเชื่อมโยง
|
IsAuthenticMessageFromPeer(const WeaveMessageInfo *msgInfo)
|
bool
พิจารณาว่าข้อความขาเข้าบางรายการมาจากเพียร์ที่กำหนดค่าไว้และผ่านการตรวจสอบสิทธิ์อย่างเหมาะสมหรือไม่
|
IsConnectionTransport() const
|
bool
|
IsPreparing(void) const
|
bool
|
IsReady(void) const
|
bool
|
IsUDPTransport() const
|
bool
|
IsUnreliableUDPTransport() const
|
bool
|
IsWRMTransport() const
|
bool
|
NewExchangeContext(ExchangeContext *& appExchangeContext)
|
จัดสรรบริบทของ Exchange ใหม่สำหรับสื่อสารกับเพียร์ที่เป็นเป้าหมายของการเชื่อมโยง
|
Release(void)
|
void
ปล่อยการอ้างอิงไปยังออบเจ็กต์การเชื่อมโยง
|
RequestPrepare()
|
ขอให้แอปพลิเคชันกำหนดค่าและเตรียมการเชื่อมโยง
|
Reset(void)
|
void
รีเซ็ตการเชื่อมโยงกลับเป็นสถานะที่ไม่ได้กำหนดค่า
|
SetDefaultResponseTimeout(uint32_t msec)
|
void
กำหนดระยะหมดเวลาการตอบกลับเริ่มต้นของ Exchange ที่จะใช้เมื่อสื่อสารกับเพียร์
|
SetDefaultWRMPConfig(const WRMPConfig & wrmpConfig)
|
void
กำหนดค่า WRMP เริ่มต้นที่จะใช้เมื่อสื่อสารกับเพียร์
|
SetEventCallback(EventCallback aEventCallback)
|
void
ตั้งค่าฟังก์ชันที่แอปพลิเคชันกำหนดที่จะเรียกใช้เมื่อมีเหตุการณ์ API สำหรับการเชื่อมโยง
|
SetProtocolLayerCallback(EventCallback callback, void *state)
|
void
ตั้งค่าฟังก์ชันเรียกกลับของเหตุการณ์สำหรับโค้ดเลเยอร์โปรโตคอลโดยใช้การเชื่อมโยงในนามของแอปพลิเคชัน
|
ฟังก์ชันแบบคงที่แบบสาธารณะ |
|
---|---|
DefaultEventHandler(void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
|
void
ตัวแฮนเดิลเริ่มต้นสำหรับการเชื่อมโยงเหตุการณ์ API
|
คลาส |
|
---|---|
nl:: |
มีอินเทอร์เฟซสไตล์ประกาศสำหรับการกำหนดค่าและเตรียมออบเจ็กต์ การเชื่อมโยง |
โครงสร้าง |
|
---|---|
nl:: |
ป้อนพารามิเตอร์ไปยังเหตุการณ์ API การเชื่อมโยง |
nl:: |
ส่งออกพารามิเตอร์ไปยังเหตุการณ์ API การเชื่อมโยง |
ประเภทสาธารณะ
@23
@23
พร็อพเพอร์ตี้ | |
---|---|
kGetPeerDescription_MaxLength
|
ความยาวสูงสุดของสตริง (รวมถึงอักขระ NUL) ที่แสดงผลโดย GetPeerDescription() |
EventCallback
void(* EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)
EventType
EventType
พร็อพเพอร์ตี้ | |
---|---|
kEvent_BindingFailed
|
การเชื่อมโยงล้มเหลวและจะใช้เพื่อสื่อสารกับแอปเทียบเท่าไม่ได้อีกต่อไป |
kEvent_BindingReady
|
การเตรียมพร้อมสำหรับการเชื่อมโยงประสบความสำเร็จและสามารถใช้การเชื่อมโยงเพื่อสื่อสารกับเพียร์ได้แล้ว |
kEvent_ConnectionEstablished
|
สร้างการเชื่อมต่อ Weave ที่ขอแล้ว |
kEvent_DefaultCheck
|
ใช้เพื่อตรวจสอบการจัดการเหตุการณ์เริ่มต้นที่ถูกต้องในแอปพลิเคชัน |
kEvent_PASEParametersRequested
|
แอปพลิเคชันจะขอให้คุณระบุพารามิเตอร์ที่จะใช้ในระหว่างการสร้างเซสชัน PASE |
kEvent_PrepareFailed
|
เตรียมการสำหรับการเชื่อมโยงไม่สำเร็จ |
kEvent_PrepareRequested
|
ระบบจะขอให้แอปพลิเคชันกำหนดค่าและเตรียมการเชื่อมโยงสำหรับการใช้งานโดยสแต็กเครือข่าย |
kEvent_TAKEParametersRequested
|
แอปพลิเคชันจะขอให้คุณระบุพารามิเตอร์ที่จะใช้ในระหว่างการสร้างเซสชัน TAKE |
รัฐ
State
แอตทริบิวต์สาธารณะ
AppState
void * AppState
ฟังก์ชันสาธารณะ
AddRef
void AddRef( void )
สำรองการอ้างอิงไปยังออบเจ็กต์การเชื่อมโยง
AdjustResponseTimeout
WEAVE_ERROR AdjustResponseTimeout( ExchangeContext *apExchangeContext ) const
กำหนดค่าบริบท Exchange ที่มีอยู่อีกครั้งเพื่อปรับระยะหมดเวลาการตอบกลับ
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
AllocateRightSizedBuffer
WEAVE_ERROR AllocateRightSizedBuffer( PacketBuffer *& buf, const uint32_t desiredSize, const uint32_t minSize, uint32_t & outMaxPayloadSize )
BeginConfiguration
Configuration BeginConfiguration()
กระบวนการกำหนดค่าการเชื่อมโยง
แอปพลิเคชันต้องเรียกใช้ BeginConfiguration() เพื่อกำหนดค่าการเชื่อมโยง ก่อนที่จะเตรียมความพร้อมสำหรับการสื่อสารกับเพียร์
รายละเอียด | |
---|---|
การส่งคืน |
ออบเจ็กต์ Binding::Configuration ที่ใช้กําหนดค่าการเชื่อมโยงได้
|
CanBePrepared
bool CanBePrepared( void ) const
ปิด
void Close( void )
ปิดออบเจ็กต์การเชื่อมโยงแล้วปล่อยการอ้างอิง
เมื่อเรียกใช้ เมธอดนี้จะทำให้การเชื่อมโยงเข้าสู่สถานะปิด ระบบจะยกเลิกการเตรียมการที่กำลังดำเนินการเพื่อเตรียมการเชื่อมโยงสำหรับการเชื่อมโยง และถอนทรัพยากรการสื่อสารภายนอกทั้งหมดที่ถือโดยการเชื่อมโยง
การเรียกใช้ Close() จะลดจำนวนข้อมูลอ้างอิงที่เชื่อมโยงกับการเชื่อมโยง ซึ่งจะทำให้ออบเจ็กต์ว่างมากขึ้นหากจำนวนข้อมูลอ้างอิงกลายเป็น 0
GetConnection
WeaveConnection * GetConnection() const
รับออบเจ็กต์การเชื่อมต่อ Weave ที่เชื่อมโยงกับการเชื่อมโยง
รายละเอียด | |
---|---|
การส่งคืน |
ตัวชี้ไปยังออบเจ็กต์ WeaveConnection หรือค่า NULL หากไม่มีการเชื่อมต่อที่เชื่อมโยงกับการเชื่อมโยง
|
GetDefaultResponseTimeout
uint32_t GetDefaultResponseTimeout() const
รับระยะหมดเวลาการตอบกลับเริ่มต้นของ Exchange ที่จะใช้เมื่อสื่อสารกับเพียร์
รายละเอียด | |
---|---|
การส่งคืน |
ระยะหมดเวลาตอบกลับ หน่วยเป็นมิลลิวินาที
|
GetDefaultWRMPConfig
const WRMPConfig & GetDefaultWRMPConfig( void ) const
รับการกำหนดค่า WRMP เริ่มต้นที่จะใช้เมื่อสื่อสารกับเพียร์
รายละเอียด | |
---|---|
การส่งคืน |
การอ้างอิงไปยังโครงสร้าง WRMPConfig ที่มีค่าของการกำหนดค่าเริ่มต้น
|
GetEncryptionType
uint8_t GetEncryptionType( void ) const
เรียกข้อมูลประเภทการเข้ารหัสข้อความที่จะใช้เมื่อเข้ารหัสข้อความไปยัง/จากเพียร์
GetEventCallback
EventCallback GetEventCallback() const
รับฟังก์ชันที่จะเรียกใช้เมื่อเกิดเหตุการณ์ API สำหรับการเชื่อมโยง
รายละเอียด | |
---|---|
การส่งคืน |
ตัวชี้ไปยังฟังก์ชันเรียกกลับ
|
GetExchangeManager
WeaveExchangeManager * GetExchangeManager() const
GetKeyId
uint32_t GetKeyId( void ) const
เรียกดูรหัสของคีย์การเข้ารหัสข้อความที่จะใช้เมื่อเข้ารหัสข้อความไปยัง/จากไปยังเพียร์
GetLogId
uint16_t GetLogId( void ) const
รับรหัสที่ไม่ซ้ำกันสำหรับการเชื่อมโยง
GetMaxWeavePayloadSize
uint32_t GetMaxWeavePayloadSize( const System::PacketBuffer *msgBuf )
รับขนาดเพย์โหลด Weave สูงสุดซึ่งพอดีกับ PacketBuffer ที่กำหนด
สำหรับ UDP รวมถึง UDP ที่มี WRM ขนาดเพย์โหลดสูงสุดที่แสดงผลจะช่วยให้มั่นใจว่าข้อความ Weave ที่ได้จะไม่เกินกว่า UDP MTU ที่กำหนดค่าไว้
นอกจากนี้ วิธีการนี้จะช่วยให้มั่นใจได้ว่าเพย์โหลด Weave จะไม่ล้น PacketBuffer ที่ระบุ
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การส่งคืน |
ขนาดเพย์โหลด Weave สูงสุด
|
GetPeerDescription
void GetPeerDescription( char *buf, uint32_t bufSize ) const
สร้างสตริงที่อธิบายโหนดเพียร์และข้อมูลที่อยู่ / การเชื่อมต่อที่เกี่ยวข้อง
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
GetPeerIPAddress
void GetPeerIPAddress( nl::Inet::IPAddress & address, uint16_t & port, InterfaceId & interfaceId ) const
ดึงข้อมูลที่อยู่ IP ของแอปเทียบเท่า (หากมี)
ความพร้อมใช้งานของข้อมูลที่อยู่ IP ของแอปเทียบเท่าจะขึ้นอยู่กับสถานะและการกำหนดค่าของการเชื่อมโยง ข้อมูลที่อยู่ IP จะใช้ได้เฉพาะเมื่อใช้การรับส่งข้อมูลแบบ IP (TCP, UDP หรือ UDP กับ WRMP) เท่านั้น ก่อนเริ่มการเตรียมการ ข้อมูลที่อยู่จะพร้อมใช้งานเฉพาะเมื่อแอปพลิเคชันตั้งค่าไว้อย่างชัดเจนในระหว่างการกำหนดค่า ในช่วงเตรียมการ ข้อมูลที่อยู่จะพร้อมให้ใช้งานเมื่อเตรียมที่อยู่เสร็จสิ้น (เช่น หลังจากการแปลง DNS เสร็จสิ้น) หลังจากที่การเชื่อมโยงพร้อมใช้งานแล้ว ข้อมูลที่อยู่จะยังคงอยู่จนกว่าจะมีการรีเซ็ตการเชื่อมโยง
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
GetPeerNodeId
uint64_t GetPeerNodeId( void ) const
ดึงข้อมูลรหัสโหนดของเพียร์การเชื่อมโยง
ใช้ได้เพียงครั้งเดียวเมื่อเตรียมออบเจ็กต์การเชื่อมโยงแล้ว
รายละเอียด | |
---|---|
การส่งคืน |
รหัสโหนด Weave ของเพียร์
|
GetProtocolLayerCallback
void GetProtocolLayerCallback( EventCallback & callback, void *& state ) const
GetState
State GetState( void ) const
ดึงข้อมูลสถานะปัจจุบันของการเชื่อมโยง
รายละเอียด | |
---|---|
การส่งคืน |
สถานะการเชื่อมโยง
|
IsAuthenticMessageFromPeer
bool IsAuthenticMessageFromPeer( const WeaveMessageInfo *msgInfo )
พิจารณาว่าข้อความขาเข้าบางรายการมาจากเพียร์ที่กำหนดค่าไว้และผ่านการตรวจสอบสิทธิ์อย่างเหมาะสมหรือไม่
วิธีนี้จะยืนยันรายละเอียดต่อไปนี้เกี่ยวกับข้อความ
- ข้อความที่มาจากโหนดเพียร์ของการเชื่อมโยง
- ได้รับข้อความผ่านประเภทการส่งเดียวกันกับการเชื่อมโยง หากได้รับข้อความผ่านการเชื่อมต่อ เมธอดจะยืนยันว่าได้รับข้อความผ่านการเชื่อมต่อที่ถูกต้องซึ่งเชื่อมโยงกับการเชื่อมโยงนั้นด้วย
- คีย์การเข้ารหัสและประเภทที่ใช้เพื่อเข้ารหัสข้อความตรงกับที่กำหนดค่าไว้ในการเชื่อมโยง สำหรับการเชื่อมโยงที่กำหนดค่าโดยไม่ต้องใช้การรักษาความปลอดภัย เมธอดจะยืนยันว่าข้อความขาเข้าไม่ได้เข้ารหัส
เมธอดนี้มีไว้เพื่อใช้ในโปรโตคอลต่างๆ เช่น WDM ซึ่งแอปเทียบเท่าสามารถเริ่มการแลกเปลี่ยนกลับไปยังโหนดในเครื่องได้ทันที หลังจากการแลกเปลี่ยนครั้งแรกจากโหนดไปยังเพียร์ ในกรณีเช่นนี้ เมธอดจะช่วยให้โหนดในเครื่องยืนยันว่าข้อความที่ไม่พึงประสงค์ที่เข้ามาใหม่นั้นส่งมาโดยเพียร์ที่เกี่ยวข้อง (สำหรับการเชื่อมโยงที่กำหนดค่าโดยไม่ใช้การเข้ารหัสข้อความ การยืนยันนี้จะไม่ให้ค่าใดๆ ในแง่ของการรักษาความปลอดภัย เป็นเพียงการยืนยันว่ารหัสโหนดของผู้ส่งและประเภทการส่งตรงกัน)
โปรดทราบว่าหากการเชื่อมโยงไม่อยู่ในสถานะ "พร้อม" เมธอดนี้จะแสดงค่าเท็จเสมอ
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การส่งคืน |
เป็นจริงหากข้อความมาจากเพื่อนเดียวกันจริงๆ
|
IsConnectionTransport
bool IsConnectionTransport() const
IsPreparing
bool IsPreparing( void ) const
รายละเอียด | |
---|---|
การส่งคืน |
เป็นจริงหากกำลังเตรียมการเชื่อมโยงอยู่
|
IsUDPTransport
bool IsUDPTransport() const
IsUnreliableUDPTransport
bool IsUnreliableUDPTransport() const
IsWRMTransport
bool IsWRMTransport() const
NewExchangeContext
WEAVE_ERROR NewExchangeContext( ExchangeContext *& appExchangeContext )
จัดสรรบริบทของ Exchange ใหม่สำหรับสื่อสารกับเพียร์ที่เป็นเป้าหมายของการเชื่อมโยง
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||
แสดงผลค่า |
|
เผยแพร่
void Release( void )
ปล่อยการอ้างอิงไปยังออบเจ็กต์การเชื่อมโยง
หากไม่มีการอ้างอิงไปยังออบเจ็กต์การเชื่อมโยงอีก การเชื่อมโยงจะปิดและปล่อยว่าง
RequestPrepare
WEAVE_ERROR RequestPrepare()
ขอให้แอปพลิเคชันกำหนดค่าและเตรียมการเชื่อมโยง
โค้ดเลเยอร์โปรโตคอลสามารถใช้วิธีนี้ในการเชื่อมโยงที่ยังไม่ได้รับการกำหนดค่า หรือทำไม่สำเร็จ เพื่อทริกเกอร์เหตุการณ์กับแอปพลิเคชัน (kEvent_PrepareRequested) ที่ขอให้กำหนดค่าและเตรียมการเชื่อมโยงสำหรับการใช้งาน
ระบบจะเรียกใช้เมธอดนี้ได้ในการเชื่อมโยงที่มีสถานะ "ไม่ได้กำหนดค่า" หรือ "ล้มเหลว" เท่านั้น
หากแอปพลิเคชันไม่รองรับการกำหนดค่าแบบออนดีมานด์/การเตรียมการเชื่อมโยง เมธอดจะล้มเหลวโดยมี WEAVE_ERROR_NOT_IMPLEMENTED
รีเซ็ต
void Reset( void )
รีเซ็ตการเชื่อมโยงกลับเป็นสถานะที่ไม่ได้กำหนดค่า
เมื่อเรียก reset() การดำเนินการที่เตรียมการซึ่งอยู่ระหว่างดำเนินการสำหรับการเชื่อมโยงจะถูกยกเลิก และระบบจะถอนทรัพยากรการสื่อสารภายนอกทั้งหมดที่ถือโดยการเชื่อมโยงนั้น รีเซ็ต() จะวางการเชื่อมโยงในสถานะไม่ได้กำหนดค่า หลังจากนั้นอาจมีการกำหนดค่าและจัดเตรียมอีกครั้ง
รีเซ็ต() จะไม่เปลี่ยนจำนวนอ้างอิงของการเชื่อมโยง
SetDefaultResponseTimeout
void SetDefaultResponseTimeout( uint32_t msec )
กำหนดระยะหมดเวลาการตอบกลับเริ่มต้นของ Exchange ที่จะใช้เมื่อสื่อสารกับเพียร์
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetDefaultWRMPConfig
void SetDefaultWRMPConfig( const WRMPConfig & wrmpConfig )
กำหนดค่า WRMP เริ่มต้นที่จะใช้เมื่อสื่อสารกับเพียร์
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetEventCallback
void SetEventCallback( EventCallback aEventCallback )
ตั้งค่าฟังก์ชันที่แอปพลิเคชันกำหนดที่จะเรียกใช้เมื่อมีเหตุการณ์ API สำหรับการเชื่อมโยง
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetProtocolLayerCallback
void SetProtocolLayerCallback( EventCallback callback, void *state )
ตั้งค่าฟังก์ชันเรียกกลับของเหตุการณ์สำหรับโค้ดเลเยอร์โปรโตคอลโดยใช้การเชื่อมโยงในนามของแอปพลิเคชัน
ระบบจะเรียกใช้ฟังก์ชันนี้เพิ่มเติมจากฟังก์ชันเรียกกลับที่แอปพลิเคชันกำหนดเมื่อมีเหตุการณ์ API สำหรับการเชื่อมโยง
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
ฟังก์ชันแบบคงที่แบบสาธารณะ
DefaultEventHandler
void DefaultEventHandler( void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam )
ตัวแฮนเดิลเริ่มต้นสำหรับการเชื่อมโยงเหตุการณ์ API
แอปพลิเคชันจะต้องเรียกใช้เมธอดนี้สําหรับเหตุการณ์ API ที่ไม่รู้จักหรือจัดการ พารามิเตอร์ที่ระบุต้องเหมือนกับพารามิเตอร์ที่ส่งผ่านโดยการเชื่อมโยงกับฟังก์ชันเครื่องจัดการเหตุการณ์ของแอปพลิเคชัน
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|