nl::Weave::WeaveConnection

#include <src/lib/core/WeaveMessageLayer.h>

คำจำกัดความของคลาส Weave Connection

สรุป

โดยจะแสดงการเชื่อมต่อ TCP หรือ BLE กับโหนด Weave อื่น

ประเภทสาธารณะ

@58{
  kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enum
ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr) Typedef
void(*
ฟังก์ชันนี้คือ Callback ของแอปพลิเคชันที่เรียกใช้เมื่อปิดการเชื่อมต่อ
ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr) Typedef
void(*
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่เรียกใช้เมื่อตั้งค่าการเชื่อมต่อเสร็จสิ้น
MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) Typedef
void(*
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่เรียกใช้เมื่อได้รับข้อความผ่านการเชื่อมต่อ Weave
NetworkType{
  kNetworkType_Unassigned = 0,
  kNetworkType_IP = 1,
  kNetworkType_BLE = 2
}
enum
ประเภทเครือข่ายของออบเจ็กต์การเชื่อมต่อ Weave
ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err) Typedef
void(*
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่เรียกใช้เมื่อพบข้อผิดพลาดเมื่อได้รับข้อความ Weave
State{
  kState_ReadyToConnect = 0,
  kState_Resolving = 1,
  kState_Connecting = 2,
  kState_EstablishingSession = 3,
  kState_Connected = 4,
  kState_SendShutdown = 5,
  kState_Closed = 6
}
enum
สถานะของออบเจ็กต์การเชื่อมต่อ Weave
TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) Typedef
void(*
ฟังก์ชันนี้คือ 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 ของแอปพลิเคชันที่เรียกใช้เมื่อปิดการเชื่อมต่อ

รายละเอียด
พารามิเตอร์
[in] con
ตัวชี้ไปยังออบเจ็กต์ WeaveConnection
[in] conErr
พบ WEAVE_ERROR เมื่อปิดการเชื่อมต่อ

ConnectionCompleteFunct

void(* ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr)

ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่เรียกใช้เมื่อตั้งค่าการเชื่อมต่อเสร็จสิ้น

รายละเอียด
พารามิเตอร์
[in] con
ตัวชี้ไปยังออบเจ็กต์ WeaveConnection
[in] conErr
WEAVE_ERROR พบระหว่างการตั้งค่าการเชื่อมต่อ

MessageReceiveFunct

void(* MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)

ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่เรียกใช้เมื่อได้รับข้อความผ่านการเชื่อมต่อ Weave

รายละเอียด
พารามิเตอร์
[in] con
ตัวชี้ไปยังออบเจ็กต์ WeaveConnection
[in] msgInfo
ตัวชี้ไปยังโครงสร้าง WeaveMessageInfo ที่มีข้อมูลเกี่ยวกับข้อความ
[in] msgBuf
ตัวชี้ไปยังออบเจ็กต์ PacketBuffer ที่มีข้อความ

NetworkType

 NetworkType

ประเภทเครือข่ายของออบเจ็กต์การเชื่อมต่อ Weave

พร็อพเพอร์ตี้
kNetworkType_BLE

ประเภทเครือข่าย BLE

kNetworkType_IP

ประเภทเครือข่าย TCP/IP

kNetworkType_Unassigned

ประเภทเครือข่ายที่ไม่ได้กำหนด

ReceiveErrorFunct

void(* ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err)

ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันที่เรียกใช้เมื่อพบข้อผิดพลาดเมื่อได้รับข้อความ Weave

รายละเอียด
พารามิเตอร์
[in] con
ตัวชี้ไปยังออบเจ็กต์ WeaveConnection
[in] err
WEAVE_ERROR ที่พบเมื่อรับข้อมูลผ่านการเชื่อมต่อ

รัฐ

 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

รายละเอียด
พารามิเตอร์
[in] con
ตัวชี้ไปยังออบเจ็กต์ WeaveConnection
[in] msgInfo
ตัวชี้ไปยังออบเจ็กต์ WeaveMessageInfo
[in] msgBuf
ตัวชี้ไปยังออบเจ็กต์ PacketBuffer ที่มีแพ็กเก็ต Tunnel ที่ได้รับ

แอตทริบิวต์สาธารณะ

AppState

void * AppState

ตัวชี้ไปยังออบเจ็กต์สถานะเฉพาะแอปพลิเคชัน

AuthMode

WeaveAuthMode AuthMode

[อ่านอย่างเดียว] โหมดการตรวจสอบสิทธิ์ที่ใช้เพื่อสร้างคีย์การเข้ารหัสเริ่มต้นสำหรับการเชื่อมต่อ

DefaultEncryptionType

uint8_t DefaultEncryptionType

ประเภทการเข้ารหัสเริ่มต้นสำหรับข้อความ

DefaultKeyId

uint16_t DefaultKeyId

คีย์การเข้ารหัสเริ่มต้นที่จะใช้เมื่อส่งข้อความ

MessageLayer

WeaveMessageLayer * MessageLayer

[READ ONLY] ออบเจ็กต์ WeaveMessageLayer ที่เกี่ยวข้อง

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

เป็นจริงหากข้อความทั้งหมดที่ส่งผ่านการเชื่อมต่อนี้ต้องมีตัวระบุโหนดแหล่งที่มาที่เข้ารหัสอย่างชัดเจน มิฉะนั้นจะเป็น "เท็จ"

รัฐ

uint8_t State

[READ ONLY] สถานะของออบเจ็กต์ WeaveConnection

ฟังก์ชันสาธารณะ

ล้มเลิก

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 ไม่ว่าการเชื่อมต่อจะเปิด/ใช้งานในขณะที่เรียกใช้เมธอดดังกล่าวหรือไม่ก็ตาม หากจำนวนการอ้างอิงเป็นศูนย์จะทำให้ทรัพยากรที่เชื่อมโยงกับออบเจ็กต์การเชื่อมต่อนั้นว่าง เมื่อเกิดกรณีนี้ขึ้น แอปพลิเคชันต้องไม่มีการโต้ตอบกับออบเจ็กต์นั้นอีก

รายละเอียด
พารามิเตอร์
[in] suppressCloseLog
True หากต้องระงับบันทึก มิฉะนั้นจะเป็น False
การคืนสินค้า
WEAVE_NO_ERROR อย่างไม่มีเงื่อนไข
โปรดดูข้อมูลเพิ่มเติมที่
Shutdown(), Abort(), AddRef() และ Release()

เชื่อมต่อ

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

เชื่อมต่อกับโหนด Weave โดยใช้ที่อยู่ IP แบบ Fabric ที่ได้จากตัวระบุโหนดที่ระบุ

รายละเอียด
พารามิเตอร์
[in] peerNodeId
ตัวระบุโหนดของเพียร์
ผลลัพธ์
WEAVE_NO_ERROR
ในการเริ่มต้นการเชื่อมต่อกับเพียร์ที่ประสบความสำเร็จ
WEAVE_ERROR_INCORRECT_STATE
หากสถานะ WeaveConnection ไม่ถูกต้อง
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
หากระบบไม่รองรับโหมดการตรวจสอบสิทธิ์ที่ขอ
WEAVE_ERROR_INVALID_ADDRESS
หากอนุมานที่อยู่ปลายทางจากรหัสโหนดไม่ได้
other
ข้อผิดพลาดของเลเยอร์ Inet ที่สร้างขึ้นจากการดำเนินการเชื่อมต่อ TCPEndPoint

เชื่อมต่อ

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort
)

