nl:: Weave:: Binding
#include <src/lib/core/WeaveBinding.h>
บันทึกเป้าหมายที่ต้องการของการสื่อสารของ Weave และข้อมูลการกำหนดค่าที่เกี่ยวข้อง
สรุป
ออบเจ็กต์ Binding ระบุเป้าหมายที่ต้องการของการสื่อสารของ Weave (หรือที่เรียกว่า "เพียร์") พร้อมด้วยชุดพารามิเตอร์การกำหนดค่าที่อธิบายวิธีที่การสื่อสารกับเพียร์จะเกิดขึ้น การเชื่อมโยงจะไม่ขึ้นอยู่กับโปรโตคอลของแอปพลิเคชันที่ทั้ง 2 ฝ่ายพูดกัน ด้วยเหตุนี้ เขาจึงจับลักษณะ "ใคร" และ "วิธีการ" ถึงการสื่อสาร แต่ไม่ใช่ "อะไร"
แอปพลิเคชันต้องกำหนดค่าการเชื่อมโยงด้วยพารามิเตอร์ที่เจาะจงประเภทช่องทางการสื่อสารที่ต้องการ การเชื่อมโยงจะรองรับการรับส่งข้อมูลในเครือข่ายที่หลากหลาย ซึ่งรวมถึง TCP, UDP, UDP ที่มี Weave Reliable Messaging และ Weave over BLE (WoBLE) แอปพลิเคชันยังสามารถขอใช้กลไกการรักษาความปลอดภัยบางอย่างเพื่อปกป้องข้อความที่ส่งระหว่างคู่สัญญา เซสชันเหล่านี้รวมถึงเซสชันการใช้ "ตัวพิมพ์เล็กและใหญ่" และ "คีย์กลุ่มแอปพลิเคชัน" อินเทอร์เฟซสำหรับการกำหนดค่าการเชื่อมโยงจะใช้รูปแบบ API การประกาศซึ่งอนุญาตให้แอปพลิเคชันระบุข้อกำหนดสำหรับการสื่อสารด้วยคำที่เข้าใจง่าย
ดูรายละเอียดเพิ่มเติมในเอกสารประกอบสำหรับ Binding::Configuration
การเตรียมพร้อม
โดยจะต้องมี "การจัดเตรียม" การผูกมัดก่อนที่จะสื่อสาร การเตรียมการผูกมัดเกี่ยวข้องกับการกำหนดสถานะที่จำเป็นสำหรับการสื่อสาร ซึ่งอาจรวมถึงการดำเนินการต่างๆ เช่น การแก้ไขที่อยู่เครือข่ายของแอปเทียบเท่า การสร้างการเชื่อมต่อเครือข่าย และการขอคีย์ความปลอดภัย เมื่อกำหนดค่าโดยแอปพลิเคชันแล้ว การเชื่อมโยงจะดูแลขั้นตอนทั้งหมดที่จำเป็นในการเตรียมพร้อมสำหรับการสื่อสาร โดยจะโทรกลับไปยังแอปพลิเคชันเมื่อกระบวนการเสร็จสมบูรณ์ ด้วยวิธีนี้ การเชื่อมโยงจะซ่อนกลไกการสื่อสารไว้ ทำให้แอปพลิเคชันสามารถมุ่งความสนใจไปที่การโต้ตอบระดับสูงได้
การสื่อสาร
เมื่อจัดเตรียมการเชื่อมโยงแล้ว ก็จะพร้อมใช้งาน ในสถานะนี้ แอปพลิเคชัน (หรือโดยทั่วไปคือโค้ดเลเยอร์โปรโตคอลที่ทำงานในนามของแอปพลิเคชัน) จะขอการเชื่อมโยงเพื่อจัดสรรบริบทการแลกเปลี่ยน Weave บริบทการแลกเปลี่ยนที่ได้จะมีการกำหนดค่าไว้ล่วงหน้าสำหรับการสื่อสาร ซึ่งช่วยให้แอปพลิเคชันสามารถเริ่มการแลกเปลี่ยน Weave กับแอปเทียบเท่าได้ทันที แอปพลิเคชันยังสามารถขอบริบทการแลกเปลี่ยนจากการเชื่อมโยงต่อไปได้จนกว่าการเชื่อมโยงจะปิดลง หรือบางเหตุการณ์ เช่น เครือข่ายล้มเหลว ทำให้ช่องทางการสื่อสารพื้นฐานสิ้นสุดลง
การเปลี่ยนแปลงสถานะที่มีผลผูกพัน
ในระหว่างการใช้งาน การเชื่อมโยงจะแสดงเหตุการณ์ API ไปยังแอปพลิเคชันเพื่อแจ้งให้ทราบถึงการเปลี่ยนแปลงในสถานะของการเชื่อมโยง ตัวอย่างเช่น เมื่อเตรียมการเรียบร้อยแล้ว แอปพลิเคชันจะได้รับกิจกรรมซึ่งแจ้งให้ทราบว่าการเชื่อมโยงพร้อมใช้งานแล้ว ในทำนองเดียวกัน หากช่องทางการสื่อสารพื้นฐานล้มเหลว ระบบจะส่งกิจกรรมไปยังแอปพลิเคชันเพื่อแจ้งว่าการเชื่อมโยงไม่ได้อยู่ในสถานะพร้อมอีกต่อไปแล้ว
ระบบจะส่งเหตุการณ์ API ไปยังแอปพลิเคชันผ่านฟังก์ชัน Callback ของเหตุการณ์ที่จัดไว้ให้เมื่อมีการจัดสรรการเชื่อมโยง
การเชื่อมโยงตลอดอายุการใช้งาน
การเชื่อมโยงเป็นการนับข้อมูลอ้างอิงเพื่ออนุญาตให้ใช้ร่วมกันในองค์ประกอบของซอฟต์แวร์หลายรายการ เมื่อจัดสรรการเชื่อมโยง ระบบจะสร้างการอ้างอิง 1 รายการไปยังการเชื่อมโยง แอปพลิเคชันมีหน้าที่เผยแพร่ข้อมูลอ้างอิงนี้ในอนาคตเพื่อให้การใช้ Binding ไม่มีค่าใช้จ่ายในการนำมาใช้ซ้ำในครั้งต่อๆ ไป
เมื่อแอปพลิเคชันเสร็จสิ้นการเชื่อมโยงแล้ว แอปพลิเคชันอาจเรียกใช้ Close() ในการเชื่อมโยง การดำเนินการนี้จะเผยแพร่การอ้างอิงของแอปพลิเคชันกับ Binding และบล็อกการส่งเหตุการณ์ 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
ตั้งค่าฟังก์ชัน Callback ของเหตุการณ์สำหรับโค้ดเลเยอร์โปรโตคอลโดยใช้การเชื่อมโยงในนามของแอปพลิเคชัน
|
ฟังก์ชันสาธารณะแบบคงที่ |
|
---|---|
DefaultEventHandler(void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
|
void
ตัวแฮนเดิลเริ่มต้นสำหรับการเชื่อมโยงเหตุการณ์ API
|
ชั้นเรียน |
|
---|---|
nl:: |
มีอินเทอร์เฟซแบบประกาศสำหรับการกำหนดค่าและเตรียมออบเจ็กต์การเชื่อมโยง |
โครงสร้าง |
|
---|---|
nl:: |
ป้อนพารามิเตอร์ไปยังเหตุการณ์ Binding API |
nl:: |
เอาต์พุตพารามิเตอร์ไปยังเหตุการณ์ Binding 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 ก่อนเตรียมแอปสำหรับการสื่อสารกับเพียร์
รายละเอียด | |
---|---|
การคืนสินค้า |
ออบเจ็กต์ 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 สำหรับการเชื่อมโยง
รายละเอียด | |
---|---|
การคืนสินค้า |
ตัวชี้ไปยังฟังก์ชัน Callback
|
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 ที่แอปเทียบเท่าสามารถเริ่มการแลกเปลี่ยนกลับไปยังโหนดภายในตามธรรมชาติหลังจากการแลกเปลี่ยนครั้งแรกจากโหนดไปยังเพียร์ ในกรณีดังกล่าว เมธอดจะอนุญาตให้โหนดในเครื่องยืนยันว่าข้อความไม่พึงประสงค์ที่เข้ามาใหม่ถูกส่งโดยแอปเทียบเท่าที่เกี่ยวข้อง (แน่นอนว่าสำหรับการเชื่อมโยงที่กำหนดค่าโดยไม่ใช้การเข้ารหัสข้อความ การยืนยันนี้ไม่ให้คุณค่าในแง่ของการรักษาความปลอดภัย เป็นเพียงการยืนยันว่ารหัสโหนดของผู้ส่งและประเภทการนำส่งตรงกันเท่านั้น)
โปรดทราบว่า หากการเชื่อมโยงไม่ได้อยู่ในสถานะ Ready วิธีนี้จะส่งคืนค่า false เสมอ
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การคืนสินค้า |
เป็นจริงหากข้อความนั้นมาจากแอปเทียบเท่าโดยตรง
|
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) เพื่อขอให้กำหนดค่าและเตรียมการเชื่อมโยงสำหรับการใช้งาน
วิธีการนี้จะเรียกใช้ได้เฉพาะในการเชื่อมโยงในสถานะ NotConfigured หรือ "ไม่ผ่าน"
หากแอปพลิเคชันไม่รองรับการกำหนดค่า/การเตรียมการเชื่อมโยงแบบออนดีมานด์ เมธอดจะล้มเหลวโดยมี WEAVE_ERROR_NOT_IMPLEMENTED
รีเซ็ต
void Reset( void )
รีเซ็ตการเชื่อมโยงกลับเป็นสถานะที่ไม่ได้กำหนดค่า
เมื่อมีการเรียก reset() การทำงานใดๆ ที่กำลังดำเนินการเตรียมพร้อมสำหรับการเชื่อมโยงจะถูกยกเลิก และระบบจะปล่อยทรัพยากรการสื่อสารภายนอกทั้งหมดที่การเชื่อมโยงอยู่ รีเซ็ต() จะวางการเชื่อมโยงในสถานะ "ไม่มีการกำหนดค่า" ซึ่งหลังจากนั้นอาจได้รับการกำหนดค่าและเตรียมอีกครั้ง
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 )
ตั้งค่าฟังก์ชัน Callback ของเหตุการณ์สำหรับโค้ดเลเยอร์โปรโตคอลโดยใช้การเชื่อมโยงในนามของแอปพลิเคชัน
ระบบจะเรียกฟังก์ชันนี้เพิ่มเติมจากฟังก์ชัน Callback ที่แอปพลิเคชันกำหนดเมื่อเกิดเหตุการณ์ API สำหรับ Binding
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
ฟังก์ชันสาธารณะแบบคงที่
DefaultEventHandler
void DefaultEventHandler( void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam )
ตัวแฮนเดิลเริ่มต้นสำหรับการเชื่อมโยงเหตุการณ์ API
แอปพลิเคชันจําเป็นต้องเรียกใช้เมธอดนี้หากมีเหตุการณ์ API ที่ไม่รู้จักหรือจัดการไม่ได้ พารามิเตอร์ที่ระบุต้องเหมือนกับพารามิเตอร์ที่ส่งผ่านโดยการเชื่อมโยงกับฟังก์ชันเครื่องจัดการเหตุการณ์ของแอปพลิเคชัน
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|