nl:: Weave:: WeaveConnection
#include <src/lib/core/WeaveMessageLayer.h>
คำจำกัดความของคลาส Weave Connection
สรุป
โดยจะแสดงการเชื่อมต่อ TCP หรือ BLE กับโหนด Weave อื่น
ประเภทสาธารณะ |
|
---|---|
@58{
|
enum |
ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr)
|
Typedefvoid(*
ฟังก์ชันนี้คือ Callback ของแอปพลิเคชันที่เรียกใช้เมื่อปิดการเชื่อมต่อ |
ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr)
|
Typedefvoid(*
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่เรียกใช้เมื่อตั้งค่าการเชื่อมต่อเสร็จสิ้น |
MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Typedefvoid(*
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่เรียกใช้เมื่อได้รับข้อความผ่านการเชื่อมต่อ Weave |
NetworkType{
|
enum ประเภทเครือข่ายของออบเจ็กต์การเชื่อมต่อ Weave |
ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err)
|
Typedefvoid(*
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่เรียกใช้เมื่อพบข้อผิดพลาดเมื่อได้รับข้อความ Weave |
State{
|
enum สถานะของออบเจ็กต์การเชื่อมต่อ Weave |
TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Typedefvoid(*
ฟังก์ชันนี้คือ Callback ของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับแพ็กเก็ตข้อมูล Tunneled ผ่านการเชื่อมต่อ Weave |
แอตทริบิวต์สาธารณะ |
|
---|---|
AppState
|
void *
ตัวชี้ไปยังออบเจ็กต์สถานะเฉพาะแอปพลิเคชัน
|
AuthMode
|
WeaveAuthMode
[อ่านอย่างเดียว] โหมดการตรวจสอบสิทธิ์ที่ใช้เพื่อสร้างคีย์การเข้ารหัสเริ่มต้นสำหรับการเชื่อมต่อ
|
DefaultEncryptionType
|
uint8_t
ประเภทการเข้ารหัสเริ่มต้นสำหรับข้อความ
|
DefaultKeyId
|
uint16_t
คีย์การเข้ารหัสเริ่มต้นที่จะใช้เมื่อส่งข้อความ
|
MessageLayer
|
[READ ONLY] ออบเจ็กต์ WeaveMessageLayer ที่เกี่ยวข้อง
|
NetworkType
|
uint8_t
[อ่านอย่างเดียว] ประเภทเครือข่ายของจุดสิ้นสุดที่เกี่ยวข้อง
|
OnConnectionClosed
|
|
OnConnectionComplete
|
|
OnMessageReceived
|
|
OnReceiveError
|
|
OnTunneledMessageReceived
|
|
PeerAddr
|
IPAddress
[READ ONLY] ที่อยู่ IP ของโหนดเพียร์
|
PeerNodeId
|
uint64_t
[อ่านอย่างเดียว] ตัวระบุโหนดของเพียร์
|
PeerPort
|
uint16_t
[อ่านอย่างเดียว] หมายเลขพอร์ตของโหนดเพียร์
|
ReceiveEnabled
|
bool
[READ ONLY] True หากเปิดใช้การรับ จะเป็น false หากไม่เป็นเช่นนั้น
|
SendDestNodeId
|
bool
เป็นจริงหากข้อความทั้งหมดที่ส่งผ่านการเชื่อมต่อนี้ต้องมีตัวระบุโหนดปลายทางที่เข้ารหัสอย่างชัดเจน มิเช่นนั้น จะเป็นเท็จ
|
SendSourceNodeId
|
bool
เป็นจริงหากข้อความทั้งหมดที่ส่งผ่านการเชื่อมต่อนี้ต้องมีตัวระบุโหนดแหล่งที่มาที่เข้ารหัสอย่างชัดเจน มิฉะนั้นจะเป็น "เท็จ"
|
State
|
uint8_t
[READ ONLY] สถานะของออบเจ็กต์ WeaveConnection
|
ฟังก์ชันสาธารณะ |
|
---|---|
Abort(void)
|
void
ดำเนินการปิด WeaveConnection แบบ TCP หรือ BLE อย่างไม่สวยงามนัก โดยละทิ้งข้อมูลใดๆ ที่อาจอยู่ระหว่างการส่งไปยังหรือจากเพียร์
|
AddRef(void)
|
void
จองการอ้างอิงไปยังออบเจ็กต์ WeaveConnection
|
Close(void)
|
ดำเนินการปิด WeaveConnection แบบ TCP หรือ BLE โดยไม่บล็อกอย่างแนบเนียน โดยส่งข้อมูลขาออกที่เหลืออยู่ก่อนจะแจ้งโฮสต์ระยะไกลอย่างสุภาพว่าเราได้รีเซ็ตการเชื่อมต่อแล้ว
|
Close(bool suppressCloseLog)
|
ดำเนินการปิด WeaveConnection แบบ TCP หรือ BLE โดยไม่บล็อกอย่างแนบเนียน โดยส่งข้อมูลขาออกที่เหลืออยู่ก่อนจะแจ้งโฮสต์ระยะไกลอย่างสุภาพว่าเราได้รีเซ็ตการเชื่อมต่อแล้ว
|
Connect(uint64_t peerNodeId)
|
เชื่อมต่อกับโหนด Weave โดยใช้ที่อยู่ IP แบบ Fabric ที่ได้จากตัวระบุโหนดที่ระบุ
|
Connect(uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort)
|
เชื่อมต่อกับโหนด Weave โดยใช้ตัวระบุโหนดและ/หรือที่อยู่ IP
|
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId intf)
|
เชื่อมต่อกับโหนด Weave โดยใช้ตัวระบุโหนดและ/หรือที่อยู่ IP บนอินเทอร์เฟซที่เจาะจง
|
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t defaultPort)
|
เชื่อมต่อกับโหนด Weave โดยใช้ตัวระบุโหนดและ/หรือชื่อโฮสต์สตริง
|
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint16_t defaultPort)
|
เชื่อมต่อกับโหนด Weave โดยใช้ตัวระบุโหนดและ/หรือที่อยู่เพียร์ของสตริง
|
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint8_t dnsOptions, uint16_t defaultPort)
|
เชื่อมต่อกับโหนด Weave โดยใช้ตัวระบุโหนดและ/หรือที่อยู่เพียร์ของสตริง
|
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf)
|
เชื่อมต่อกับโหนด Weave โดยใช้ตัวระบุโหนดและ/หรือรายการชื่อโฮสต์และพอร์ต
|
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, uint8_t dnsOptions, InterfaceId intf)
|
เชื่อมต่อกับโหนด Weave โดยใช้ตัวระบุโหนดและ/หรือรายการชื่อโฮสต์และพอร์ต
|
DisableKeepAlive(void)
|
|
DisableReceive(void)
|
void
ปิดใช้การรับผ่าน WeaveConnection นี้
|
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
|
|
EnableReceive(void)
|
void
เปิดใช้การรับผ่าน WeaveConnection นี้
|
GetPeerAddressInfo(IPPacketInfo & addrInfo)
|
รับข้อมูลที่อยู่ IP ของเพียร์
|
GetPeerDescription(char *buf, size_t bufSize) const
|
void
สร้างสตริงที่อธิบายโหนดเพียร์ที่เชื่อมโยงกับการเชื่อมต่อ
|
GetTCPEndPoint(void) const
|
TCPEndPoint *
|
IsIncoming(void) const
|
bool
|
LogId(void) const
|
uint16_t
|
Release(void)
|
void
ลดจำนวนการอ้างอิงในออบเจ็กต์ WeaveConnection
|
ResetUserTimeout(void)
|
|
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
ส่งข้อความ Weave ผ่านการเชื่อมต่อที่มีอยู่แล้ว
|
SendTunneledMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
ฟังก์ชันเพื่อส่งแพ็กเก็ต Tunneled ผ่านการเชื่อมต่อ Weave
|
SetConnectTimeout(const uint32_t connTimeoutMsecs)
|
void
ตั้งค่าระยะหมดเวลาสำหรับ Connect เพื่อให้ดำเนินการสำเร็จหรือแสดงผลข้อผิดพลาด
|
SetIdleTimeout(uint32_t timeoutMS)
|
กำหนดระยะหมดเวลาเนื่องจากไม่มีการใช้งานในการเชื่อมต่อเลเยอร์เครือข่ายที่เกี่ยวข้อง
|
SetIncoming(bool val)
|
void
|
SetUserTimeout(uint32_t userTimeoutMillis)
|
|
Shutdown(void)
|
ดำเนินการปิดการส่ง TCP อย่างค่อยเป็นค่อยไปเพื่อให้แน่ใจว่าสแต็ก TCP ของเพียร์จะส่งและรับข้อมูลขาออกทั้งหมด
|
ประเภทสาธารณะ
@58
@58
พร็อพเพอร์ตี้ | |
---|---|
kGetPeerDescription_MaxLength
|
ความยาวสูงสุดของสตริง (รวมอักขระ NUL) ที่แสดงผลโดย GetPeerDescription() |
ConnectionClosedFunct
void(* ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr)
ฟังก์ชันนี้คือ Callback ของแอปพลิเคชันที่เรียกใช้เมื่อปิดการเชื่อมต่อ
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
ConnectionCompleteFunct
void(* ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr)
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่เรียกใช้เมื่อตั้งค่าการเชื่อมต่อเสร็จสิ้น
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
MessageReceiveFunct
void(* MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่เรียกใช้เมื่อได้รับข้อความผ่านการเชื่อมต่อ Weave
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
NetworkType
NetworkType
ประเภทเครือข่ายของออบเจ็กต์การเชื่อมต่อ Weave
พร็อพเพอร์ตี้ | |
---|---|
kNetworkType_BLE
|
ประเภทเครือข่าย BLE |
kNetworkType_IP
|
ประเภทเครือข่าย TCP/IP |
kNetworkType_Unassigned
|
ประเภทเครือข่ายที่ไม่ได้กำหนด |
ReceiveErrorFunct
void(* ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err)
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่เรียกใช้เมื่อพบข้อผิดพลาดเมื่อได้รับข้อความ Weave
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
รัฐ
State
สถานะของออบเจ็กต์การเชื่อมต่อ Weave
พร็อพเพอร์ตี้ | |
---|---|
kState_Closed
|
สถานะเมื่อปิดการเชื่อมต่อ |
kState_Connected
|
สถานะเมื่อสร้างการเชื่อมต่อแล้ว |
kState_Connecting
|
สถานะเมื่อมีการพยายามเชื่อมต่อ |
kState_EstablishingSession
|
ระบุว่ามีการสร้างเซสชันที่ปลอดภัยเมื่อใด |
kState_ReadyToConnect
|
สถานะหลังจากการเริ่มต้นการเชื่อมต่อ Weave |
kState_Resolving
|
สถานะเมื่อกำลังแปลงชื่อ DNS |
kState_SendShutdown
|
สถานะเมื่อการเชื่อมต่อกำลังจะปิด |
TunneledMsgReceiveFunct
void(* TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
ฟังก์ชันนี้คือ Callback ของแอปพลิเคชันที่จะเรียกใช้เมื่อได้รับแพ็กเก็ตข้อมูล Tunneled ผ่านการเชื่อมต่อ Weave
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
แอตทริบิวต์สาธารณะ
AppState
void * AppState
ตัวชี้ไปยังออบเจ็กต์สถานะเฉพาะแอปพลิเคชัน
AuthMode
WeaveAuthMode AuthMode
[อ่านอย่างเดียว] โหมดการตรวจสอบสิทธิ์ที่ใช้เพื่อสร้างคีย์การเข้ารหัสเริ่มต้นสำหรับการเชื่อมต่อ
DefaultEncryptionType
uint8_t DefaultEncryptionType
ประเภทการเข้ารหัสเริ่มต้นสำหรับข้อความ
DefaultKeyId
uint16_t DefaultKeyId
คีย์การเข้ารหัสเริ่มต้นที่จะใช้เมื่อส่งข้อความ
NetworkType
uint8_t NetworkType
[อ่านอย่างเดียว] ประเภทเครือข่ายของจุดสิ้นสุดที่เกี่ยวข้อง
OnConnectionClosed
ConnectionClosedFunct OnConnectionClosed
OnConnectionComplete
ConnectionCompleteFunct OnConnectionComplete
OnMessageReceived
MessageReceiveFunct OnMessageReceived
OnReceiveError
ReceiveErrorFunct OnReceiveError
OnTunneledMessageReceived
TunneledMsgReceiveFunct OnTunneledMessageReceived
PeerAddr
IPAddress PeerAddr
[READ ONLY] ที่อยู่ IP ของโหนดเพียร์
PeerNodeId
uint64_t PeerNodeId
[อ่านอย่างเดียว] ตัวระบุโหนดของเพียร์
PeerPort
uint16_t PeerPort
[อ่านอย่างเดียว] หมายเลขพอร์ตของโหนดเพียร์
ReceiveEnabled
bool ReceiveEnabled
[READ ONLY] True หากเปิดใช้การรับ จะเป็น false หากไม่เป็นเช่นนั้น
SendDestNodeId
bool SendDestNodeId
เป็นจริงหากข้อความทั้งหมดที่ส่งผ่านการเชื่อมต่อนี้ต้องมีตัวระบุโหนดปลายทางที่เข้ารหัสอย่างชัดเจน มิเช่นนั้น จะเป็นเท็จ
SendSourceNodeId
bool SendSourceNodeId
เป็นจริงหากข้อความทั้งหมดที่ส่งผ่านการเชื่อมต่อนี้ต้องมีตัวระบุโหนดแหล่งที่มาที่เข้ารหัสอย่างชัดเจน มิฉะนั้นจะเป็น "เท็จ"
ฟังก์ชันสาธารณะ
ล้มเลิก
void Abort( void )
ดำเนินการปิด WeaveConnection แบบ TCP หรือ BLE อย่างไม่สวยงามนัก โดยละทิ้งข้อมูลใดๆ ที่อาจอยู่ระหว่างการส่งไปยังหรือจากเพียร์
การเรียกใช้ Abort() จะยุติการเชื่อมต่อที่สำคัญทันที หลังจากจุดนี้ คุณจะใช้ออบเจ็กต์ WeaveConnection เพื่อสื่อสารเพิ่มเติมไม่ได้อีก
การเรียกใช้ Abort() จะลดจำนวนการอ้างอิงที่เชื่อมโยงกับออบเจ็กต์ WeaveConnection ไม่ว่าการเชื่อมต่อจะเปิด/ใช้งานอยู่ในขณะที่เรียกใช้เมธอดดังกล่าวหรือไม่ก็ตาม หากจำนวนการอ้างอิงเป็นศูนย์จะทำให้ทรัพยากรที่เชื่อมโยงกับออบเจ็กต์การเชื่อมต่อนั้นว่าง เมื่อเกิดกรณีนี้ขึ้น แอปพลิเคชันต้องไม่มีการโต้ตอบกับออบเจ็กต์นั้นอีก
โปรดดูข้อมูลเพิ่มเติมที่Shutdown(), Abort(), AddRef() และ Release()
AddRef
void AddRef( void )
จองการอ้างอิงไปยังออบเจ็กต์ WeaveConnection
เมธอด AddRef() จะเพิ่มจำนวนข้อมูลอ้างอิงที่เชื่อมโยงกับออบเจ็กต์ WeaveConnection สำหรับการเรียก AddRef() ทุกครั้ง แอปพลิเคชันจะมีหน้าที่เรียกที่สอดคล้องกับ Release(), Close() หรือ Abort()
ปิด
WEAVE_ERROR Close( void )
ดำเนินการปิด WeaveConnection แบบ TCP หรือ BLE โดยไม่บล็อกอย่างแนบเนียน โดยส่งข้อมูลขาออกที่เหลืออยู่ก่อนจะแจ้งโฮสต์ระยะไกลอย่างสุภาพว่าเราได้รีเซ็ตการเชื่อมต่อแล้ว
วิธีการนี้ไม่รับประกันอย่างหนักแน่นว่าแอปเทียบเท่าระยะไกลได้รับข้อความขาออกที่ไม่รับทราบในระดับโปรโตคอลของแอปพลิเคชัน สำหรับทั้ง TCP และ BLE สแต็กโปรโตคอลที่อยู่เบื้องหลังจะพยายามอย่างเต็มที่ในการส่งข้อมูลขาออกทั้งหมดที่รอดำเนินการอยู่ก่อนที่จะรีเซ็ตการเชื่อมต่อ สำหรับ TCP คุณควรใช้ Shutdown() ก่อน Close() หากต้องยืนยันการรับข้อความใน Transport Layer ก่อนปิดการเชื่อมต่อ การเชื่อมต่อ BLE ไม่มีค่าเทียบเท่า Shutdown()
สำหรับการเชื่อมต่อแบบ BLE นั้น Close() จะปิด WeaveConnection และแสดงผลทันที แต่อาจทำให้ออบเจ็กต์ BLEEndPoint ที่เกี่ยวข้องค้างอยู่จนกว่าจะมีการส่งข้อมูลขาออกทั้งหมด ซึ่งเป็นผลข้างเคียงของการใช้โปรโตคอลการรับส่งข้อมูล Weave over BLE ที่มีอยู่ใน Weave BleLayer
เมื่อเรียก Close() แล้ว จะใช้ออบเจ็กต์ WeaveConnection เพื่อสื่อสารเพิ่มเติมไม่ได้อีกต่อไป
การเรียกใช้ Close() จะเป็นการลดจำนวนข้อมูลอ้างอิงที่เชื่อมโยงกับออบเจ็กต์ WeaveConnection ไม่ว่าการเชื่อมต่อจะเปิด/ใช้งานในขณะที่เรียกใช้เมธอดดังกล่าวหรือไม่ก็ตาม หากจำนวนการอ้างอิงเป็นศูนย์จะทำให้ทรัพยากรที่เชื่อมโยงกับออบเจ็กต์การเชื่อมต่อนั้นว่าง เมื่อเกิดกรณีนี้ขึ้น แอปพลิเคชันต้องไม่มีการโต้ตอบกับออบเจ็กต์นั้นอีก
รายละเอียด | |
---|---|
การคืนสินค้า |
WEAVE_NO_ERROR อย่างไม่มีเงื่อนไข
|
Shutdown(), Abort(), AddRef() และ Release()
ปิด
WEAVE_ERROR Close( bool suppressCloseLog )
ดำเนินการปิด WeaveConnection แบบ TCP หรือ BLE โดยไม่บล็อกอย่างแนบเนียน โดยส่งข้อมูลขาออกที่เหลืออยู่ก่อนจะแจ้งโฮสต์ระยะไกลอย่างสุภาพว่าเราได้รีเซ็ตการเชื่อมต่อแล้ว
วิธีการนี้ไม่รับประกันอย่างหนักแน่นว่าแอปเทียบเท่าระยะไกลได้รับข้อความขาออกที่ไม่รับทราบในระดับโปรโตคอลของแอปพลิเคชัน สำหรับทั้ง TCP และ BLE สแต็กโปรโตคอลที่อยู่เบื้องหลังจะพยายามอย่างเต็มที่ในการส่งข้อมูลขาออกทั้งหมดที่รอดำเนินการอยู่ก่อนที่จะรีเซ็ตการเชื่อมต่อ สำหรับ TCP คุณควรใช้ Shutdown() ก่อน Close() หากต้องยืนยันการรับข้อความใน Transport Layer ก่อนปิดการเชื่อมต่อ การเชื่อมต่อ BLE ไม่มีค่าเทียบเท่า Shutdown()
สำหรับการเชื่อมต่อแบบ BLE นั้น Close() จะปิด WeaveConnection และแสดงผลทันที แต่อาจทำให้ออบเจ็กต์ BLEEndPoint ที่เกี่ยวข้องค้างอยู่จนกว่าจะมีการส่งข้อมูลขาออกทั้งหมด ซึ่งเป็นผลข้างเคียงของการใช้โปรโตคอลการรับส่งข้อมูล Weave over BLE ที่มีอยู่ใน Weave BleLayer
เมื่อเรียก Close() แล้ว จะใช้ออบเจ็กต์ WeaveConnection เพื่อสื่อสารเพิ่มเติมไม่ได้อีกต่อไป
การเรียกใช้ Close() จะเป็นการลดจำนวนข้อมูลอ้างอิงที่เชื่อมโยงกับออบเจ็กต์ WeaveConnection ไม่ว่าการเชื่อมต่อจะเปิด/ใช้งานในขณะที่เรียกใช้เมธอดดังกล่าวหรือไม่ก็ตาม หากจำนวนการอ้างอิงเป็นศูนย์จะทำให้ทรัพยากรที่เชื่อมโยงกับออบเจ็กต์การเชื่อมต่อนั้นว่าง เมื่อเกิดกรณีนี้ขึ้น แอปพลิเคชันต้องไม่มีการโต้ตอบกับออบเจ็กต์นั้นอีก
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
||
การคืนสินค้า |
WEAVE_NO_ERROR อย่างไม่มีเงื่อนไข
|
Shutdown(), Abort(), AddRef() และ Release()
เชื่อมต่อ
WEAVE_ERROR Connect( uint64_t peerNodeId )
เชื่อมต่อกับโหนด Weave โดยใช้ที่อยู่ IP แบบ Fabric ที่ได้จากตัวระบุโหนดที่ระบุ
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
ผลลัพธ์ |
|
เชื่อมต่อ
WEAVE_ERROR Connect( uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort )
เชื่อมต่อกับโหนด Weave โดยใช้ตัวระบุโหนดและ/หรือที่อยู่ IP
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
ผลลัพธ์ |
|
เชื่อมต่อ
WEAVE_ERROR Connect( uint64_t peerNodeId, WeaveAuthMode authMode, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId intf )
เชื่อมต่อกับโหนด Weave โดยใช้ตัวระบุโหนดและ/หรือที่อยู่ IP บนอินเทอร์เฟซที่เจาะจง
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
ผลลัพธ์ |
|
เชื่อมต่อ
WEAVE_ERROR Connect( uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t defaultPort )
เชื่อมต่อกับโหนด Weave โดยใช้ตัวระบุโหนดและ/หรือชื่อโฮสต์สตริง
หากระบุ เพียร์Addr จะเป็นค่าใดก็ได้ต่อไปนี้
: : [ ]:
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
ผลลัพธ์ |
|
เชื่อมต่อ
WEAVE_ERROR Connect( uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint16_t defaultPort )
เชื่อมต่อกับโหนด Weave โดยใช้ตัวระบุโหนดและ/หรือที่อยู่เพียร์ของสตริง
หากระบุ เพียร์Addr จะเป็นค่าใดก็ได้ต่อไปนี้
: : [ ]:
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
ผลลัพธ์ |
|
เชื่อมต่อ
WEAVE_ERROR Connect( uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint8_t dnsOptions, uint16_t defaultPort )
เชื่อมต่อกับโหนด Weave โดยใช้ตัวระบุโหนดและ/หรือที่อยู่เพียร์ของสตริง
หากระบุ เพียร์Addr จะเป็นค่าใดก็ได้ต่อไปนี้
: : [ ]:
รายละเอียด | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||||
ผลลัพธ์ |
|
เชื่อมต่อ
WEAVE_ERROR Connect( uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf )
เชื่อมต่อกับโหนด Weave โดยใช้ตัวระบุโหนดและ/หรือรายการชื่อโฮสต์และพอร์ต
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
ผลลัพธ์ |
|
เชื่อมต่อ
WEAVE_ERROR Connect( uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, uint8_t dnsOptions, InterfaceId intf )
เชื่อมต่อกับโหนด Weave โดยใช้ตัวระบุโหนดและ/หรือรายการชื่อโฮสต์และพอร์ต
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
ผลลัพธ์ |
|
DisableKeepAlive
WEAVE_ERROR DisableKeepAlive( void )
WeaveConnection::DisableKeepAlive.
ปิดใช้การตรวจสอบ TCP Keepalive บนการเชื่อมต่อ TCP ที่สำคัญ
หมายเหตุ: วิธีการนี้สามารถเรียกใช้ได้เฉพาะบนการเชื่อมต่อ Weave ที่ได้รับการสนับสนุนโดยการเชื่อมต่อ TCP ระบบจะเรียกใช้เมธอดนี้ได้ก็ต่อเมื่อการเชื่อมต่ออยู่ในสถานะที่อนุญาตการส่งเท่านั้น
วิธีนี้จะไม่ช่วยใดๆ หากไม่ได้เปิดใช้การรักษาไว้ในการเชื่อมต่อ
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
ผลลัพธ์ |
|
DisableReceive
void DisableReceive( void )
ปิดใช้การรับผ่าน WeaveConnection นี้
แอปพลิเคชันจะใช้วิธีการนี้เพื่อระบุว่าแอปยังไม่พร้อมที่จะรับข้อมูลที่มาถึงผ่านการเชื่อมต่อ TCP ในการเปิดใช้การรับอีกครั้ง แอปพลิเคชันต้องเรียกใช้ EnableReceive() เพื่ออนุญาตให้ WeaveConnection ส่งข้อมูลที่ได้รับด้วยการเรียกใช้ Callback ที่เหมาะสม
ดูเพิ่มเติมEnableReceive()
EnableKeepAlive
WEAVE_ERROR EnableKeepAlive( uint16_t interval, uint16_t timeoutCount )
WeaveConnection::EnableKeepAlive.
เปิดใช้การตรวจสอบ TCP Keepalive บนการเชื่อมต่อ TCP ที่สำคัญ
หมายเหตุ: - วิธีการนี้สามารถเรียกใช้ได้เฉพาะบนการเชื่อมต่อ Weave ที่ได้รับการสนับสนุนโดยการเชื่อมต่อ TCP -จะเรียกใช้เมธอดนี้ได้เมื่อการเชื่อมต่ออยู่ในสถานะที่อนุญาตให้ส่งได้เท่านั้น
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
- วิธีการนี้สามารถเรียกใช้ได้หลายครั้งเพื่อปรับจำนวน Keepalive หรือการหมดเวลา
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
ผลลัพธ์ |
|
EnableReceive
void EnableReceive( void )
เปิดใช้การรับผ่าน WeaveConnection นี้
แอปพลิเคชันจะใช้วิธีการนี้เพื่อระบุให้ออบเจ็กต์ WeaveConnection ทราบว่าพร้อมจะรับข้อมูลใดๆ ที่มาถึงผ่านการเชื่อมต่อ TCP
ดูเพิ่มเติมDisableReceive()
GetPeerAddressInfo
WEAVE_ERROR GetPeerAddressInfo( IPPacketInfo & addrInfo )
รับข้อมูลที่อยู่ IP ของเพียร์
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
ผลลัพธ์ |
|
GetPeerDescription
void GetPeerDescription( char *buf, size_t bufSize ) const
สร้างสตริงที่อธิบายโหนดเพียร์ที่เชื่อมโยงกับการเชื่อมต่อ
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
GetTCPEndPoint
TCPEndPoint * GetTCPEndPoint( void ) const
IsIncoming
bool IsIncoming( void ) const
LogId
uint16_t LogId( void ) const
เผยแพร่
void Release( void )
ลดจำนวนการอ้างอิงในออบเจ็กต์ WeaveConnection
เมธอด Release() จะลดจำนวนการอ้างอิงที่เชื่อมโยงกับออบเจ็กต์ WeaveConnection หากจำนวนการอ้างอิงเป็นศูนย์ แสดงว่าการเชื่อมต่อถูกปิดและออบเจ็กต์การเชื่อมต่อจะเป็นอิสระ เมื่อเกิดกรณีนี้ขึ้น แอปพลิเคชันต้องไม่มีการโต้ตอบกับออบเจ็กต์นั้นอีก
ResetUserTimeout
WEAVE_ERROR ResetUserTimeout( void )
WeaveConnection::ResetUserTimeout
รีเซ็ตตัวเลือกซ็อกเก็ตระยะหมดเวลาของผู้ใช้ TCP เป็นค่าเริ่มต้นของระบบ
หมายเหตุ: - วิธีการนี้สามารถเรียกใช้ได้เฉพาะบนการเชื่อมต่อ Weave ที่ได้รับการสนับสนุนโดยการเชื่อมต่อ TCP -จะเรียกใช้เมธอดนี้ได้เมื่อการเชื่อมต่ออยู่ในสถานะที่อนุญาตให้ส่งได้เท่านั้น
-วิธีนี้จะไม่ดำเนินการใดๆ หากไม่ได้ตั้งค่าการหมดเวลาของผู้ใช้ในการเชื่อมต่อ
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
ผลลัพธ์ |
|
SendMessage
WEAVE_ERROR SendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
ส่งข้อความ Weave ผ่านการเชื่อมต่อที่มีอยู่แล้ว
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
ผลลัพธ์ |
|
SendTunneledMessage
WEAVE_ERROR SendTunneledMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
ฟังก์ชันเพื่อส่งแพ็กเก็ต Tunneled ผ่านการเชื่อมต่อ Weave
ส่งข้อความ Weave ผ่านอุโมงค์ข้อมูลผ่านการเชื่อมต่อที่มีอยู่แล้ว
รายละเอียด | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
||||||||||
ผลลัพธ์ |
|
SetConnectTimeout
void SetConnectTimeout( const uint32_t connTimeoutMsecs )
ตั้งค่าระยะหมดเวลาสำหรับ Connect เพื่อให้ดำเนินการสำเร็จหรือแสดงผลข้อผิดพลาด
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetIdleTimeout
WEAVE_ERROR SetIdleTimeout( uint32_t timeoutMS )
กำหนดระยะหมดเวลาเนื่องจากไม่มีการใช้งานในการเชื่อมต่อเลเยอร์เครือข่ายที่เกี่ยวข้อง
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
||||
ผลลัพธ์ |
|
SetIncoming
void SetIncoming( bool val )
SetUserTimeout
WEAVE_ERROR SetUserTimeout( uint32_t userTimeoutMillis )
WeaveConnection::SetUserTimeout
ตั้งค่าตัวเลือกซ็อกเก็ตระยะหมดเวลาของผู้ใช้ TCP
เมื่อค่ามากกว่า 0 ค่าดังกล่าวจะระบุระยะเวลาสูงสุดเป็นมิลลิวินาทีที่ระบบอาจยังไม่ได้รับทราบข้อมูลที่ส่งก่อนที่ TCP จะบังคับให้ปิดการเชื่อมต่อที่เกี่ยวข้อง หากระบุค่าตัวเลือกเป็น 0 นั้น TCP จะใช้ค่าเริ่มต้นของระบบ โปรดดูรายละเอียดเพิ่มเติมที่ RFC 5482
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
หมายเหตุ: - วิธีการนี้สามารถเรียกใช้ได้เฉพาะบนการเชื่อมต่อ Weave ที่ได้รับการสนับสนุนโดยการเชื่อมต่อ TCP -จะเรียกใช้เมธอดนี้ได้เมื่อการเชื่อมต่ออยู่ในสถานะที่อนุญาตให้ส่งได้เท่านั้น
- วิธีการนี้สามารถเรียกใช้ได้หลายครั้งเพื่อปรับระยะหมดเวลาของผู้ใช้ TCP
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
ผลลัพธ์ |
|
ปิดการทำงาน
WEAVE_ERROR Shutdown( void )
ดำเนินการปิดการส่ง TCP อย่างค่อยเป็นค่อยไปเพื่อให้แน่ใจว่าสแต็ก TCP ของเพียร์จะส่งและรับข้อมูลขาออกทั้งหมด
เมื่อใช้ TCP ส่วนใหญ่ (แต่ไม่ใช่ทั้งหมด) การได้รับการปิดระบบส่งจะทำให้โฮสต์ระยะไกลปิดการเชื่อมต่อฝั่งของตนด้วย ซึ่งทำให้การเชื่อมต่อปิดลง การเรียก Close() ในภายหลังจะยุติ WeaveConnection
รายละเอียด | |||||||||
---|---|---|---|---|---|---|---|---|---|
ผลลัพธ์ |
|
Close() และ Abort()