nl::Weave::WeaveMessageLayer

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

คําจํากัดความของคลาส WeaveMessageLayer ซึ่งจัดการการสื่อสารกับโหนด Weave อื่นๆ

สรุป

โดยจะใช้ปลายทาง InetLayer รายการใดรายการหนึ่งเพื่อสร้างช่องทางการสื่อสารกับโหนด Weave อื่นๆ

ผู้ผลิตและผู้ทำลาย

WeaveMessageLayer(void)
เครื่องมือสร้างเลเยอร์ Weave Message

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

AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err) typedef
void(*
ฟังก์ชันนี้เป็นคอลแบ็กเลเยอร์ที่สูงขึ้นสำหรับการรายงานข้อผิดพลาดระหว่างการจัดการการเชื่อมต่อ TCP ที่เข้ามา
CallbackRemovedFunct)(void *listenerState) typedef
void(*
มีการเรียกใช้ฟังก์ชันนี้เพื่อนำ Callback ออก
ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con) typedef
void(*
ฟังก์ชันนี้เป็นคอลแบ็กเลเยอร์ที่สูงขึ้นสําหรับการจัดการการเชื่อมต่อ TCP ที่เข้ามา
MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive) typedef
void(*
ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันสำหรับการรายงานการเปลี่ยนแปลงกิจกรรมเลเยอร์ข้อความ
MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload) typedef
void(*
ฟังก์ชันนี้เป็น Callback ระดับที่สูงขึ้นซึ่งจะเรียกใช้เมื่อได้รับข้อความ Weave ผ่าน UDP
ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo) typedef
void(*
ฟังก์ชันนี้คือ Callback ของเลเยอร์ที่สูงขึ้นซึ่งถูกเรียกใช้เมื่อพบข้อผิดพลาด
State{
  kState_NotInitialized = 0,
  kState_Initializing = 1,
  kState_Initialized = 2
}
enum
สถานะของ WeaveMessageLayer
TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload) typedef
void(*
ฟังก์ชันนี้คือ Callback ของเลเยอร์ที่สูงกว่าซึ่งเรียกใช้เมื่อได้รับแพ็กเกต Tunneled ผ่านอุโมงค์ UDP ในเครื่อง

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

AppState
void *
ตัวชี้ไปยังออบเจ็กต์สถานะที่เฉพาะเจาะจงของแอปพลิเคชัน
ExchangeMgr
[อ่านอย่างเดียว] ออบเจ็กต์ WeaveExchangeManager ที่เชื่อมโยง
FabricState
[READ ONLY] ออบเจ็กต์ WeaveFabricState ที่เกี่ยวข้อง
IncomingConIdleTimeout
uint32_t
การหมดเวลาเมื่อไม่มีการใช้งานเริ่มต้น (เป็นมิลลิวินาที) สำหรับการเชื่อมต่อขาเข้า
Inet
InetLayer *
[READ ONLY] ออบเจ็กต์ InetLayer ที่เกี่ยวข้อง
IsListening
bool
[อ่านอย่างเดียว] จริงหากกำลังรอการเชื่อมต่อ/ข้อความขาเข้า หรือเป็นเท็จหากไม่
OnAcceptError
OnConnectionReceived
OnMessageReceived
OnReceiveError
OnUDPTunneledMessageReceived
SecurityMgr
[READ ONLY] ออบเจ็กต์ WeaveSecurityManager ที่เชื่อมโยง
State
uint8_t
[READ ONLY] สถานะของออบเจ็กต์ WeaveMessageLayer
SystemLayer
mDropMessage
bool
ภายในและสำหรับการแก้ไขข้อบกพร่องเท่านั้น เมื่อตั้งค่าแล้ว WeaveMessageLayer จะส่งข้อความและแสดงผลอีกครั้ง

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

ClearUnsecuredConnectionListener(ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved)
CloseEndpoints(void)
ปิดปลายทาง TCP และ UDP ที่เปิดอยู่ทั้งหมด
CreateTunnel(WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS)
สร้าง WeaveConnectionTunnel ด้วยการเชื่อมโยง WeaveConnection ที่ระบุ 2 รายการเข้าด้วยกัน
DecodeHeader(PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
ถอดรหัสส่วนหัวของเลเยอร์ข้อความ Weave จากข้อความ Weave ที่ได้รับ
EncodeMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve)
เข้ารหัสส่วนหัว WeaveMessageLayer ลงใน PacketBuffer
EncodeMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
เข้ารหัสส่วนหัวของเลเยอร์ Weave Message ลงใน PacketBuffer
EphemeralUDPPortEnabled(void) const
bool
ตรวจสอบว่าควรส่งการแลกเปลี่ยน Weave UDP ที่เริ่มต้นในท้องถิ่นจากพอร์ตแหล่งที่มา UDP ชั่วคราวหรือไม่
GetConnectionPoolStats(nl::Weave::System::Stats::count_t & aOutInUse) const
void
รับจํานวน WeaveConnections ที่ใช้อยู่และขนาดของพูล
IPv4ListenEnabled(void) const
bool
ตรวจสอบว่าได้กำหนดค่า WeaveMessageLayer ให้รับการสื่อสารขาเข้าผ่าน IPv4 หรือไม่
IPv6ListenEnabled(void) const
bool
ตรวจสอบว่า WeaveMessageLayer ได้รับการกําหนดค่าให้รอรับการสื่อสารขาเข้าผ่าน IPv4 หรือไม่
Init(InitContext *context)
เริ่มต้นออบเจ็กต์เลเยอร์ Weave Message
IsBoundToLocalIPv4Address(void) const
bool
ตรวจสอบว่า WeaveMessageLayer เชื่อมโยงกับที่อยู่ IPv4 ในพื้นที่หรือไม่
IsBoundToLocalIPv6Address(void) const
bool
ตรวจสอบว่า WeaveMessageLayer เชื่อมโยงกับที่อยู่ IPv6 ในเครื่องหรือไม่
IsMessageLayerActive(void)
bool
NewConnection(void)
สร้างออบเจ็กต์ WeaveConnection ใหม่จากพูล
NewConnectionTunnel(void)
สร้างออบเจ็กต์ WeaveConnectionTunnel ใหม่จากพูล
ReEncodeMessage(PacketBuffer *buf)
RefreshEndpoints(void)
รีเฟรชปลายทาง InetLayer ตามสถานะปัจจุบันของอินเทอร์เฟซเครือข่ายของระบบ
ResendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
ส่งข้อความ Weave ที่เข้ารหัสอีกครั้งโดยใช้ปลายทาง UDP ของ Inetlayer ที่เกี่ยวข้อง
ResendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
ส่งข้อความ Weave ที่เข้ารหัสอีกครั้งโดยใช้ปลายทาง UDP ของ Inetlayer ที่เกี่ยวข้อง
ResendMessage(const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
ส่งข้อความ Weave ที่เข้ารหัสอีกครั้งโดยใช้ปลายทาง UDP ของ Inetlayer ที่เกี่ยวข้อง
ResendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
ส่งข้อความ Weave ที่เข้ารหัสอีกครั้งโดยใช้ปลายทาง UDP ของ Inetlayer ที่อยู่เบื้องหลัง
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
ส่งข้อความ Weave โดยใช้ปลายทาง UDP ของ Inetlayer ที่สำคัญหลังจากการเข้ารหัส
SendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
ส่งข้อความ Weave โดยใช้ปลายทาง UDP ของ Inetlayer ที่อยู่เบื้องหลังหลังจากเข้ารหัส
SendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
ส่งข้อความ Weave โดยใช้ปลายทาง UDP ของ Inetlayer ที่สำคัญหลังจากการเข้ารหัส
SendUDPTunneledMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
ฟังก์ชันสำหรับส่งแพ็กเก็ตที่ส่งผ่านอุโมงค์ผ่านอุโมงค์ UDP ในพื้นที่
SetSignalMessageLayerActivityChanged(MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler)
void
ตั้งค่าตัวแฮนเดิลแอปพลิเคชันที่จะเรียกใช้ทุกครั้งที่กิจกรรมของเลเยอร์ข้อความมีการเปลี่ยนแปลง
SetTCPListenEnabled(bool val)
void
เปิดหรือปิดใช้การรอการเชื่อมต่อ TCP ขาเข้าใน WeaveMessageLayer
SetUDPListenEnabled(bool val)
void
เปิดหรือปิดใช้การฟังข้อความ UDP ขาเข้าใน WeaveMessageLayer
SetUnsecuredConnectionListener(ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState)
Shutdown(void)
TCPListenEnabled(void) const
bool
ตรวจสอบว่า WeaveMessageLayer ได้รับการกําหนดค่าให้รอการเชื่อมต่อ TCP ขาเข้าหรือไม่
UDPListenEnabled(void) const
bool
ตรวจสอบว่า WeaveMessageLayer ได้รับการกําหนดค่าให้รอรับข้อความ UDP ขาเข้าหรือไม่
UnsecuredListenEnabled(void) const
bool
เปิดหรือปิดใช้การเริ่มการแลกเปลี่ยน Weave UDP จากพอร์ตต้นทาง UDP ชั่วคราว

ฟังก์ชันสาธารณะแบบคงที่

GetMaxWeavePayloadSize(const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU)
uint32_t
รับขนาดเพย์โหลด Weave สูงสุดสำหรับการกำหนดค่าข้อความและ PacketBuffer ที่ระบุ
GetPeerDescription(char *buf, size_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, InterfaceId interfaceId, const WeaveConnection *con)
void
สร้างสตริงที่อธิบายโหนดเพียร์และข้อมูลการเชื่อมต่อที่อยู่ / การเชื่อมต่อที่เกี่ยวข้อง
GetPeerDescription(char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo)
void
สร้างสตริงที่อธิบายโหนดเพียร์ตามข้อมูลที่เชื่อมโยงกับข้อความที่ได้รับจากเพียร์

ชั้นเรียน

nl::Weave::WeaveMessageLayer::InitContext

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

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

AcceptErrorFunct

void(* AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)

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

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

CallbackRemovedFunct

void(* CallbackRemovedFunct)(void *listenerState)

มีการเรียกใช้ฟังก์ชันนี้เพื่อนำ Callback ออก

รายละเอียด
พารามิเตอร์
[in] listenerState
ตัวชี้ไปยังออบเจ็กต์สถานะแอปพลิเคชัน

ConnectionReceiveFunct

void(* ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)

ฟังก์ชันนี้เป็นคอลแบ็กเลเยอร์ที่สูงขึ้นสําหรับการจัดการการเชื่อมต่อ TCP ที่เข้ามา

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

MessageLayerActivityChangeHandlerFunct

void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)

ฟังก์ชันนี้เป็น Callback ของแอปพลิเคชันสำหรับการรายงานการเปลี่ยนแปลงกิจกรรมเลเยอร์ข้อความ

ระบบจะถือว่าเลเยอร์ข้อความทำงานอยู่หากมีคำขอซิงค์ข้อมูลโต้แย้งข้อความที่รอดำเนินการอย่างน้อย 1 รายการหรือการแลกเปลี่ยนแบบเปิด

รายละเอียด
พารามิเตอร์
[in] messageLayerIsActive
ค่าบูลีนที่ระบุว่าเลเยอร์ข้อความทำงานอยู่หรือไม่

MessageReceiveFunct

void(* MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)

ฟังก์ชันนี้คือ Callback ของเลเยอร์ที่สูงกว่าซึ่งเรียกใช้เมื่อได้รับข้อความ Weave ผ่าน UDP

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

ReceiveErrorFunct

void(* ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)

ฟังก์ชันนี้คือ Callback ของเลเยอร์ที่สูงขึ้นซึ่งถูกเรียกใช้เมื่อพบข้อผิดพลาด

รายละเอียด
พารามิเตอร์
[in] msgLayer
ตัวชี้ไปยังออบเจ็กต์ WeaveMessageLayer
[in] err
พบ WEAVE_ERROR เมื่อรับข้อมูล
[in] pktInfo
ตัวชี้แบบอ่านอย่างเดียวไปยังออบเจ็กต์ IPPacketInfo

รัฐ

 State

สถานะของ WeaveMessageLayer

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

ระบุเมื่อ WeaveMessageLayer เริ่มต้น

kState_Initializing

ระบุเมื่อ WeaveMessageLayer อยู่ระหว่างการเริ่มต้น

kState_NotInitialized

ระบุเมื่อยังไม่ได้เริ่มต้น WeaveMessageLayer

TunneledMsgReceiveFunct

void(* TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)

ฟังก์ชันนี้เป็น Callback ระดับที่สูงขึ้นซึ่งจะเรียกใช้เมื่อได้รับแพ็กเก็ตที่ส่งผ่านอุโมงค์ผ่านอุโมงค์ UDP ในพื้นที่

รายละเอียด
พารามิเตอร์
[in] msgLayer
ตัวชี้ไปยังออบเจ็กต์ WeaveMessageLayer
[in] payload
ตัวชี้ไปยังข้อความ PacketBuffer ที่ได้รับแพ็กเก็ต Tunnel

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

AppState

void * AppState

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

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[อ่านอย่างเดียว] ออบเจ็กต์ WeaveExchangeManager ที่เชื่อมโยง

FabricState

WeaveFabricState * FabricState

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

IncomingConIdleTimeout

uint32_t IncomingConIdleTimeout

ระยะหมดเวลาเมื่อไม่มีการใช้งานเริ่มต้น (เป็นมิลลิวินาที) สำหรับการเชื่อมต่อขาเข้า

Inet

InetLayer * Inet

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

IsListening

bool IsListening

[อ่านอย่างเดียว] จริงหากกำลังรอการเชื่อมต่อ/ข้อความขาเข้า หรือเป็นเท็จหากไม่

OnAcceptError

AcceptErrorFunct OnAcceptError

OnConnectionReceived

ConnectionReceiveFunct OnConnectionReceived

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnUDPTunneledMessageReceived

TunneledMsgReceiveFunct OnUDPTunneledMessageReceived

SecurityMgr

WeaveSecurityManager * SecurityMgr

[READ ONLY] ออบเจ็กต์ WeaveSecurityManager ที่เชื่อมโยง

รัฐ

uint8_t State

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

SystemLayer

System::Layer * SystemLayer

mDropMessage

bool mDropMessage

ภายในและสำหรับการแก้ไขข้อบกพร่องเท่านั้น เมื่อตั้งค่าแล้ว WeaveMessageLayer จะส่งข้อความและแสดงผลอีกครั้ง

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

ClearUnsecuredConnectionListener

WEAVE_ERROR ClearUnsecuredConnectionListener(
  ConnectionReceiveFunct oldOnUnsecuredConnectionReceived,
  CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved
)

CloseEndpoints

WEAVE_ERROR CloseEndpoints(
  void
)

ปิดปลายทาง TCP และ UDP ที่เปิดอยู่ทั้งหมด

จากนั้นยกเลิก WeaveConnection ที่เปิดอยู่และปิดออบเจ็กต์ WeaveConnectionTunnel ที่เปิดอยู่

ดูเพิ่มเติมที่
Shutdown()

CreateTunnel

WEAVE_ERROR CreateTunnel(
  WeaveConnectionTunnel **tunPtr,
  WeaveConnection & conOne,
  WeaveConnection & conTwo,
  uint32_t inactivityTimeoutMS
)

สร้าง WeaveConnectionTunnel โดยเชื่อมโยง WeaveConnections ที่ระบุ 2 รายการเข้าด้วยกัน

หากสร้างสำเร็จ ระบบจะส่ง TCPEndPoints ที่สอดคล้องกับออบเจ็กต์ WeaveConnection ของคอมโพเนนต์ไปยัง WeaveConnectionTunnel มิเช่นนั้น ระบบจะปิด WeaveConnection

รายละเอียด
พารามิเตอร์
[out] tunPtr
ตัวชี้ไปยังตัวชี้ของออบเจ็กต์ WeaveConnectionTunnel
[in] conOne
การอ้างอิงถึงออบเจ็กต์ WeaveConnection รายการแรก
[in] conTwo
การอ้างอิงถึงออบเจ็กต์ WeaveConnection รายการที่ 2
[in] inactivityTimeoutMS
เวลาสูงสุดเป็นมิลลิวินาทีที่อุโมงค์การเชื่อมต่อ Weave อาจไม่มีการใช้งาน
ค่าที่แสดงผล
WEAVE_NO_ERROR
ในการสร้าง WeaveConnectionTunnel ที่สำเร็จ
WEAVE_ERROR_INCORRECT_STATE
หากออบเจ็กต์ WeaveConnection ของคอมโพเนนต์ WeaveConnectionTunnel ไม่ได้อยู่ในสถานะที่ถูกต้อง
WEAVE_ERROR_NO_MEMORY
หากสร้างออบเจ็กต์ WeaveConnectionTunnel ใหม่ไม่ได้

DecodeHeader

WEAVE_ERROR DecodeHeader(
  PacketBuffer *msgBuf,
  WeaveMessageInfo *msgInfo,
  uint8_t **payloadStart
)

ถอดรหัสส่วนหัวเลเยอร์ข้อความ Weave จากข้อความ Weave ที่ได้รับ

รายละเอียด
พารามิเตอร์
[in] msgBuf
ตัวชี้ไปยังออบเจ็กต์ PacketBuffer ที่มีข้อความ Weave
[in] msgInfo
ตัวชี้ไปยังออบเจ็กต์ WeaveMessageInfo ซึ่งจะรับข้อมูลเกี่ยวกับข้อความ
[out] payloadStart
ตัวชี้ไปยังตัวชี้ตำแหน่งในบัฟเฟอร์ข้อความหลังจากการถอดรหัสเสร็จสมบูรณ์
ค่าที่แสดงผล
WEAVE_NO_ERROR
เมื่อถอดรหัสส่วนหัวของข้อความสำเร็จ
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
หากบัฟเฟอร์ข้อความที่ส่งมีความยาวไม่ถูกต้อง
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
หากระบบไม่รองรับเวอร์ชันรูปแบบส่วนหัวของข้อความ Weave

EncodeMessage

WEAVE_ERROR EncodeMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf,
  WeaveConnection *con,
  uint16_t maxLen,
  uint16_t reserve
)