เชื่อมต่อกับโหนด Weave โดยใช้ตัวระบุโหนดและ/หรือที่อยู่ IP

รายละเอียด
พารามิเตอร์
[in] peerNodeId
ตัวระบุโหนดของเพียร์, kNodeIdNotSpecified หรือ 0 หากไม่ทราบ
[in] peerAddr
ที่อยู่ IP ของเพียร์ IPAddress::Any หากไม่ทราบ
[in] peerPort
พอร์ตที่ไม่บังคับของการเพียร์ ค่าเริ่มต้นคือ WEAVE_PORT
ผลลัพธ์
WEAVE_NO_ERROR
ในการเริ่มต้นการเชื่อมต่อกับเพียร์ที่ประสบความสำเร็จ
WEAVE_ERROR_INCORRECT_STATE
หากสถานะ WeaveConnection ไม่ถูกต้อง
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
หากระบบไม่รองรับโหมดการตรวจสอบสิทธิ์ที่ขอ
WEAVE_ERROR_INVALID_ADDRESS
หากอนุมานที่อยู่ปลายทางจากรหัสโหนดไม่ได้
other
ข้อผิดพลาดของเลเยอร์ Inet ที่สร้างขึ้นจากการดำเนินการเชื่อมต่อ TCPEndPoint

