ไม่มี:: สาน:: WeaveMessageLayer

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

ความหมายของ WeaveMessageLayer ระดับที่จัดการการสื่อสารกับโหนดสานอื่น ๆ

สรุป

มันใช้หนึ่งในจุดสิ้นสุด InetLayer เพื่อสร้างช่องทางการสื่อสารกับโหนด Weave อื่นๆ

ตัวสร้างและตัวทำลาย

WeaveMessageLayer (void)
ตัวสร้างเลเยอร์ข้อความสาน

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

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

คุณลักษณะสาธารณะ

AppState
void *
ตัวชี้ไปยังอ็อบเจ็กต์สถานะเฉพาะแอปพลิเคชัน
ExchangeMgr
[อ่านเท่านั้น] ที่เกี่ยวข้อง WeaveExchangeManager วัตถุ
FabricState
[อ่านเท่านั้น] ที่เกี่ยวข้อง WeaveFabricState วัตถุ
IncomingConIdleTimeout
uint32_t
ค่าเริ่มต้นหมดเวลาไม่ได้ใช้งาน (เป็นมิลลิวินาที) สำหรับการเชื่อมต่อขาเข้า
Inet
InetLayer *
[อ่านอย่างเดียว] ออบเจ็กต์ InetLayer ที่เกี่ยวข้อง
IsListening
bool
[อ่านอย่างเดียว] จริงหากรับฟังการเชื่อมต่อ/ข้อความที่เข้ามา มิฉะนั้นจะเป็นเท็จ
OnAcceptError
OnConnectionReceived
OnMessageReceived
OnReceiveError
OnUDPTunneledMessageReceived
SecurityMgr
[อ่านเท่านั้น] ที่เกี่ยวข้อง WeaveSecurityManager วัตถุ
State
uint8_t
[อ่านเท่านั้น] รัฐของ 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 โดยการมีเพศสัมพันธ์ด้วยกันสอง WeaveConnections ระบุ
DecodeHeader ( PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
ถอดรหัสส่วนหัวของเลเยอร์ข้อความสานจากข้อความสานที่ได้รับ
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)
เข้ารหัสส่วนหัวของเลเยอร์ข้อความสานลงใน 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)
เริ่มต้นวัตถุเลเยอร์ข้อความสาน
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 ที่เข้ารหัสอีกครั้งโดยใช้ปลายทาง Inetlayer UDP
ResendMessage (const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
ส่งข้อความ Weave ที่เข้ารหัสอีกครั้งโดยใช้ปลายทาง Inetlayer UDP
ResendMessage (const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
ส่งข้อความ Weave ที่เข้ารหัสอีกครั้งโดยใช้ปลายทาง Inetlayer UDP
ResendMessage (const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
ส่งข้อความ Weave ที่เข้ารหัสอีกครั้งโดยใช้ปลายทาง Inetlayer UDP
SendMessage ( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
ส่งข้อความสานโดยใช้จุดสิ้นสุด Inetlayer UDP หลังจากเข้ารหัส
SendMessage (const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
ส่งข้อความสานโดยใช้จุดสิ้นสุด Inetlayer UDP หลังจากเข้ารหัส
SendMessage (const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
ส่งข้อความสานโดยใช้จุดสิ้นสุด Inetlayer UDP หลังจากเข้ารหัส
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 ชั่วคราว

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

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 :: สาน :: WeaveMessageLayer :: InitContext

ความหมายของ InitContext ระดับ

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

ยอมรับข้อผิดพลาดฟังก์ชัน

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

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

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

CallbackRemovedFunct

void(* CallbackRemovedFunct)(void *listenerState)

ฟังก์ชันนี้ถูกเรียกใช้เพื่อลบการโทรกลับ

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

ConnectionReceiveFunct

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

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

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

MessageLayerActivityChangeHandlerFunct

void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)

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

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

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

MessageReceiveFunct

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

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

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

รับข้อผิดพลาดฟังก์ชัน

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

ฟังก์ชันนี้เป็นการเรียกกลับชั้นที่สูงกว่าเมื่อพบข้อผิดพลาด

รายละเอียด
พารามิเตอร์
[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)

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

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

คุณลักษณะสาธารณะ

AppState

void * AppState

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

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[อ่านเท่านั้น] ที่เกี่ยวข้อง WeaveExchangeManager วัตถุ

FabricState

WeaveFabricState * FabricState

[อ่านเท่านั้น] ที่เกี่ยวข้อง WeaveFabricState วัตถุ

ขาเข้าConIdleTimeout

uint32_t IncomingConIdleTimeout

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

Inet

InetLayer * Inet

[อ่านอย่างเดียว] ออบเจ็กต์ InetLayer ที่เกี่ยวข้อง

IsListening

bool IsListening

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

OnAcceptError

AcceptErrorFunct OnAcceptError

OnConnectionReceived

ConnectionReceiveFunct OnConnectionReceived

ได้รับข้อความแล้ว

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnUDPTunneledMessageReceived

TunneledMsgReceiveFunct OnUDPTunneledMessageReceived

SecurityMgr

WeaveSecurityManager * SecurityMgr

[อ่านเท่านั้น] ที่เกี่ยวข้อง WeaveSecurityManager วัตถุ

สถานะ

uint8_t State

[อ่านเท่านั้น] รัฐของ WeaveMessageLayer วัตถุ

SystemLayer

System::Layer * SystemLayer

mDropMessage

bool mDropMessage

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

งานสาธารณะ

ClearUnsecuredConnectionListener

WEAVE_ERROR ClearUnsecuredConnectionListener(
  ConnectionReceiveFunct oldOnUnsecuredConnectionReceived,
  CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved
)

ปิดปลายทาง

WEAVE_ERROR CloseEndpoints(
  void
)

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

แล้วยกเลิก WeaveConnections ใด ๆ ที่เปิดและปิดใด ๆ ที่เปิด WeaveConnectionTunnel วัตถุ

ดูสิ่งนี้ด้วย:
Shutdown ()

CreateTunnel

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

สร้าง WeaveConnectionTunnel โดยการมีเพศสัมพันธ์ด้วยกันสอง WeaveConnections ระบุ

ในการสร้างที่ประสบความสำเร็จ TCPEndPoints ที่สอดคล้องกับองค์ประกอบ WeaveConnection วัตถุที่มีการส่งมอบให้ WeaveConnectionTunnel มิฉะนั้น WeaveConnections ที่มีการปิด

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

ถอดรหัสส่วนหัว

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

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

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

เข้ารหัสข้อความ

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

เข้ารหัส WeaveMessageLayer ส่วนหัวเป็น PacketBuffer

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

เข้ารหัสข้อความ

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

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

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

ชั่วคราวUDPPortEnabled

bool EphemeralUDPPortEnabled(
  void
) const 

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

GetConnectionPoolStats

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

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

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

IPv4ListenEnabled

bool IPv4ListenEnabled(
  void
) const 

ตรวจสอบว่า WeaveMessageLayer มีการกำหนดค่าที่จะฟังสำหรับการสื่อสารขาเข้ามากกว่า IPv4

IPv6ListenEnabled

bool IPv6ListenEnabled(
  void
) const 

ตรวจสอบว่า WeaveMessageLayer มีการกำหนดค่าที่จะฟังสำหรับการสื่อสารขาเข้ามากกว่า IPv4

ในนั้น

WEAVE_ERROR Init(
  InitContext *context
)

เริ่มต้นวัตถุเลเยอร์ข้อความสาน

รายละเอียด
พารามิเตอร์
[in] context
ตัวชี้ไปยัง InitContext วัตถุ
ส่งกลับค่า
WEAVE_NO_ERROR
ในการเริ่มต้นที่ประสบความสำเร็จ
WEAVE_ERROR_INVALID_ARGUMENT
ถ้าผ่าน InitContext วัตถุเป็นโมฆะ
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
)

ใหม่การเชื่อมต่อ

WeaveConnection * NewConnection(
  void
)

สร้างใหม่ WeaveConnection วัตถุจากสระว่ายน้ำ

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

ใหม่การเชื่อมต่อTunnel

WeaveConnectionTunnel * NewConnectionTunnel(
  void
)

สร้างใหม่ WeaveConnectionTunnel วัตถุจากสระว่ายน้ำ

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

ReEncodeMessage

WEAVE_ERROR ReEncodeMessage(
  PacketBuffer *buf
)

รีเฟรชปลายทาง

WEAVE_ERROR RefreshEndpoints(
  void
)

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

รายละเอียด
ส่งกลับค่า
WEAVE_NO_ERROR
ในการรีเฟรชปลายทางได้สำเร็จ
InetLayer
ข้อผิดพลาดตามการโทรเพื่อสร้างปลายทาง TCP/UDP

ส่งข้อความอีกครั้ง

WEAVE_ERROR ResendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

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

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

ส่งข้อความอีกครั้ง

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

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

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

ส่งข้อความอีกครั้ง

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

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

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

ส่งข้อความอีกครั้ง

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

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

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

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

ส่งข้อความ

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

ส่งข้อความสานโดยใช้จุดสิ้นสุด Inetlayer UDP หลังจากเข้ารหัส

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

ส่งข้อความ

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

ส่งข้อความสานโดยใช้จุดสิ้นสุด Inetlayer UDP หลังจากเข้ารหัส

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

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

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

ส่งข้อความ

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

ส่งข้อความสานโดยใช้จุดสิ้นสุด Inetlayer UDP หลังจากเข้ารหัส

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

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

ส่งUDPTข้อความที่ปรับแต่งแล้ว

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 หรือไม่สามารถกำหนดได้จาก id โหนดปลายทาง
errors
สร้างจากปลายทาง UDP ของเลเยอร์ Inet ที่ต่ำกว่าระหว่างการส่ง

SetSignalMessageLayerActivityChanged

void SetSignalMessageLayerActivityChanged(
  MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler
)

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

โดยเฉพาะอย่างยิ่ง แอปพลิเคชันจะได้รับแจ้งทุกครั้ง:

  • จำนวนการแลกเปลี่ยนที่เปิดมีการเปลี่ยนแปลง
  • จำนวนคำขอการซิงโครไนซ์ตัวนับข้อความที่รอดำเนินการเปลี่ยนจากศูนย์เป็นอย่างน้อยหนึ่งรายการและกลับเป็นศูนย์ ตัวจัดการทำหน้าที่เป็นสัญญาณทั่วไปที่ระบุว่ามีการสนทนา 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 ที่เปิดอยู่ทั้งหมด รีเซ็ตการเรียกกลับของเลเยอร์ที่สูงกว่า ตัวแปรสมาชิก และอ็อบเจ็กต์ทั้งหมด การเรียกร้องให้ ปิดเครื่อง () ยุติ WeaveMessageLayer วัตถุ

TCPListenEnabled

bool TCPListenEnabled(
  void
) const 

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

UDPListenEnabled

bool UDPListenEnabled(
  void
) const 

ตรวจสอบว่า WeaveMessageLayer มีการกำหนดค่าที่จะฟังสำหรับข้อความ UDP ขาเข้า

ไม่ปลอดภัยListenEnabled

bool UnsecuredListenEnabled(
  void
) const 

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

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

WeaveMessageLayer

 WeaveMessageLayer(
  void
)

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

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

GetMaxWeavePayloadSize

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

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

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

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

สุดท้าย ขนาด payload สูงสุดที่ส่งคืนจะไม่ส่งผลให้เกิดข้อความ 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
ขนาดของบัฟเฟอร์ชี้ไปที่บัฟเฟอร์
[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 ถ้าไม่ควรพิมพ์ id การเชื่อมต่อ

GetPeerDescription

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

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

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