เข้ารหัสส่วนหัว WeaveMessageLayer ลงใน PacketBuffer

รายละเอียด
พารามิเตอร์
[in] msgInfo
ตัวชี้ไปยังออบเจ็กต์ WeaveMessageInfo ที่มีข้อมูลเกี่ยวกับข้อความที่จะเข้ารหัส
[in] msgBuf
ตัวชี้ไปยังออบเจ็กต์ PacketBuffer ที่จะใส่ข้อความ Weave
[in] con
ตัวชี้ไปยังออบเจ็กต์ WeaveConnection
[in] maxLen
ความยาวสูงสุดของข้อความ Weave ที่เข้ารหัส
[in] reserve
พื้นที่ที่สงวนไว้ก่อนเพย์โหลดเพื่อเก็บส่วนหัวของข้อความ Weave
ผลลัพธ์
WEAVE_NO_ERROR
เกี่ยวกับการเข้ารหัสข้อความที่สำเร็จ
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
หากระบบไม่รองรับเวอร์ชันรูปแบบส่วนหัวของ Weave Message
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
หากความยาวเพย์โหลดในบัฟเฟอร์ข้อความเป็น 0
WEAVE_ERROR_UNSUPPORTED_ENCRYPTION_TYPE
หากระบบไม่รองรับประเภทการเข้ารหัสในส่วนหัวของข้อความ
WEAVE_ERROR_MESSAGE_TOO_LONG
หากข้อความที่เข้ารหัสจะยาวกว่าขีดจำกัดที่ขอ
WEAVE_ERROR_BUFFER_TOO_SMALL
หากมีช่องว่างไม่เพียงพอก่อนหรือหลังเพย์โหลดข้อความ
other
ข้อผิดพลาดที่สร้างโดยออบเจ็กต์สถานะ Fabric เมื่อดึงข้อมูลสถานะเซสชัน