เชื่อมต่อ

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  InterfaceId intf
)

เชื่อมต่อกับโหนด Weave โดยใช้ตัวระบุโหนดและ/หรือที่อยู่ IP บนอินเทอร์เฟซที่เจาะจง

รายละเอียด
พารามิเตอร์
[in] peerNodeId
ตัวระบุโหนดของเพียร์, kNodeIdNotSpecified หรือ 0 หากไม่ทราบ
[in] authMode
โหมดการตรวจสอบสิทธิ์ที่ต้องการสำหรับเพียร์ รองรับเฉพาะโหมดตัวอักษร PASE และไม่ตรวจสอบสิทธิ์
[in] peerAddr
ที่อยู่ IP ของเพียร์ IPAddress::Any หากไม่ทราบ
[in] peerPort
พอร์ตที่ไม่บังคับของการเพียร์ ค่าเริ่มต้นคือ WEAVE_PORT
[in] intf
อินเทอร์เฟซที่ไม่บังคับสำหรับใช้เพื่อเชื่อมต่อกับโหนดการเพียร์ ค่าเริ่มต้นคือ INET_NULL_INTERFACEID
ผลลัพธ์
WEAVE_NO_ERROR
ในการเริ่มต้นการเชื่อมต่อกับเพียร์ที่ประสบความสำเร็จ
WEAVE_ERROR_INCORRECT_STATE
หากสถานะ WeaveConnection ไม่ถูกต้อง
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
หากระบบไม่รองรับโหมดการตรวจสอบสิทธิ์ที่ขอ
WEAVE_ERROR_INVALID_ADDRESS
หากอนุมานที่อยู่ปลายทางจากตัวระบุโหนดไม่ได้
other
ข้อผิดพลาดของเลเยอร์ Inet ที่สร้างขึ้นจากการดำเนินการเชื่อมต่อ TCPEndPoint

เชื่อมต่อ

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t defaultPort
)

เชื่อมต่อกับโหนด Weave โดยใช้ตัวระบุโหนดและ/หรือชื่อโฮสต์สตริง

หากระบุ เพียร์Addr จะเป็นค่าใดก็ได้ต่อไปนี้


:

:

[]:

รายละเอียด
พารามิเตอร์
[in] peerNodeId
ตัวระบุโหนดของเพียร์, kNodeIdNotSpecified หรือ 0 หากไม่ทราบ
[in] authMode
โหมดการตรวจสอบสิทธิ์ที่ต้องการสำหรับเพียร์ รองรับเฉพาะโหมดตัวอักษร PASE และไม่ตรวจสอบสิทธิ์
[in] peerAddr
ที่อยู่หรือชื่อโฮสต์ของเพียร์เป็นสตริง C ที่มีค่า NULL
[in] defaultPort
พอร์ตเริ่มต้นที่ไม่บังคับซึ่งใช้สำหรับการเชื่อมต่อหากไม่ได้ระบุไว้ในสตริง PeerAddr
ผลลัพธ์
WEAVE_NO_ERROR
ในการเริ่มต้นการเชื่อมต่อกับเพียร์ที่ประสบความสำเร็จ
WEAVE_ERROR_INCORRECT_STATE
หากสถานะ WeaveConnection ไม่ถูกต้อง
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
หากระบบไม่รองรับโหมดการตรวจสอบสิทธิ์ที่ขอ
WEAVE_ERROR_INVALID_ADDRESS
หากอนุมานที่อยู่ปลายทางจากรหัสโหนดไม่ได้
other
ข้อผิดพลาดของเลเยอร์ Inet ที่สร้างขึ้นจากการดำเนินการเชื่อมต่อ TCPEndPoint

เชื่อมต่อ

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t peerAddrLen,
  uint16_t defaultPort
)

เชื่อมต่อกับโหนด Weave โดยใช้ตัวระบุโหนดและ/หรือที่อยู่เพียร์ของสตริง

