nl::Weave::WeaveMessageLayer

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

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

สรุป

ใช้บริษัทปลายทาง InetLayer หลายช่องทางในการสร้างช่องทางการสื่อสารกับโหนด Weave อื่นๆ

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

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

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

AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err) ประเภทการพิมพ์
void(*
ฟังก์ชันนี้เป็นการเรียกกลับเลเยอร์ที่สูงขึ้นเพื่อรายงานข้อผิดพลาดระหว่างการจัดการการเชื่อมต่อ TCP ขาเข้า
CallbackRemovedFunct)(void *listenerState) ประเภทการพิมพ์
void(*
มีการเรียกใช้ฟังก์ชันนี้เพื่อนําโค้ดเรียกกลับออก
ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con) ประเภทการพิมพ์
void(*
ฟังก์ชันนี้เป็นการเรียกกลับสําหรับเลเยอร์ที่สูงกว่าสําหรับจัดการการเชื่อมต่อ TCP ขาเข้า
MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive) ประเภทการพิมพ์
void(*
ฟังก์ชันนี้เป็นโค้ดเรียกกลับแอปพลิเคชันสําหรับการรายงานการเปลี่ยนแปลงกิจกรรมของเลเยอร์ข้อความ
MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload) ประเภทการพิมพ์
void(*
ฟังก์ชันนี้เป็นโค้ดเรียกกลับชั้นที่สูงกว่าซึ่งมีการเรียกใช้เมื่อมีการรับข้อความ Weave ผ่าน UDP
ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo) ประเภทการพิมพ์
void(*
ฟังก์ชันนี้เป็นโค้ดเรียกกลับชั้นที่สูงขึ้นซึ่งจะเรียกใช้เมื่อพบข้อผิดพลาด
State{
  kState_NotInitialized = 0,
  kState_Initializing = 1,
  kState_Initialized = 2
}
enum
สถานะของ WeaveMessageLayer
TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload) ประเภทการพิมพ์
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
[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 ด้วยการเชื่อมต่อ WeaveConnections 2 รายการที่ระบุเข้าด้วยกัน
DecodeHeader(PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
ถอดรหัสส่วนหัว Weave Message จากข้อความ 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 ใน 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
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 U ที่เกี่ยวข้อง
ResendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
ส่งข้อความ Weave ที่เข้ารหัสอีกครั้งโดยใช้ปลายทาง UDP แบบ Inetlayer U ที่เกี่ยวข้อง
ResendMessage(const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
ส่งข้อความ Weave ที่เข้ารหัสอีกครั้งโดยใช้ปลายทาง UDP แบบ Inetlayer U ที่เกี่ยวข้อง
ResendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
ส่งข้อความ Weave ที่เข้ารหัสอีกครั้งโดยใช้ปลายทาง UDP แบบ Inetlayer U ที่เกี่ยวข้อง
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)
ฟังก์ชันสําหรับส่งแพ็กเก็ต Tunneled ผ่านอุโมงค์ 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

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

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

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

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

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

โทรกลับที่ตัดสายเสียงออก

void(* CallbackRemovedFunct)(void *listenerState)

มีการเรียกใช้ฟังก์ชันนี้เพื่อนําโค้ดเรียกกลับออก

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

การรับสัญญาณการเชื่อมต่อ

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

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

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

MessageHandleEventFHandlerFunct

void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)

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

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

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

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

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

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

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

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

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

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

รายละเอียด
พารามิเตอร์
[in] msgLayer
ตัวชี้ไปยังออบเจ็กต์ WeaveMessageLayer
[in] err
WEhave_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
ได้รับข้อความ Pointer ไปยัง PacketBuffer ที่มีแพ็กเก็ตแบบ Tunnel

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

สถานะแอป

void * AppState

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

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

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

สถานะผ้า

WeaveFabricState * FabricState

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

ข้อความขาเข้าขาเข้า

uint32_t IncomingConIdleTimeout

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

อินเนต

InetLayer * Inet

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

กําลังฟังอยู่

bool IsListening

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

ข้อผิดพลาดเมื่อยอมรับ

AcceptErrorFunct OnAcceptError

ได้รับการเชื่อมต่อ

ConnectionReceiveFunct OnConnectionReceived

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

MessageReceiveFunct OnMessageReceived

ข้อผิดพลาดเมื่อรับ

ReceiveErrorFunct OnReceiveError

OnUDPTunneledMessageReceived

TunneledMsgReceiveFunct OnUDPTunneledMessageReceived

ความปลอดภัย

WeaveSecurityManager * SecurityMgr

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

รัฐ

uint8_t State

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

เลเยอร์ของระบบ

System::Layer * SystemLayer

mDropMessage

bool mDropMessage

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

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

ล้าง Listener การเชื่อมต่อที่ไม่ปลอดภัย

WEAVE_ERROR ClearUnsecuredConnectionListener(
  ConnectionReceiveFunct oldOnUnsecuredConnectionReceived,
  CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved
)

อุปกรณ์ปิดปลายทาง

WEAVE_ERROR CloseEndpoints(
  void
)

ปิดปลายทาง TCP และ UDP แบบเปิดทั้งหมด

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

ดูเพิ่มเติม:
Shutdown()

สร้างอุโมงค์

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 ใหม่ไม่ได้

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

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

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

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

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

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
ข้อผิดพลาดที่เกิดจากออบเจ็กต์สถานะผ้าเมื่อดึงข้อมูลสถานะเซสชัน

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

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

เข้ารหัสส่วนหัวของเลเยอร์ข้อความ Weave ใน 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
ข้อผิดพลาดที่เกิดจากออบเจ็กต์สถานะผ้าเมื่อดึงข้อมูลสถานะเซสชัน

เปิดใช้ UDPPort ชั่วคราว

bool EphemeralUDPPortEnabled(
  void
) const 

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

สถิติ GetConnection

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
)