EncodeMessage

WEAVE_ERROR EncodeMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  InterfaceId sendIntId,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *payload
)

เข้ารหัสส่วนหัวของเลเยอร์ Weave Message ลงใน PacketBuffer

รายละเอียด
พารามิเตอร์
[in] destAddr
ที่อยู่ IP ปลายทาง
[in] destPort
พอร์ตปลายทาง
[in] sendIntId
อินเทอร์เฟซที่ใช้ในการส่งข้อความ Weave
[in] msgInfo
ตัวชี้ไปยังออบเจ็กต์ WeaveMessageInfo
[in] payload
ตัวชี้ไปยังออบเจ็กต์ PacketBuffer ที่จะใส่ข้อความ Weave
ผลลัพธ์
WEAVE_NO_ERROR
การเข้ารหัสข้อความ Weave ที่สำเร็จ
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
หากระบบไม่รองรับเวอร์ชันข้อความ Weave
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
หากความยาวเพย์โหลดในบัฟเฟอร์ข้อความเป็น 0
WEAVE_ERROR_UNSUPPORTED_ENCRYPTION_TYPE
หากไม่รองรับประเภทการเข้ารหัสนี้
WEAVE_ERROR_MESSAGE_TOO_LONG
หากข้อความที่เข้ารหัสจะยาวกว่าขีดจำกัดที่ขอ
WEAVE_ERROR_BUFFER_TOO_SMALL
หากมีช่องว่างไม่เพียงพอก่อนหรือหลังเพย์โหลดข้อความ
other
ข้อผิดพลาดที่สร้างโดยออบเจ็กต์สถานะ Fabric เมื่อดึงข้อมูลสถานะเซสชัน