หากระบุ เพียร์Addr จะเป็นค่าใดก็ได้ต่อไปนี้


:

:

[]:

รายละเอียด
พารามิเตอร์
[in] peerNodeId
ตัวระบุโหนดของเพียร์, kNodeIdNotSpecified หรือ 0 หากไม่ทราบ
[in] authMode
โหมดการตรวจสอบสิทธิ์ที่ต้องการสำหรับเพียร์ รองรับเฉพาะโหมดตัวอักษร PASE และไม่ตรวจสอบสิทธิ์
[in] peerAddr
ที่อยู่หรือชื่อโฮสต์ของเพียร์เป็นสตริง C ที่ไม่มีค่า NULL
[in] peerAddrLen
ความยาวของสตริง PeerAddr
[in] defaultPort
พอร์ตเริ่มต้นที่ไม่บังคับซึ่งใช้สำหรับการเชื่อมต่อหากไม่ได้ระบุไว้ในสตริง PeerAddr
ผลลัพธ์
WEAVE_NO_ERROR
ในการเริ่มต้นการเชื่อมต่อกับเพียร์ที่ประสบความสำเร็จ
WEAVE_ERROR_INCORRECT_STATE
หากสถานะ WeaveConnection ไม่ถูกต้อง
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
หากระบบไม่รองรับโหมดการตรวจสอบสิทธิ์ที่ขอ
WEAVE_ERROR_INVALID_ADDRESS
หากอนุมานที่อยู่ปลายทางจากรหัสโหนดไม่ได้
other
ข้อผิดพลาดของเลเยอร์ Inet ที่สร้างขึ้นจากการดำเนินการเชื่อมต่อ TCPEndPoint

เชื่อมต่อ

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t peerAddrLen,
  uint8_t dnsOptions,
  uint16_t defaultPort
)

เชื่อมต่อกับโหนด Weave โดยใช้ตัวระบุโหนดและ/หรือที่อยู่เพียร์ของสตริง

หากระบุ เพียร์Addr จะเป็นค่าใดก็ได้ต่อไปนี้


:

:

[]:

รายละเอียด
พารามิเตอร์
[in] peerNodeId
ตัวระบุโหนดของเพียร์, kNodeIdNotSpecified หรือ 0 หากไม่ทราบ
[in] authMode
โหมดการตรวจสอบสิทธิ์ที่ต้องการสำหรับเพียร์ รองรับเฉพาะโหมดตัวอักษร PASE และไม่ตรวจสอบสิทธิ์
[in] peerAddr
ที่อยู่หรือชื่อโฮสต์ของเพียร์เป็นสตริง C ที่ไม่มีค่า NULL
[in] peerAddrLen
ความยาวของสตริง PeerAddr
[in] dnsOptions
ค่าจำนวนเต็มที่ควบคุมวิธีการแก้ไขชื่อโฮสต์ ค่าควรเป็น "หรือ" ของค่าอย่างน้อย 1 ค่าจากการแจกแจง #::nl::Inet::DNSOptions
[in] defaultPort
พอร์ตเริ่มต้นที่ไม่บังคับซึ่งใช้สำหรับการเชื่อมต่อหากไม่ได้ระบุไว้ในสตริง PeerAddr
ผลลัพธ์
WEAVE_NO_ERROR
ในการเริ่มต้นการเชื่อมต่อกับเพียร์ที่ประสบความสำเร็จ
WEAVE_ERROR_INCORRECT_STATE
หากสถานะ WeaveConnection ไม่ถูกต้อง
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
หากระบบไม่รองรับโหมดการตรวจสอบสิทธิ์ที่ขอ
WEAVE_ERROR_INVALID_ADDRESS
หากอนุมานที่อยู่ปลายทางจากรหัสโหนดไม่ได้
other
ข้อผิดพลาดของเลเยอร์ Inet ที่สร้างขึ้นจากการดำเนินการเชื่อมต่อ TCPEndPoint

เชื่อมต่อ

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  HostPortList hostPortList,
  InterfaceId intf
)

เชื่อมต่อกับโหนด Weave โดยใช้ตัวระบุโหนดและ/หรือรายการชื่อโฮสต์และพอร์ต

