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