EphemeralUDPPortEnabled

bool EphemeralUDPPortEnabled(
  void
) const 

ตรวจสอบว่าควรส่งการแลกเปลี่ยน UDP ของ Weave ที่เริ่มต้นจากเครื่องจากพอร์ตต้นทาง UDP แบบชั่วคราวหรือไม่

GetConnectionPoolStats

void GetConnectionPoolStats(
  nl::Weave::System::Stats::count_t & aOutInUse
) const 

รับจำนวน WeaveConnection ที่ใช้อยู่และขนาดของพูล

รายละเอียด
พารามิเตอร์
[out] aOutInUse
อ้างอิงถึง size_t ซึ่งจัดเก็บจำนวนการเชื่อมต่อที่ใช้งานอยู่

IPv4ListenEnabled

bool IPv4ListenEnabled(
  void
) const 

ตรวจสอบว่าได้กำหนดค่า WeaveMessageLayer ให้รับการสื่อสารขาเข้าผ่าน IPv4 หรือไม่

IPv6ListenEnabled

bool IPv6ListenEnabled(
  void
) const 

ตรวจสอบว่า WeaveMessageLayer ได้รับการกําหนดค่าให้รอรับการสื่อสารขาเข้าผ่าน IPv4 หรือไม่

Init

WEAVE_ERROR Init(
  InitContext *context
)