รายละเอียด
พารามิเตอร์
[in] peerNodeId
ตัวระบุโหนดของเพียร์
[in] authMode
โหมดการตรวจสอบสิทธิ์ที่ใช้สำหรับการเชื่อมต่อ
[in] hostPortList
รายการชื่อโฮสต์และพอร์ต
[in] intf
อินเทอร์เฟซที่ไม่บังคับสำหรับใช้เพื่อเชื่อมต่อกับโหนดการเพียร์ ค่าเริ่มต้นคือ INET_NULL_INTERFACEID
ผลลัพธ์
WEAVE_NO_ERROR
ในการเริ่มต้นการเชื่อมต่อกับเพียร์ที่ประสบความสำเร็จ
WEAVE_ERROR_INCORRECT_STATE
หากสถานะ WeaveConnection ไม่ถูกต้อง
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
หากระบบไม่รองรับโหมดการตรวจสอบสิทธิ์ที่ขอ
WEAVE_ERROR_INVALID_ADDRESS
หากอนุมานที่อยู่ปลายทางจากรหัสโหนดไม่ได้
other
ข้อผิดพลาดของเลเยอร์ Inet ที่สร้างขึ้นจากการดำเนินการเชื่อมต่อ TCPEndPoint

เชื่อมต่อ

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  HostPortList hostPortList,
  uint8_t dnsOptions,
  InterfaceId intf
)

เชื่อมต่อกับโหนด Weave โดยใช้ตัวระบุโหนดและ/หรือรายการชื่อโฮสต์และพอร์ต

รายละเอียด
พารามิเตอร์
[in] peerNodeId
ตัวระบุโหนดของเพียร์
[in] authMode
โหมดการตรวจสอบสิทธิ์ที่ใช้สำหรับการเชื่อมต่อ
[in] hostPortList
รายการชื่อโฮสต์และพอร์ต
[in] dnsOptions
ค่าจำนวนเต็มที่ควบคุมวิธีการแก้ไขชื่อโฮสต์ ค่าควรเป็น "หรือ" ของค่าอย่างน้อย 1 ค่าจากการแจกแจง #::nl::Inet::DNSOptions
[in] intf
อินเทอร์เฟซที่ไม่บังคับสำหรับใช้เพื่อเชื่อมต่อกับโหนดการเพียร์ ค่าเริ่มต้นคือ INET_NULL_INTERFACEID
ผลลัพธ์
WEAVE_NO_ERROR
ในการเริ่มต้นการเชื่อมต่อกับเพียร์ที่ประสบความสำเร็จ
WEAVE_ERROR_INCORRECT_STATE
หากสถานะ WeaveConnection ไม่ถูกต้อง
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
หากระบบไม่รองรับโหมดการตรวจสอบสิทธิ์ที่ขอ
WEAVE_ERROR_INVALID_ADDRESS
หากอนุมานที่อยู่ปลายทางจากรหัสโหนดไม่ได้
other
ข้อผิดพลาดของเลเยอร์ Inet ที่สร้างขึ้นจากการดำเนินการเชื่อมต่อ TCPEndPoint

DisableKeepAlive

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection::DisableKeepAlive.

ปิดใช้การตรวจสอบ TCP Keepalive บนการเชื่อมต่อ TCP ที่สำคัญ

หมายเหตุ: วิธีการนี้สามารถเรียกใช้ได้เฉพาะบนการเชื่อมต่อ Weave ที่ได้รับการสนับสนุนโดยการเชื่อมต่อ TCP ระบบจะเรียกใช้เมธอดนี้ได้ก็ต่อเมื่อการเชื่อมต่ออยู่ในสถานะที่อนุญาตการส่งเท่านั้น

วิธีนี้จะไม่ช่วยใดๆ หากไม่ได้เปิดใช้การรักษาไว้ในการเชื่อมต่อ

