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(*
ฟังก์ชันนี้เป็นการเรียกกลับแอปพลิเคชันที่จะเรียกใช้เมื่อมีการปิดการเชื่อมต่อ
ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr) Typedef
void(*
ฟังก์ชันนี้เป็นการเรียกกลับแอปพลิเคชันที่จะเรียกใช้เมื่อมีการตั้งค่าการเชื่อมต่อเสร็จสิ้น
MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) Typedef
void(*
ฟังก์ชันนี้คือการเรียกกลับของแอปพลิเคชันที่มีการเรียกใช้เมื่อได้รับข้อความผ่านการเชื่อมต่อ Weave
NetworkType{
  kNetworkType_Unassigned = 0,
  kNetworkType_IP = 1,
  kNetworkType_BLE = 2
}
enum
ประเภทเครือข่ายของออบเจ็กต์การเชื่อมต่อ Weave
ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err) Typedef
void(*
ฟังก์ชันนี้คือการเรียกกลับของแอปพลิเคชันที่มีการเรียกใช้เมื่อพบข้อผิดพลาดเมื่อได้รับข้อความ 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(*
ฟังก์ชันนี้คือการเรียกกลับของแอปพลิเคชันที่มีการเรียกใช้เมื่อได้รับแพ็กเก็ตข้อมูล 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)

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

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

ConnectionCompleteFunct

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

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

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

ข้อความที่ได้รับ

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

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

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

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

 NetworkType

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

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

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

kNetworkType_IP

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

kNetworkType_Unassigned

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

รับข้อผิดพลาด

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

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

รายละเอียด
พารามิเตอร์
[in] con
ตัวชี้ไปยังออบเจ็กต์ WeaveConnection
[in] err
WEhave_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)

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

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

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

สถานะแอป

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

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

สถานะ

uint8_t State

[อ่านอย่างเดียว] สถานะของออบเจ็กต์ WeaveConnection

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

ล้มเลิก

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

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

เชื่อมต่อ

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

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

รายละเอียด
พารามิเตอร์
[in] peerNodeId
ตัวระบุโหนดของแอปเทียบเท่า
แสดงผลค่า
WEAVE_NO_ERROR
เมื่อเริ่มการเชื่อมต่อกับแอปเทียบเท่าได้สําเร็จ
WEAVE_ERROR_INCORRECT_STATE
หากสถานะ WeaveConnection ไม่ถูกต้อง
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
หากระบบไม่รองรับโหมดการตรวจสอบสิทธิ์ที่ขอ
WEAVE_ERROR_INVALID_ADDRESS
หากอนุมานที่อยู่ปลายทางจากรหัสโหนดไม่ได้
other
ข้อผิดพลาดของเลเยอร์ขาเข้าที่สร้างโดยการดําเนินการเชื่อมต่อ 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
พอร์ตที่ไม่บังคับของแอปเทียบเท่าจะมีค่าเริ่มต้นเป็น WEhave_PORT
แสดงผลค่า
WEAVE_NO_ERROR
เมื่อเริ่มการเชื่อมต่อกับแอปเทียบเท่าได้สําเร็จ
WEAVE_ERROR_INCORRECT_STATE
หากสถานะ WeaveConnection ไม่ถูกต้อง
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
หากระบบไม่รองรับโหมดการตรวจสอบสิทธิ์ที่ขอ
WEAVE_ERROR_INVALID_ADDRESS
หากอนุมานที่อยู่ปลายทางจากรหัสโหนดไม่ได้
other
ข้อผิดพลาดของเลเยอร์ขาเข้าที่สร้างโดยการดําเนินการเชื่อมต่อ 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
โหมดการตรวจสอบสิทธิ์ที่ต้องการสําหรับแอปเทียบเท่า รองรับเฉพาะโหมด CASE, PASE และที่ไม่ได้ตรวจสอบสิทธิ์
[in] peerAddr
ที่อยู่ IP ของแอปเทียบเท่า IPAddress::any หากไม่ทราบ
[in] peerPort
พอร์ตที่ไม่บังคับของแอปเทียบเท่าจะมีค่าเริ่มต้นเป็น WEhave_PORT
[in] intf
อินเทอร์เฟซที่ไม่บังคับสําหรับใช้เชื่อมต่อกับโหนดเพียร์ ค่าเริ่มต้นคือ INET_NULL_INTERFACEID
แสดงผลค่า
WEAVE_NO_ERROR
เมื่อเริ่มการเชื่อมต่อกับแอปเทียบเท่าได้สําเร็จ
WEAVE_ERROR_INCORRECT_STATE
หากสถานะ WeaveConnection ไม่ถูกต้อง
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
หากระบบไม่รองรับโหมดการตรวจสอบสิทธิ์ที่ขอ
WEAVE_ERROR_INVALID_ADDRESS
ในกรณีที่อนุมานที่อยู่ปลายทางจากตัวระบุโหนดไม่ได้
other
ข้อผิดพลาดของเลเยอร์ขาเข้าที่สร้างโดยการดําเนินการเชื่อมต่อ TCPEndPoint

เชื่อมต่อ

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

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

หากมี peerAddr อาจเป็นค่าใดก็ได้ต่อไปนี้


:

:

[]:

รายละเอียด
พารามิเตอร์
[in] peerNodeId
ตัวระบุโหนดของแอปเทียบเท่า, kNodeIdNotSpecified หรือ 0 หากไม่ทราบ
[in] authMode
โหมดการตรวจสอบสิทธิ์ที่ต้องการสําหรับแอปเทียบเท่า รองรับเฉพาะโหมด CASE, 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
ข้อผิดพลาดของเลเยอร์ขาเข้าที่สร้างโดยการดําเนินการเชื่อมต่อ TCPEndPoint