เริ่มต้นออบเจ็กต์เลเยอร์ Weave Message

รายละเอียด
พารามิเตอร์
[in] context
ตัวชี้ไปยังออบเจ็กต์ InitContext
ผลลัพธ์
WEAVE_NO_ERROR
เมื่อเริ่มต้นใช้งานสำเร็จ
WEAVE_ERROR_INVALID_ARGUMENT
หากออบเจ็กต์ InitContext ที่ส่งเป็น NULL
WEAVE_ERROR_INCORRECT_STATE
หากสถานะของออบเจ็กต์ WeaveMessageLayer ไม่ถูกต้อง
other
ที่สร้างขึ้นจากเลเยอร์ Inet ล่างระหว่างการสร้างปลายทาง

IsBoundToLocalIPv4Address

bool IsBoundToLocalIPv4Address(
  void
) const 

ตรวจสอบว่า WeaveMessageLayer เชื่อมโยงกับที่อยู่ IPv4 ในเครื่องหรือไม่

IsBoundToLocalIPv6Address

bool IsBoundToLocalIPv6Address(
  void
) const 

ตรวจสอบว่า WeaveMessageLayer เชื่อมโยงกับที่อยู่ IPv6 ในพื้นที่หรือไม่

IsMessageLayerActive

bool IsMessageLayerActive(
  void
)

NewConnection

WeaveConnection * NewConnection(
  void
)

สร้างออบเจ็กต์ WeaveConnection ใหม่จากพูล

รายละเอียด
การคืนสินค้า
ตัวชี้ไปยังออบเจ็กต์ WeaveConnection ที่สร้างขึ้นใหม่ หากสำเร็จ มิฉะนั้นจะเป็น NULL

NewConnectionTunnel

WeaveConnectionTunnel * NewConnectionTunnel(
  void
)

สร้างออบเจ็กต์ WeaveConnectionTunnel ใหม่จากพูล

รายละเอียด
การคืนสินค้า
ตัวชี้ไปยังออบเจ็กต์ WeaveConnectionTunnel ที่สร้างขึ้นใหม่หากสําเร็จ มิเช่นนั้นจะเป็น NULL

ReEncodeMessage

WEAVE_ERROR ReEncodeMessage(
  PacketBuffer *buf
)

RefreshEndpoints

WEAVE_ERROR RefreshEndpoints(
  void
)

รีเฟรชปลายทาง InetLayer ตามสถานะปัจจุบันของอินเทอร์เฟซเครือข่ายของระบบ

รายละเอียด
ผลลัพธ์
WEAVE_NO_ERROR
เกี่ยวกับการรีเฟรชปลายทางที่สำเร็จ
InetLayer
ตามการเรียกเพื่อสร้างปลายทาง TCP/UDP

ResendMessage

WEAVE_ERROR ResendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

ส่งข้อความ Weave ที่เข้ารหัสอีกครั้งโดยใช้ปลายทาง UDP ของ Inetlayer ที่เกี่ยวข้อง

รายละเอียด
พารามิเตอร์
[in] msgInfo
ตัวชี้ไปยังออบเจ็กต์ WeaveMessageInfo
[in] payload
ตัวชี้ไปยังออบเจ็กต์ PacketBuffer ที่มีข้อความ Weave ที่เข้ารหัส
ผลลัพธ์
WEAVE_NO_ERROR
การส่งข้อความถึงเลเยอร์เครือข่ายสำเร็จ
errors
ที่สร้างขึ้นจากปลายทาง UDP ของเลเยอร์ Inet ระดับล่างในระหว่างการส่ง