รายละเอียด
ผลลัพธ์
WEAVE_NO_ERROR
ในการปิดใช้การตรวจสอบ Keepalive ของ TCP ในการเชื่อมต่อเรียบร้อยแล้ว
WEAVE_ERROR_NOT_IMPLEMENTED
หากมีการเรียกใช้ฟังก์ชันนี้สำหรับปลายทางที่เข้ากันไม่ได้ (เช่น BLE) ในเลเยอร์เครือข่าย
WEAVE_ERROR_INCORRECT_STATE
หากออบเจ็กต์ WeaveConnection ไม่ได้อยู่ในสถานะที่ถูกต้องสำหรับการส่งข้อความ
other
ข้อผิดพลาดของเลเยอร์ Inet ที่เกี่ยวข้องกับปลายทาง TCP จะเปิดใช้การดำเนินการ Keepalive

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 -จะเรียกใช้เมธอดนี้ได้เมื่อการเชื่อมต่ออยู่ในสถานะที่อนุญาตให้ส่งได้เท่านั้น

รายละเอียด
พารามิเตอร์
[in] interval
ช่วงเวลา (เป็นวินาที) ระหว่างการตรวจสอบ Keepalive ค่านี้ยังควบคุมเวลาระหว่างการส่งแพ็กเก็ตข้อมูลล่าสุดไปจนถึงการส่งการตรวจสอบ Keepalive แรกด้วย
[in] timeoutCount
จำนวนการตรวจสอบสูงสุดที่ยังไม่ได้รับทราบ ก่อนที่การเชื่อมต่อจะล้มเหลว

- วิธีการนี้สามารถเรียกใช้ได้หลายครั้งเพื่อปรับจำนวน Keepalive หรือการหมดเวลา

รายละเอียด
ผลลัพธ์
WEAVE_NO_ERROR
เมื่อเปิดใช้งานการตรวจสอบ Keepalive ของ TCP ในการเชื่อมต่อเรียบร้อยแล้ว
WEAVE_ERROR_NOT_IMPLEMENTED
หากมีการเรียกใช้ฟังก์ชันนี้สำหรับปลายทางที่เข้ากันไม่ได้ (เช่น BLE) ในเลเยอร์เครือข่าย
WEAVE_ERROR_INCORRECT_STATE
หากออบเจ็กต์ WeaveConnection ไม่ได้อยู่ในสถานะที่ถูกต้องสำหรับการส่งข้อความ
other
ข้อผิดพลาดของเลเยอร์ Inet ที่เกี่ยวข้องกับปลายทาง TCP จะเปิดใช้การดำเนินการ Keepalive

EnableReceive

void EnableReceive(
  void
)

เปิดใช้การรับผ่าน WeaveConnection นี้

แอปพลิเคชันจะใช้วิธีการนี้เพื่อระบุให้ออบเจ็กต์ WeaveConnection ทราบว่าพร้อมจะรับข้อมูลใดๆ ที่มาถึงผ่านการเชื่อมต่อ TCP

ดูเพิ่มเติม
DisableReceive()

GetPeerAddressInfo

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

รับข้อมูลที่อยู่ IP ของเพียร์

รายละเอียด
พารามิเตอร์
[out] addrInfo
การอ้างอิงออบเจ็กต์ IPPacketInfo
ผลลัพธ์
WEAVE_NO_ERROR
สำเร็จแล้ว
WEAVE_ERROR_NOT_IMPLEMENTED
หากมีการเรียกใช้ฟังก์ชันนี้สำหรับปลายทางที่เข้ากันไม่ได้ (เช่น BLE) ในเลเยอร์เครือข่าย

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize
) const 

สร้างสตริงที่อธิบายโหนดเพียร์ที่เชื่อมโยงกับการเชื่อมต่อ

รายละเอียด
พารามิเตอร์
[in] buf
ตัวชี้ไปยังบัฟเฟอร์ที่ควรจะเขียนสตริง บัฟเฟอร์ที่ระบุควรมีขนาดใหญ่อย่างน้อยเท่ากับ kGetPeerDescription_MaxLength หากใส่บัฟเฟอร์ที่เล็กกว่า ระบบจะตัดสตริงให้พอดี ผลลัพธ์จะมีอักขระสิ้นสุด NUL ในทุกกรณี
[in] bufSize
ขนาดของบัฟเฟอร์ที่ buf ชี้ไป

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 -จะเรียกใช้เมธอดนี้ได้เมื่อการเชื่อมต่ออยู่ในสถานะที่อนุญาตให้ส่งได้เท่านั้น

-วิธีนี้จะไม่ดำเนินการใดๆ หากไม่ได้ตั้งค่าการหมดเวลาของผู้ใช้ในการเชื่อมต่อ