เชื่อมต่อ

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

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

หากมี peerAddr อาจเป็นค่าใดก็ได้ต่อไปนี้


:

:

[]:

รายละเอียด
พารามิเตอร์
[in] peerNodeId
ตัวระบุโหนดของแอปเทียบเท่า, kNodeIdNotSpecified หรือ 0 หากไม่ทราบ
[in] authMode
โหมดการตรวจสอบสิทธิ์ที่ต้องการสําหรับแอปเทียบเท่า รองรับเฉพาะโหมด CASE, 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
ข้อผิดพลาดของเลเยอร์ขาเข้าที่สร้างโดยการดําเนินการเชื่อมต่อ TCPEndPoint

เชื่อมต่อ

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

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

หากมี peerAddr อาจเป็นค่าใดก็ได้ต่อไปนี้


:

:

[]:

รายละเอียด
พารามิเตอร์
[in] peerNodeId
ตัวระบุโหนดของแอปเทียบเท่า, kNodeIdNotSpecified หรือ 0 หากไม่ทราบ
[in] authMode
โหมดการตรวจสอบสิทธิ์ที่ต้องการสําหรับแอปเทียบเท่า รองรับเฉพาะโหมด CASE, PASE และที่ไม่ได้ตรวจสอบสิทธิ์
[in] peerAddr
ที่อยู่หรือชื่อโฮสต์ของแอปเทียบเท่าเป็นสตริง C ที่ไม่ใช่ NULL
[in] peerAddrLen
ความยาวของสตริง peerAddr
[in] dnsOptions
ค่าจํานวนเต็มที่ควบคุมการทํางานของความละเอียดของชื่อโฮสต์ ค่าควรเป็น OR ของค่าอย่างน้อย 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
ข้อผิดพลาดของเลเยอร์ขาเข้าที่สร้างโดยการดําเนินการเชื่อมต่อ 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
ข้อผิดพลาดของเลเยอร์ขาเข้าที่สร้างโดยการดําเนินการเชื่อมต่อ 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
ค่าจํานวนเต็มที่ควบคุมการทํางานของความละเอียดของชื่อโฮสต์ ค่าควรเป็น OR ของค่าอย่างน้อย 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
ข้อผิดพลาดของเลเยอร์ขาเข้าที่สร้างโดยการดําเนินการเชื่อมต่อ TCPEndPoint

ปิดใช้ KeepAlive

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection::DisableKeepAlive

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

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

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

รายละเอียด
แสดงผลค่า
WEAVE_NO_ERROR
ปิดการตรวจสอบ Keepalive ของ TCP ในการเชื่อมต่อได้สําเร็จ
WEAVE_ERROR_NOT_IMPLEMENTED
หากมีการเรียกฟังก์ชันนี้สําหรับปลายทางที่ใช้ร่วมกันไม่ได้ (เช่น BLE) ในเลเยอร์เครือข่าย
WEAVE_ERROR_INCORRECT_STATE
หากออบเจ็กต์ WeaveConnection ไม่อยู่ในสถานะที่ถูกต้องสําหรับการส่งข้อความ
other
ข้อผิดพลาดของเลเยอร์ภายในที่เกี่ยวข้องกับปลายทาง 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 เท่านั้น - วิธีนี้ใช้ได้เมื่อการเชื่อมต่ออยู่ในสถานะที่อนุญาตให้ส่งเท่านั้น

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

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

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

เปิดใช้การรับ

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) ในเลเยอร์เครือข่าย

คําอธิบาย GetPeer

void GetPeerDescription(
  char *buf,
  size_t bufSize
) const 

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

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

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_NO_ERROR
เมื่อรีเซ็ตระยะหมดเวลาของผู้ใช้ TCP ในการเชื่อมต่อสําเร็จ
WEAVE_ERROR_NOT_IMPLEMENTED
หากมีการเรียกฟังก์ชันนี้สําหรับปลายทางที่ใช้ร่วมกันไม่ได้ (เช่น BLE) ในเลเยอร์เครือข่าย
WEAVE_ERROR_INCORRECT_STATE
หากออบเจ็กต์ WeaveConnection ไม่อยู่ในสถานะที่ถูกต้องสําหรับการส่งข้อความ
other
ข้อผิดพลาดของเลเยอร์ภายในที่เกี่ยวข้องกับการรีเซ็ตปลายทาง TCP ของระยะหมดเวลาของผู้ใช้ TCP

ส่งข้อความ

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
ข้อผิดพลาดของเลเยอร์เลเยอร์ที่เกี่ยวข้องกับการดําเนินการส่งปลายทางที่เฉพาะเจาะจง

ส่งข้อความ

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

ฟังก์ชันสําหรับส่งแพ็กเก็ตที่เชื่อมต่อผ่านการเชื่อมต่อ 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
ข้อผิดพลาดของเลเยอร์เลเยอร์ที่เกี่ยวข้องกับการดําเนินการส่งปลายทางที่เฉพาะเจาะจง

ตั้งค่าระยะหมดเวลา

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

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

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

ตั้งค่าระยะหมดเวลา

WEAVE_ERROR SetIdleTimeout(
  uint32_t timeoutMS
)

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

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

ตั้งค่าขาเข้า

void SetIncoming(
  bool val
)

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

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
ข้อผิดพลาดของเลเยอร์ภายในที่เกี่ยวข้องกับการตั้งค่าปลายทางของ TCP ของระยะหมดเวลาของผู้ใช้ TCP

ปิดการทำงาน

WEAVE_ERROR Shutdown(
  void
)

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

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

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