เริ่มต้นออบเจ็กต์เลเยอร์ข้อความ Weave

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

IsBoundToLocalIPv4ที่อยู่

bool IsBoundToLocalIPv4Address(
  void
) const 

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

IsBoundToLocalIPv6ที่อยู่

bool IsBoundToLocalIPv6Address(
  void
) const 

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

IsMessageLayerActive

bool IsMessageLayerActive(
  void
)

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

WeaveConnection * NewConnection(
  void
)

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

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

อุโมงค์การเชื่อมต่อใหม่

WeaveConnectionTunnel * NewConnectionTunnel(
  void
)

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

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

ข้อความ ReEncode

WEAVE_ERROR ReEncodeMessage(
  PacketBuffer *buf
)

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

WEAVE_ERROR RefreshEndpoints(
  void
)

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

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

ส่งข้อความซ้ํา

WEAVE_ERROR ResendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

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

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

ส่งข้อความซ้ํา

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

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

รายละเอียด
พารามิเตอร์
[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 ที่เข้ารหัสอีกครั้งโดยใช้ปลายทาง UDP แบบ Inetlayer U ที่เกี่ยวข้อง

รายละเอียด
พารามิเตอร์
[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 ที่เข้ารหัสอีกครั้งโดยใช้ปลายทาง UDP แบบ Inetlayer U ที่เกี่ยวข้อง

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

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

ส่งข้อความ

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

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

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

ส่งข้อความ

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

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

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

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

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

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

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

รายละเอียด
พารามิเตอร์
[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 ในระหว่างการส่ง

ส่งข้อความUDPTunneledMessage

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

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

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

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

เปลี่ยนการตั้งค่าข้อความสัญญาณเลเยอร์แล้ว

void SetSignalMessageLayerActivityChanged(
  MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler
)

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

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

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

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

SetTCPListenEnabled

void SetTCPListenEnabled(
  bool val
)

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

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

ตั้งค่าUDPListenEnabled

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 ขาเข้าหรือไม่

UDPListen เปิดใช้อยู่

bool UDPListenEnabled(
  void
) const 

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

UnsecuredListenEnabled

bool UnsecuredListenEnabled(
  void
) const 

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

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

เลเยอร์ข้อความ Weave

 WeaveMessageLayer(
  void
)

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

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

ขนาดการโหลดสูงสุด Weave

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

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

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

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

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

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

คําอธิบาย GetPeer

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 ที่จะพิมพ์ พิมพ์หมายเลขพอร์ตไม่ได้ถ้าที่อยู่เป็น NULL
[in] interfaceId
InterfaceId ระบุอินเทอร์เฟซที่จะพิมพ์ สตริงเอาต์พุตจะมีชื่อของอินเทอร์เฟซที่ทราบว่าส่งไปยังสแต็กเครือข่ายที่เกี่ยวข้อง ระบบจะไม่พิมพ์ชื่ออินเทอร์เฟซหาก InterfaceId คือ INET_NULL_INTERFACEID หรือหาก Adder เป็น NULL
[in] con
ตัวชี้ไปยังออบเจ็กต์ WeaveConnection ซึ่งควรพิมพ์รหัสการบันทึก หรือ NULL หากไม่มีการพิมพ์รหัสการเชื่อมต่อ

คําอธิบาย GetPeer

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

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

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