รายละเอียด
ผลลัพธ์
WEAVE_NO_ERROR
ในการรีเซ็ตการหมดเวลาของผู้ใช้ TCP ที่สำเร็จในการเชื่อมต่อ
WEAVE_ERROR_NOT_IMPLEMENTED
หากมีการเรียกใช้ฟังก์ชันนี้สำหรับปลายทางที่เข้ากันไม่ได้ (เช่น BLE) ในเลเยอร์เครือข่าย
WEAVE_ERROR_INCORRECT_STATE
หากออบเจ็กต์ WeaveConnection ไม่ได้อยู่ในสถานะที่ถูกต้องสำหรับการส่งข้อความ
other
ข้อผิดพลาดของเลเยอร์ Inet ที่เกี่ยวข้องกับการรีเซ็ตปลายทาง TCP ของระยะหมดเวลาของผู้ใช้ TCP

SendMessage

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

ส่งข้อความ Weave ผ่านการเชื่อมต่อที่มีอยู่แล้ว

รายละเอียด
พารามิเตอร์
[in] msgInfo
ตัวชี้ไปยังออบเจ็กต์ WeaveMessageInfo
[in] msgBuf
ตัวชี้ไปยังออบเจ็กต์ PacketBuffer ที่มีแพ็กเก็ตที่จะส่ง
ผลลัพธ์
WEAVE_NO_ERROR
การส่งข้อความถึงเลเยอร์เครือข่ายสำเร็จ
WEAVE_ERROR_INCORRECT_STATE
หากออบเจ็กต์ WeaveConnection ไม่ได้อยู่ในสถานะที่ถูกต้องสำหรับการส่งข้อความ
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
หากไม่ได้ระบุตัวระบุโหนดปลายทาง
WEAVE_ERROR_SENDING_BLOCKED
หากข้อความยาวเกินกว่าที่จะส่ง
other
ข้อผิดพลาดของเลเยอร์ Inet ที่เกี่ยวข้องกับการดำเนินการส่งปลายทางที่เฉพาะเจาะจง

SendTunneledMessage

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

ฟังก์ชันเพื่อส่งแพ็กเก็ต Tunneled ผ่านการเชื่อมต่อ Weave

ส่งข้อความ Weave ผ่านอุโมงค์ข้อมูลผ่านการเชื่อมต่อที่มีอยู่แล้ว

รายละเอียด
พารามิเตอร์
[in] msgInfo
ตัวชี้ไปยังออบเจ็กต์ WeaveMessageInfo
[in] msgBuf
ตัวชี้ไปยังออบเจ็กต์ PacketBuffer ที่มีแพ็กเก็ตที่จะส่ง
ผลลัพธ์
WEAVE_NO_ERROR
การส่งข้อความถึงเลเยอร์เครือข่ายสำเร็จ
WEAVE_ERROR_INCORRECT_STATE
หากออบเจ็กต์ WeaveConnection ไม่ได้อยู่ในสถานะที่ถูกต้องสำหรับการส่งข้อความ
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
หากไม่ได้ระบุตัวระบุโหนดปลายทาง
WEAVE_ERROR_SENDING_BLOCKED
หากข้อความยาวเกินกว่าที่จะส่ง
other
ข้อผิดพลาดของเลเยอร์ Inet ที่เกี่ยวข้องกับการดำเนินการส่งปลายทางที่เฉพาะเจาะจง

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

ตั้งค่าระยะหมดเวลาสำหรับ Connect เพื่อให้ดำเนินการสำเร็จหรือแสดงผลข้อผิดพลาด

รายละเอียด
พารามิเตอร์
[in] connTimeoutMsecs

SetIdleTimeout

WEAVE_ERROR SetIdleTimeout(
  uint32_t timeoutMS
)

กำหนดระยะหมดเวลาเนื่องจากไม่มีการใช้งานในการเชื่อมต่อเลเยอร์เครือข่ายที่เกี่ยวข้อง

รายละเอียด
พารามิเตอร์
[in] timeoutMS
การหมดเวลาเป็นมิลลิวินาที
ผลลัพธ์
WEAVE_NO_ERROR
ในการตั้งค่าระยะหมดเวลาเนื่องจากไม่มีการใช้งานสำหรับการเชื่อมต่อได้สำเร็จ
WEAVE_ERROR_INCORRECT_STATE
หากออบเจ็กต์ WeaveConnection ไม่ได้อยู่ในสถานะที่ถูกต้องสำหรับการรับข้อความ