ResendMessage

WEAVE_ERROR ResendMessage(
  const IPAddress & destAddr,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

ส่งข้อความ Weave ที่เข้ารหัสอีกครั้งโดยใช้ปลายทาง UDP ของ Inetlayer ที่อยู่เบื้องหลัง

รายละเอียด
พารามิเตอร์
[in] destAddr
ที่อยู่ IP ปลายทาง
[in] msgInfo
ตัวชี้ไปยังออบเจ็กต์ WeaveMessageInfo
[in] payload
ตัวชี้ไปยังออบเจ็กต์ PacketBuffer ที่มีข้อความ Weave ที่เข้ารหัส
ผลลัพธ์
WEAVE_NO_ERROR
การส่งข้อความถึงเลเยอร์เครือข่ายสำเร็จ
errors
ที่สร้างขึ้นจากปลายทาง UDP ของเลเยอร์ Inet ระดับล่างในระหว่างการส่ง

ResendMessage

WEAVE_ERROR ResendMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

ส่งข้อความ Weave ที่เข้ารหัสอีกครั้งโดยใช้ปลายทาง UDP ของ Inetlayer ที่เกี่ยวข้อง

รายละเอียด
พารามิเตอร์
[in] destAddr
ที่อยู่ IP ปลายทาง
[in] destPort
พอร์ตปลายทาง
[in] msgInfo
ตัวชี้ไปยังออบเจ็กต์ WeaveMessageInfo
[in] payload
ตัวชี้ไปยังออบเจ็กต์ PacketBuffer ที่มีข้อความ Weave ที่เข้ารหัส
ผลลัพธ์
WEAVE_NO_ERROR
การส่งข้อความถึงเลเยอร์เครือข่ายสำเร็จ
errors
ที่สร้างขึ้นจากปลายทาง UDP ของเลเยอร์ Inet ระดับล่างในระหว่างการส่ง

ResendMessage

WEAVE_ERROR ResendMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  InterfaceId interfaceId,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

ส่งข้อความ Weave ที่เข้ารหัสอีกครั้งโดยใช้ปลายทาง UDP ของ Inetlayer ที่อยู่เบื้องหลัง

หมายเหตุ: หากไม่ได้ระบุที่อยู่ปลายทาง ให้ลองระบุจากตัวระบุโหนดในส่วนหัวของข้อความ ล้มเหลวหากการดำเนินการนี้ไม่สามารถทำได้ -หากที่อยู่ปลายทางเป็นที่อยู่ Fabric สำหรับ Fabric ในพื้นที่และผู้เรียกไม่ได้ระบุรหัสโหนดปลายทาง ให้ดึงรหัสดังกล่าวจากที่อยู่ปลายทาง

รายละเอียด
พารามิเตอร์
[in] aDestAddr
ที่อยู่ IP ปลายทาง
[in] destPort
พอร์ตปลายทาง
[in] interfaceId
อินเทอร์เฟซที่จะส่งข้อความ Weave
[in] msgInfo
ตัวชี้ไปยังออบเจ็กต์ WeaveMessageInfo
[in] payload
ตัวชี้ไปยังออบเจ็กต์ PacketBuffer ที่มีข้อความ Weave ที่เข้ารหัส
ผลลัพธ์
WEAVE_NO_ERROR
การส่งข้อความถึงเลเยอร์เครือข่ายสำเร็จ
errors
ที่สร้างขึ้นจากปลายทาง UDP ของเลเยอร์ Inet ระดับล่างในระหว่างการส่ง

SendMessage

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

ส่งข้อความ Weave โดยใช้ปลายทาง UDP ของ Inetlayer ที่สำคัญหลังจากการเข้ารหัส

รายละเอียด
พารามิเตอร์
[in] msgInfo
ตัวชี้ไปยังออบเจ็กต์ WeaveMessageInfo ที่มีข้อมูลเกี่ยวกับข้อความที่จะส่ง
[in] payload
ตัวชี้ไปยังออบเจ็กต์ PacketBuffer ที่มีข้อความ Weave ที่เข้ารหัส
ผลลัพธ์
WEAVE_NO_ERROR
การส่งข้อความถึงเลเยอร์เครือข่ายสำเร็จ
errors
ที่สร้างขึ้นจากปลายทาง UDP ของเลเยอร์ Inet ระดับล่างในระหว่างการส่ง

SendMessage

WEAVE_ERROR SendMessage(
  const IPAddress & destAddr,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

ส่งข้อความ Weave โดยใช้ปลายทาง UDP ของ Inetlayer ที่สำคัญหลังจากการเข้ารหัส

หมายเหตุ: พอร์ตปลายทางที่ใช้คือ WEAVE_PORT - หากไม่มีการระบุที่อยู่ปลายทาง ให้พยายามค้นหาจากตัวระบุโหนดในส่วนหัวของข้อความ ล้มเหลวหากการดำเนินการนี้ไม่สามารถทำได้

-หากที่อยู่ปลายทางเป็นที่อยู่ Fabric สำหรับ Fabric ในพื้นที่และผู้เรียกไม่ได้ระบุรหัสโหนดปลายทาง ให้ดึงรหัสดังกล่าวจากที่อยู่ปลายทาง

รายละเอียด
พารามิเตอร์
[in] destAddr
ที่อยู่ IP ปลายทาง
[in] msgInfo
ตัวชี้ไปยังออบเจ็กต์ WeaveMessageInfo ที่มีข้อมูลเกี่ยวกับข้อความที่จะส่ง
[in] payload
ตัวชี้ไปยังออบเจ็กต์ PacketBuffer ที่มีข้อความ Weave ที่เข้ารหัส
ผลลัพธ์
WEAVE_NO_ERROR
การส่งข้อความถึงเลเยอร์เครือข่ายสำเร็จ
errors
ที่สร้างขึ้นจากปลายทาง UDP ของเลเยอร์ Inet ระดับล่างในระหว่างการส่ง

SendMessage

WEAVE_ERROR SendMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  InterfaceId sendIntfId,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

ส่งข้อความ Weave โดยใช้ปลายทาง UDP ของ Inetlayer ที่อยู่เบื้องหลังหลังจากเข้ารหัส

หมายเหตุ: - หากไม่ได้ระบุที่อยู่ปลายทาง ให้พยายามระบุที่อยู่จากตัวระบุโหนดในส่วนหัวของข้อความ ล้มเหลวหากการดำเนินการนี้ไม่สามารถทำได้ -หากที่อยู่ปลายทางเป็นที่อยู่ Fabric สำหรับ Fabric ในพื้นที่และผู้เรียกไม่ได้ระบุรหัสโหนดปลายทาง ให้ดึงรหัสดังกล่าวจากที่อยู่ปลายทาง

รายละเอียด
พารามิเตอร์
[in] aDestAddr
ที่อยู่ IP ปลายทาง
[in] destPort
พอร์ตปลายทาง
[in] sendIntfId
อินเทอร์เฟซที่ใช้ในการส่งข้อความ Weave
[in] msgInfo
ตัวชี้ไปยังออบเจ็กต์ WeaveMessageInfo ที่มีข้อมูลเกี่ยวกับข้อความที่จะส่ง
[in] payload
ตัวชี้ไปยังออบเจ็กต์ PacketBuffer ที่มีข้อความ Weave ที่เข้ารหัส
ผลลัพธ์
WEAVE_NO_ERROR
ในการส่งข้อความไปยังเลเยอร์เครือข่ายเรียบร้อยแล้ว
WEAVE_ERROR_INVALID_ADDRESS
หากไม่ได้ระบุ destAddr หรือไม่สามารถระบุได้จากรหัสโหนดปลายทาง
errors
สร้างขึ้นจากปลายทาง UDP ของเลเยอร์ Inet ที่ต่ำกว่าระหว่างการส่ง

SendUDPTunneledMessage

WEAVE_ERROR SendUDPTunneledMessage(
  const IPAddress & destAddr,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

ฟังก์ชันสำหรับส่งแพ็กเก็ตที่ส่งผ่านอุโมงค์ผ่านอุโมงค์ UDP ในพื้นที่

ส่งข้อความข้อมูล IPv6 ที่ส่งผ่านอุโมงค์ผ่าน UDP

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

SetSignalMessageLayerActivityChanged

void SetSignalMessageLayerActivityChanged(
  MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler
)

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

กล่าวโดยละเอียดคือ แอปพลิเคชันจะได้รับการแจ้งเตือนทุกครั้งที่ดำเนินการต่อไปนี้

  • จํานวนการแลกเปลี่ยนที่เปิดอยู่มีการเปลี่ยนแปลง
  • จำนวนคำขอซิงค์ข้อมูลตัวนับข้อความที่รอดำเนินการเปลี่ยนจาก 0 เป็น 1 เป็นอย่างน้อย และกลับไปเป็น 0 แฮนเดิลจะแสดงเป็นสัญญาณทั่วไปที่ระบุว่ามีการสนทนา Weave ต่อเนื่องอยู่หรือมีคำตอบที่รอดำเนินการอยู่หรือไม่ ต้องตั้งค่าเครื่องจัดการหลังจากเริ่มต้น WeaveMessageLayer แล้ว การปิด WeaveMessageLayer จะเป็นการล้างเครื่องจัดการปัจจุบัน

รายละเอียด
พารามิเตอร์
[in] messageLayerActivityChangeHandler
ตัวชี้ไปยังฟังก์ชันที่จะเรียกใช้เมื่อกิจกรรมของเลเยอร์ข้อความมีการเปลี่ยนแปลง
ค่าที่แสดงผล
None.

SetTCPListenEnabled

void SetTCPListenEnabled(
  bool val
)

เปิดหรือปิดใช้การฟังการเชื่อมต่อ TCP ขาเข้าใน WeaveMessageLayer

หมายเหตุ: RefreshEndpoints() ต้องเรียกใช้หลังจากมีการเปลี่ยนแปลงสถานะการฟัง TCP

SetUDPListenEnabled

void SetUDPListenEnabled(
  bool val
)

เปิดหรือปิดใช้การฟังข้อความ UDP ขาเข้าใน WeaveMessageLayer

หมายเหตุ: RefreshEndpoints() ต้องเรียกใช้หลังจากมีการเปลี่ยนแปลงสถานะการฟัง UDP

SetUnsecuredConnectionListener

WEAVE_ERROR SetUnsecuredConnectionListener(
  ConnectionReceiveFunct newOnUnsecuredConnectionReceived,
  CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved,
  bool force,
  void *listenerState
)

ปิดการทำงาน

WEAVE_ERROR Shutdown(
  void
)

ปิด WeaveMessageLayer

ปิดปลายทางเลเยอร์ Inet ที่เปิดอยู่ทั้งหมด รีเซ็ตการเรียกกลับเลเยอร์ที่สูงกว่าทั้งหมด ตัวแปรสมาชิก และออบเจ็กต์ การเรียก Shutdown() จะสิ้นสุดออบเจ็กต์ WeaveMessageLayer

TCPListenEnabled

bool TCPListenEnabled(
  void
) const 

ตรวจสอบว่า WeaveMessageLayer ได้รับการกําหนดค่าให้รอการเชื่อมต่อ TCP ขาเข้าหรือไม่

UDPListenEnabled

bool UDPListenEnabled(
  void
) const 

ตรวจสอบว่าได้กำหนดค่า WeaveMessageLayer ให้รับข้อความ UDP ขาเข้าหรือไม่

UnsecuredListenEnabled

bool UnsecuredListenEnabled(
  void
) const 

เปิดหรือปิดใช้การเริ่มการแลกเปลี่ยน Weave UDP จากพอร์ตต้นทาง UDP ชั่วคราว

หมายเหตุ: RefreshEndpoints() ต้องเรียกใช้หลังจากมีการเปลี่ยนแปลงสถานะพอร์ตชั่วคราว ตรวจสอบว่าได้เปิดใช้การฟังที่ไม่ปลอดภัยหรือไม่

WeaveMessageLayer

 WeaveMessageLayer(
  void
)

ตัวสร้างเลเยอร์ข้อความ Weave

ฟังก์ชันสาธารณะแบบคงที่

GetMaxWeavePayloadSize

uint32_t GetMaxWeavePayloadSize(
  const PacketBuffer *msgBuf,
  bool isUDP,
  uint32_t udpMTU
)

รับขนาดเพย์โหลดสูงสุดของ Weave สําหรับการกําหนดค่าข้อความและ PacketBuffer ที่ระบุ

ขนาดเพย์โหลดสูงสุดที่แสดงผลจะไม่เกินพื้นที่ว่างสำหรับเพย์โหลดภายใน PacketBuffer ที่ระบุ

หากข้อความเป็น UDP ขนาดเพย์โหลดสูงสุดที่แสดงผลจะไม่ส่งผลให้ข้อความ Weave เกิน MTU ของ UDP ที่ระบุ

สุดท้าย ขนาดเพย์โหลดสูงสุดที่แสดงผลจะไม่ส่งผลให้ข้อความ Weave มีขนาดเกินขีดจำกัดสูงสุดของข้อความ Weave

รายละเอียด
พารามิเตอร์
[in] msgBuf
ตัวชี้ไปยัง PacketBuffer ที่ระบบจะเขียนเพย์โหลดข้อความ
[in] isUDP
จริง หากข้อความเป็นข้อความ UDP
[in] udpMTU
ขนาดของ UDP MTU จะไม่สนใจหาก isUDP เป็นเท็จ
การคืนสินค้า
ขนาดเพย์โหลดสูงสุดของ Weave

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize,
  uint64_t nodeId,
  const IPAddress *addr,
  uint16_t port,
  InterfaceId interfaceId,
  const WeaveConnection *con
)

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

สตริงที่สร้างขึ้นจะมีรูปแบบดังนี้

 ([]:%, con )

รายละเอียด
พารามิเตอร์
[in] buf
ตัวชี้ไปยังบัฟเฟอร์ที่ควรเขียนสตริง บัฟเฟอร์ที่ระบุควรมีขนาดใหญ่เท่ากับ kWeavePeerDescription_MaxLength เป็นอย่างน้อย หากใส่บัฟเฟอร์ที่เล็กกว่า ระบบจะตัดสตริงให้พอดี ผลลัพธ์จะมีอักขระสิ้นสุด NUL ในทุกกรณี
[in] bufSize
ขนาดของบัฟเฟอร์ที่ buf ชี้ไป
[in] nodeId
รหัสโหนดที่จะพิมพ์
[in] addr
ตัวชี้ไปยังที่อยู่ IP ที่จะพิมพ์ หรือ NULL หากไม่มีที่อยู่ IP ควรพิมพ์
[in] port
หมายเลขพอร์ต IP ที่จะพิมพ์ ระบบจะไม่พิมพ์หมายเลขพอร์ตหาก addr เป็น NULL
[in] interfaceId
InterfaceId ที่ระบุอินเทอร์เฟซที่จะพิมพ์ สตริงเอาต์พุตจะมีชื่อของอินเทอร์เฟซที่รู้จักกันในสแต็กเครือข่ายเบื้องหลัง ระบบจะไม่แสดงชื่ออินเทอร์เฟซหาก interfaceId เป็น INET_NULL_INTERFACEID หรือหาก addr เป็น NULL
[in] con
ตัวชี้ไปยังออบเจ็กต์ WeaveConnection ที่ควรพิมพ์รหัสการบันทึก หรือ NULL หากไม่มีรหัสการเชื่อมต่อ

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize,
  const WeaveMessageInfo *msgInfo
)

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

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