SetIncoming

void SetIncoming(
  bool val
)

SetUserTimeout

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection::SetUserTimeout

ตั้งค่าตัวเลือกซ็อกเก็ตระยะหมดเวลาของผู้ใช้ TCP

เมื่อค่ามากกว่า 0 ค่าดังกล่าวจะระบุระยะเวลาสูงสุดเป็นมิลลิวินาทีที่ระบบอาจยังไม่ได้รับทราบข้อมูลที่ส่งก่อนที่ TCP จะบังคับให้ปิดการเชื่อมต่อที่เกี่ยวข้อง หากระบุค่าตัวเลือกเป็น 0 นั้น TCP จะใช้ค่าเริ่มต้นของระบบ โปรดดูรายละเอียดเพิ่มเติมที่ RFC 5482

รายละเอียด
พารามิเตอร์
[in] userTimeoutMillis
ค่าระยะหมดเวลาของผู้ใช้ Tcp เป็นมิลลิวินาที

หมายเหตุ: - วิธีการนี้สามารถเรียกใช้ได้เฉพาะบนการเชื่อมต่อ Weave ที่ได้รับการสนับสนุนโดยการเชื่อมต่อ TCP -จะเรียกใช้เมธอดนี้ได้เมื่อการเชื่อมต่ออยู่ในสถานะที่อนุญาตให้ส่งได้เท่านั้น

- วิธีการนี้สามารถเรียกใช้ได้หลายครั้งเพื่อปรับระยะหมดเวลาของผู้ใช้ TCP

รายละเอียด
ผลลัพธ์
WEAVE_NO_ERROR
ในการตั้งค่าการหมดเวลาของผู้ใช้ TCP ที่ประสบความสำเร็จในการเชื่อมต่อ
WEAVE_ERROR_NOT_IMPLEMENTED
หากมีการเรียกใช้ฟังก์ชันนี้สำหรับปลายทางที่เข้ากันไม่ได้ (เช่น BLE) ในเลเยอร์เครือข่าย
WEAVE_ERROR_INCORRECT_STATE
หากออบเจ็กต์ WeaveConnection ไม่ได้อยู่ในสถานะที่ถูกต้องสำหรับการส่งข้อความ
other
ข้อผิดพลาดของเลเยอร์ Inet เกี่ยวข้องกับการตั้งค่าปลายทาง TCP ของระยะหมดเวลาของผู้ใช้ TCP

ปิดการทำงาน

WEAVE_ERROR Shutdown(
  void
)

ดำเนินการปิดการส่ง TCP อย่างค่อยเป็นค่อยไปเพื่อให้แน่ใจว่าสแต็ก TCP ของเพียร์จะส่งและรับข้อมูลขาออกทั้งหมด

เมื่อใช้ TCP ส่วนใหญ่ (แต่ไม่ใช่ทั้งหมด) การได้รับการปิดระบบส่งจะทำให้โฮสต์ระยะไกลปิดการเชื่อมต่อฝั่งของตนด้วย ซึ่งทำให้การเชื่อมต่อปิดลง การเรียก Close() ในภายหลังจะยุติ WeaveConnection

รายละเอียด
ผลลัพธ์
WEAVE_NO_ERROR
เมื่อปิดการเชื่อมต่อ tcp เรียบร้อยแล้ว
WEAVE_ERROR_NOT_IMPLEMENTED
หากมีการเรียกใช้ฟังก์ชันนี้สำหรับปลายทางที่เข้ากันไม่ได้ (เช่น BLE) ในเลเยอร์เครือข่าย
WEAVE_ERROR_INCORRECT_STATE
หากออบเจ็กต์ WeaveConnection ไม่ได้อยู่ในสถานะที่ถูกต้องก่อนเริ่มการปิดระบบ
other
ข้อผิดพลาดของเลเยอร์ Inet ที่เกี่ยวข้องกับการดำเนินการปิดปลายทางบางรายการ
ดูเพิ่มเติม
Close() และ Abort()