nl:: बुनें:: वेवमैसेज लेयर

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

की परिभाषा WeaveMessageLayer वर्ग है, जो अन्य Weave नोड्स के साथ संचार का प्रबंधन करता है।

सारांश

यह अन्य बुनाई नोड्स के साथ संचार चैनल स्थापित करने के लिए कई InetLayer समापन बिंदुओं में से एक को नियोजित करता है।

निर्माता और विनाशक

WeaveMessageLayer (void)
बुन संदेश परत निर्माता।

सार्वजनिक प्रकार

AcceptErrorFunct )(WeaveMessageLayer *msgLayer, WEAVE_ERROR err) टाइपडीफ
void(*
आने वाले टीसीपी कनेक्शन को संभालने के दौरान त्रुटि की रिपोर्ट करने के लिए यह फ़ंक्शन उच्च परत कॉलबैक है।
CallbackRemovedFunct )(void *listenerState) टाइपडीफ
void(*
कॉलबैक को हटाने के लिए यह फ़ंक्शन लागू किया जाता है।
ConnectionReceiveFunct )(WeaveMessageLayer *msgLayer, WeaveConnection *con) टाइपडीफ
void(*
आने वाले टीसीपी कनेक्शन को संभालने के लिए यह फ़ंक्शन उच्च परत कॉलबैक है।
MessageLayerActivityChangeHandlerFunct )(bool messageLayerIsActive) टाइपडीफ
void(*
यह फ़ंक्शन संदेश परत गतिविधि परिवर्तन की रिपोर्ट करने के लिए एप्लिकेशन कॉलबैक है।
MessageReceiveFunct )(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload) टाइपडीफ
void(*
यह फ़ंक्शन उच्च परत कॉलबैक है जिसे यूडीपी पर एक वीव संदेश प्राप्त होने पर लागू किया जाता है।
ReceiveErrorFunct )(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo) टाइपडीफ
void(*
यह फ़ंक्शन एक त्रुटि का सामना करने पर लागू उच्च परत कॉलबैक है।
State {
kState_NotInitialized = 0,
kState_Initializing = 1,
kState_Initialized = 2
}
एन्यूम
के राज्य WeaveMessageLayer
TunneledMsgReceiveFunct )(WeaveMessageLayer *msgLayer, PacketBuffer *payload) टाइपडीफ
void(*
यह फ़ंक्शन उच्च परत कॉलबैक है जिसे स्थानीय यूडीपी सुरंग पर एक टनल पैकेट प्राप्त होने पर बुलाया जाता है।

सार्वजनिक गुण

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)
एक पैकेटबफर में एक बुनाई संदेश परत शीर्षलेख एन्कोड करें।
EphemeralUDPPortEnabled (void) const
bool
जांचें कि क्या स्थानीय रूप से शुरू किए गए वीव यूडीपी एक्सचेंजों को एक अल्पकालिक यूडीपी स्रोत पोर्ट से भेजा जाना चाहिए।
GetConnectionPoolStats (nl::Weave::System::Stats::count_t & aOutInUse) const
void
उपयोग में आने वाले WeaveConnections की संख्या और पूल का आकार प्राप्त करें।
IPv4ListenEnabled (void) const
bool
यदि चेक WeaveMessageLayer आईपीवी 4 से अधिक भीतर का संचार के लिए सुनने के लिए कॉन्फ़िगर किया गया है।
IPv6ListenEnabled (void) const
bool
यदि चेक WeaveMessageLayer आईपीवी 4 से अधिक भीतर का संचार के लिए सुनने के लिए कॉन्फ़िगर किया गया है।
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)
अंतर्निहित Inetlayer UDP समापन बिंदु का उपयोग करके एन्कोडेड वीव संदेश को फिर से भेजें।
ResendMessage (const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
अंतर्निहित Inetlayer UDP समापन बिंदु का उपयोग करके एन्कोडेड वीव संदेश को फिर से भेजें।
ResendMessage (const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
अंतर्निहित Inetlayer UDP समापन बिंदु का उपयोग करके एन्कोडेड वीव संदेश को फिर से भेजें।
ResendMessage (const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
अंतर्निहित 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)
एक स्थानीय यूडीपी सुरंग पर एक सुरंग पैकेट भेजने का कार्य।
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)
शटडाउन WeaveMessageLayer
TCPListenEnabled (void) const
bool
यदि चेक WeaveMessageLayer भीतर का TCP कनेक्शन के लिए सुनने के लिए कॉन्फ़िगर किया गया है।
UDPListenEnabled (void) const
bool
यदि चेक WeaveMessageLayer इनबाउंड UDP संदेशों के लिए सुनने के लिए कॉन्फ़िगर किया गया है।
UnsecuredListenEnabled (void) const
bool
एक अल्पकालिक यूडीपी स्रोत पोर्ट से वीव यूडीपी एक्सचेंज शुरू करने को सक्षम या अक्षम करें।

सार्वजनिक स्थैतिक कार्य

GetMaxWeavePayloadSize (const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU)
uint32_t
संदेश कॉन्फ़िगरेशन के लिए अधिकतम वीव पेलोड आकार प्राप्त करें और पैकेटबफ़र की आपूर्ति करें।
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)

आने वाले टीसीपी कनेक्शन को संभालने के दौरान त्रुटि की रिपोर्ट करने के लिए यह फ़ंक्शन उच्च परत कॉलबैक है।

विवरण
मापदंडों
[in] msgLayer
करने के लिए एक सूचक WeaveMessageLayer वस्तु।
[in] err
आने वाले टीसीपी कनेक्शन को संभालने के दौरान WEAVE_ERROR का सामना करना पड़ा।

कॉलबैक हटा दिया गया समारोह

void(* CallbackRemovedFunct)(void *listenerState)

कॉलबैक को हटाने के लिए यह फ़ंक्शन लागू किया जाता है।

विवरण
मापदंडों
[in] listenerState
एप्लिकेशन स्टेट ऑब्जेक्ट के लिए एक पॉइंटर।

कनेक्शन प्राप्त समारोह

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

आने वाले टीसीपी कनेक्शन को संभालने के लिए यह फ़ंक्शन उच्च परत कॉलबैक है।

विवरण
मापदंडों
[in] msgLayer
करने के लिए एक सूचक WeaveMessageLayer वस्तु।
[in] con
करने के लिए एक सूचक WeaveConnection वस्तु।

MessageLayerActivityChangeHandlerFunct

void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)

यह फ़ंक्शन संदेश परत गतिविधि परिवर्तन की रिपोर्ट करने के लिए एप्लिकेशन कॉलबैक है।

संदेश परत को सक्रिय माना जाता है यदि कम से कम एक खुला विनिमय या लंबित संदेश काउंटर सिंक्रनाइज़ेशन अनुरोध है।

विवरण
मापदंडों
[in] messageLayerIsActive
एक बूलियन मान इंगित करता है कि संदेश परत सक्रिय है या नहीं।

MessageReceiveFunction

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

यह फ़ंक्शन उच्च परत कॉलबैक है जिसे यूडीपी पर एक वीव संदेश प्राप्त होने पर लागू किया जाता है।

विवरण
मापदंडों
[in] msgLayer
करने के लिए एक सूचक WeaveMessageLayer वस्तु।
[in] msgInfo
करने के लिए एक सूचक WeaveMessageInfo वस्तु।
[in] payload
प्राप्त टनल वाले पैकेट वाले पैकेटबफर संदेश का सूचक।

रिसीव एरर फंक्शन

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

यह फ़ंक्शन एक त्रुटि का सामना करने पर लागू उच्च परत कॉलबैक है।

विवरण
मापदंडों
[in] msgLayer
करने के लिए एक सूचक WeaveMessageLayer वस्तु।
[in] err
डेटा प्राप्त करते समय WEAVE_ERROR का सामना करना पड़ा।
[in] pktInfo
IPacketInfo ऑब्जेक्ट के लिए केवल-पढ़ने के लिए सूचक।

राज्य

 State

के राज्य WeaveMessageLayer

गुण
kState_Initialized

राज्य जब WeaveMessageLayer आरंभ नहीं हो जाता।

kState_Initializing

राज्य जब WeaveMessageLayer प्रारंभ होने की प्रक्रिया में है।

kState_NotInitialized

राज्य जब WeaveMessageLayer आरंभ नहीं किया है।

TunneledMsgReceiveFunction

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

यह फ़ंक्शन उच्च परत कॉलबैक है जिसे स्थानीय यूडीपी सुरंग पर एक टनल पैकेट प्राप्त होने पर बुलाया जाता है।

विवरण
मापदंडों
[in] msgLayer
करने के लिए एक सूचक WeaveMessageLayer वस्तु।
[in] payload
टनल वाले पैकेट वाले पैकेटबफर संदेश का सूचक प्राप्त हुआ।

सार्वजनिक गुण

ऐपस्टेट

void * AppState

एप्लिकेशन-विशिष्ट स्थिति ऑब्जेक्ट के लिए एक सूचक।

एक्सचेंजएमजीआर

WeaveExchangeManager * ExchangeMgr

[केवल पढ़ने के लिए] जुड़े WeaveExchangeManager वस्तु।

फैब्रिकस्टेट

WeaveFabricState * FabricState

[केवल पढ़ने के लिए] संबद्ध WeaveFabricState वस्तु।

इनकमिंगकॉनआईडलटाइमआउट

uint32_t IncomingConIdleTimeout

आने वाले कनेक्शन के लिए डिफ़ॉल्ट निष्क्रिय समयबाह्य (मिलीसेकंड में)।

मंत्रिमंडल

InetLayer * Inet

[केवल पढ़ने के लिए] संबद्ध InetLayer ऑब्जेक्ट।

सुन रहा है

bool IsListening

[केवल पढ़ने के लिए] यदि इनकमिंग कनेक्शन/संदेश सुन रहे हैं तो सही है, अन्यथा गलत है।

स्वीकार करने में त्रुटि

AcceptErrorFunct OnAcceptError

ऑनकनेक्शनप्राप्त

ConnectionReceiveFunct OnConnectionReceived

OnMessageReceived

MessageReceiveFunct OnMessageReceived

ऑन रिसीव एरर

ReceiveErrorFunct OnReceiveError

OnUDPTसुरंग संदेशप्राप्त

TunneledMsgReceiveFunct OnUDPTunneledMessageReceived

सुरक्षा एमजीआर

WeaveSecurityManager * SecurityMgr

[केवल पढ़ने के लिए] जुड़े WeaveSecurityManager वस्तु।

राज्य

uint8_t State

[केवल पढ़ने के लिए] के राज्य WeaveMessageLayer वस्तु।

सिस्टम लेयर

System::Layer * SystemLayer

एमड्रॉप संदेश

bool mDropMessage

आंतरिक और केवल डीबग के लिए; जब निर्धारित करते हैं, WeaveMessageLayer संदेश और रिटर्न चला जाता है।

सार्वजनिक समारोह

ClearUnsecuredConnectionListener

WEAVE_ERROR ClearUnsecuredConnectionListener(
  ConnectionReceiveFunct oldOnUnsecuredConnectionReceived,
  CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved
)

समापन बिंदु बंद करें

WEAVE_ERROR CloseEndpoints(
  void
)

सभी खुले TCP और UDP समापन बिंदु बंद करें।

तो फिर किसी भी खुले WeaveConnections और शट डाउन किसी भी खुले बीच में बंद करें WeaveConnectionTunnel वस्तुओं।

यह सभी देखें:
शटडाउन () ।

सुरंग बनाएं

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_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
पैकेटबफ़र ऑब्जेक्ट के लिए एक पॉइंटर जो वेव संदेश रखता है।
[in] msgInfo
एक करने के लिए एक सूचक WeaveMessageInfo वस्तु जो संदेश के बारे में जानकारी प्राप्त करेंगे।
[out] payloadStart
डिकोडिंग पूर्ण होने के बाद संदेश बफर में स्थिति के लिए एक सूचक के लिए एक सूचक।
वापसी मूल्य
WEAVE_NO_ERROR
संदेश शीर्षलेख के सफल डिकोडिंग पर।
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
यदि पास किया गया संदेश बफ़र अमान्य लंबाई का है।
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
यदि बुन संदेश हेडर प्रारूप संस्करण समर्थित नहीं है।

सांकेतिक शब्दों में बदलना संदेश

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

एक सांकेतिक शब्दों में बदलना WeaveMessageLayer एक PacketBuffer में हैडर।

विवरण
मापदंडों
[in] msgInfo
एक करने के लिए एक सूचक WeaveMessageInfo संदेश के बारे में जानकारी युक्त वस्तु एन्कोड करने की।
[in] msgBuf
पैकेटबफ़र ऑब्जेक्ट के लिए एक पॉइंटर जो वेव मैसेज को होल्ड करेगा।
[in] con
करने के लिए एक सूचक WeaveConnection वस्तु।
[in] maxLen
एन्कोडेड बुन संदेश की अधिकतम लंबाई।
[in] reserve
पेलोड से पहले वीव मैसेज हेडर रखने के लिए आरक्षित स्थान।
वापसी मूल्य
WEAVE_NO_ERROR
संदेश के सफल एन्कोडिंग पर।
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
सत्र स्थिति प्राप्त करते समय फ़ैब्रिक स्थिति ऑब्जेक्ट द्वारा उत्पन्न त्रुटियाँ।

सांकेतिक शब्दों में बदलना संदेश

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

एक पैकेटबफर में एक बुनाई संदेश परत शीर्षलेख एन्कोड करें।

विवरण
मापदंडों
[in] destAddr
गंतव्य आईपी पता।
[in] destPort
गंतव्य बंदरगाह।
[in] sendIntId
इंटरफ़ेस जिस पर वीव संदेश भेजना है।
[in] msgInfo
एक करने के लिए एक सूचक WeaveMessageInfo वस्तु।
[in] payload
पैकेटबफ़र ऑब्जेक्ट के लिए एक पॉइंटर जो वेव मैसेज को होल्ड करेगा।
वापसी मूल्य
WEAVE_NO_ERROR
बुन संदेश के सफल एन्कोडिंग पर।
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
सत्र स्थिति प्राप्त करते समय फ़ैब्रिक स्थिति ऑब्जेक्ट द्वारा उत्पन्न त्रुटियाँ।

अल्पकालिकयूडीपीपोर्टसक्षम

bool EphemeralUDPPortEnabled(
  void
) const 

जांचें कि क्या स्थानीय रूप से शुरू किए गए वीव यूडीपी एक्सचेंजों को एक अल्पकालिक यूडीपी स्रोत पोर्ट से भेजा जाना चाहिए।

GetConnectionPoolStats

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

उपयोग में आने वाले WeaveConnections की संख्या और पूल का आकार प्राप्त करें।

विवरण
मापदंडों
[out] aOutInUse
size_t का संदर्भ, जिसमें उपयोग में आने वाले कनेक्शनों की संख्या संग्रहीत की जाती है।

IPv4सुनो सक्षमable

bool IPv4ListenEnabled(
  void
) const 

यदि चेक WeaveMessageLayer आईपीवी 4 से अधिक भीतर का संचार के लिए सुनने के लिए कॉन्फ़िगर किया गया है।

IPv6सुनो सक्षम

bool IPv6ListenEnabled(
  void
) const 

यदि चेक WeaveMessageLayer आईपीवी 4 से अधिक भीतर का संचार के लिए सुनने के लिए कॉन्फ़िगर किया गया है।

में इस

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 पता करने के लिए बाध्य कर रहा है।

IsBoundToLocalIPv6पता

bool IsBoundToLocalIPv6Address(
  void
) const 

यदि चेक WeaveMessageLayer एक स्थानीय IPv6 पता करने के लिए बाध्य है।

IsMessageLayerActive

bool IsMessageLayerActive(
  void
)

नया कनेक्शन

WeaveConnection * NewConnection(
  void
)

एक नया बनाएं WeaveConnection एक पूल से वस्तु।

विवरण
रिटर्न
नव निर्मित करने के लिए एक सूचक WeaveConnection वस्तु यदि सफल, अन्यथा शून्य।

न्यूकनेक्शन टनल

WeaveConnectionTunnel * NewConnectionTunnel(
  void
)

एक नया बनाएं WeaveConnectionTunnel एक पूल से वस्तु।

विवरण
रिटर्न
नव निर्मित करने के लिए एक सूचक WeaveConnectionTunnel वस्तु यदि सफल, अन्यथा शून्य।

पुन: एन्कोड संदेश

WEAVE_ERROR ReEncodeMessage(
  PacketBuffer *buf
)

ताज़ा करेंसमापन बिंदु

WEAVE_ERROR RefreshEndpoints(
  void
)

सिस्टम के नेटवर्क इंटरफेस की वर्तमान स्थिति के आधार पर InetLayer एंडपॉइंट को रिफ्रेश करें।

विवरण
वापसी मूल्य
WEAVE_NO_ERROR
एंडपॉइंट्स के सफल रिफ्रेशिंग पर।
InetLayer
टीसीपी/यूडीपी एंडपॉइंट बनाने के लिए कॉल के आधार पर त्रुटियां।

संदेश फिर से भेजें

WEAVE_ERROR ResendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

अंतर्निहित Inetlayer UDP समापन बिंदु का उपयोग करके एन्कोडेड वीव संदेश को फिर से भेजें।

विवरण
मापदंडों
[in] msgInfo
करने के लिए एक सूचक WeaveMessageInfo वस्तु।
[in] payload
एन्कोडेड वीव संदेश धारण करने वाले पैकेटबफ़र ऑब्जेक्ट के लिए एक सूचक।
वापसी मूल्य
WEAVE_NO_ERROR
संदेश को नेटवर्क परत पर सफलतापूर्वक भेजने पर।
errors
भेजने के दौरान निचली Inet परत UDP समापन बिंदु से उत्पन्न होता है।

संदेश फिर से भेजें

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

अंतर्निहित Inetlayer UDP समापन बिंदु का उपयोग करके एन्कोडेड वीव संदेश को फिर से भेजें।

विवरण
मापदंडों
[in] destAddr
गंतव्य आईपी पता।
[in] msgInfo
करने के लिए एक सूचक WeaveMessageInfo वस्तु।
[in] payload
एन्कोडेड वीव संदेश धारण करने वाले पैकेटबफ़र ऑब्जेक्ट के लिए एक सूचक।
वापसी मूल्य
WEAVE_NO_ERROR
संदेश को नेटवर्क परत पर सफलतापूर्वक भेजने पर।
errors
भेजने के दौरान निचली Inet परत UDP समापन बिंदु से उत्पन्न होता है।

संदेश फिर से भेजें

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

अंतर्निहित Inetlayer UDP समापन बिंदु का उपयोग करके एन्कोडेड वीव संदेश को फिर से भेजें।

विवरण
मापदंडों
[in] destAddr
गंतव्य आईपी पता।
[in] destPort
गंतव्य बंदरगाह।
[in] msgInfo
करने के लिए एक सूचक WeaveMessageInfo वस्तु।
[in] payload
एन्कोडेड वीव संदेश धारण करने वाले पैकेटबफ़र ऑब्जेक्ट के लिए एक सूचक।
वापसी मूल्य
WEAVE_NO_ERROR
संदेश को नेटवर्क परत पर सफलतापूर्वक भेजने पर।
errors
भेजने के दौरान निचली Inet परत UDP समापन बिंदु से उत्पन्न होता है।

संदेश फिर से भेजें

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

अंतर्निहित Inetlayer UDP समापन बिंदु का उपयोग करके एन्कोडेड वीव संदेश को फिर से भेजें।

नोट: यदि गंतव्य पता आपूर्ति नहीं की गई है, संदेश शीर्ष लेख में नोड पहचानकर्ता से यह निर्धारित करने के लिए प्रयास करते हैं। विफल अगर यह नहीं किया जा सकता है। -यदि गंतव्य पता स्थानीय कपड़े के लिए एक कपड़ा पता है, और कॉलर ने गंतव्य नोड आईडी निर्दिष्ट नहीं किया है, तो इसे गंतव्य पते से निकालें।

विवरण
मापदंडों
[in] aDestAddr
गंतव्य आईपी पता।
[in] destPort
गंतव्य बंदरगाह।
[in] interfaceId
इंटरफ़ेस जिस पर वीव संदेश भेजना है।
[in] msgInfo
करने के लिए एक सूचक WeaveMessageInfo वस्तु।
[in] payload
एन्कोडेड वीव संदेश धारण करने वाले पैकेटबफ़र ऑब्जेक्ट के लिए एक सूचक।
वापसी मूल्य
WEAVE_NO_ERROR
संदेश को नेटवर्क परत पर सफलतापूर्वक भेजने पर।
errors
भेजने के दौरान निचली Inet परत UDP समापन बिंदु से उत्पन्न होता है।

मेसेज भेजें

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

कूटबद्ध करने के बाद अंतर्निहित Inetlayer UDP समापन बिंदु का उपयोग करके एक बुनाई संदेश भेजें।

विवरण
मापदंडों
[in] msgInfo
एक करने के लिए एक सूचक WeaveMessageInfo संदेश के बारे में जानकारी युक्त वस्तु भेजे जाने के लिए।
[in] payload
एन्कोडेड वीव संदेश धारण करने वाले पैकेटबफ़र ऑब्जेक्ट के लिए एक सूचक।
वापसी मूल्य
WEAVE_NO_ERROR
संदेश को नेटवर्क परत पर सफलतापूर्वक भेजने पर।
errors
भेजने के दौरान निचली Inet परत UDP समापन बिंदु से उत्पन्न होता है।

मेसेज भेजें

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

कूटबद्ध करने के बाद अंतर्निहित Inetlayer UDP समापन बिंदु का उपयोग करके एक बुनाई संदेश भेजें।

नोट: -इस गंतव्य इस्तेमाल किया बंदरगाह है WEAVE_PORT । -यदि गंतव्य पता प्रदान नहीं किया गया है, तो इसे संदेश शीर्षलेख में नोड पहचानकर्ता से निर्धारित करने का प्रयास करें। विफल अगर यह नहीं किया जा सकता है।

-यदि गंतव्य पता स्थानीय कपड़े के लिए एक कपड़ा पता है, और कॉलर ने गंतव्य नोड आईडी निर्दिष्ट नहीं किया है, तो इसे गंतव्य पते से निकालें।

विवरण
मापदंडों
[in] destAddr
गंतव्य आईपी पता।
[in] msgInfo
एक करने के लिए एक सूचक WeaveMessageInfo संदेश के बारे में जानकारी युक्त वस्तु भेजे जाने के लिए।
[in] payload
एन्कोडेड वीव संदेश धारण करने वाले पैकेटबफ़र ऑब्जेक्ट के लिए एक सूचक।
वापसी मूल्य
WEAVE_NO_ERROR
संदेश को नेटवर्क परत पर सफलतापूर्वक भेजने पर।
errors
भेजने के दौरान निचली Inet परत UDP समापन बिंदु से उत्पन्न होता है।

मेसेज भेजें

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

कूटबद्ध करने के बाद अंतर्निहित Inetlayer UDP समापन बिंदु का उपयोग करके एक बुनाई संदेश भेजें।

नोट: यदि गंतव्य पता आपूर्ति नहीं की गई है, संदेश शीर्ष लेख में नोड पहचानकर्ता से यह निर्धारित करने के लिए प्रयास करते हैं। विफल अगर यह नहीं किया जा सकता है। -यदि गंतव्य पता स्थानीय कपड़े के लिए एक कपड़ा पता है, और कॉलर ने गंतव्य नोड आईडी निर्दिष्ट नहीं किया है, तो इसे गंतव्य पते से निकालें।

विवरण
मापदंडों
[in] aDestAddr
गंतव्य आईपी पता।
[in] destPort
गंतव्य बंदरगाह।
[in] sendIntfId
इंटरफ़ेस जिस पर वीव संदेश भेजना है।
[in] msgInfo
एक करने के लिए एक सूचक WeaveMessageInfo संदेश के बारे में जानकारी युक्त वस्तु भेजे जाने के लिए।
[in] payload
एन्कोडेड वीव संदेश धारण करने वाले पैकेटबफ़र ऑब्जेक्ट के लिए एक सूचक।
वापसी मूल्य
WEAVE_NO_ERROR
संदेश को नेटवर्क परत पर सफलतापूर्वक भेजने पर।
WEAVE_ERROR_INVALID_ADDRESS
यदि destAddr निर्दिष्ट नहीं है या गंतव्य नोड आईडी से निर्धारित नहीं किया जा सकता है।
errors
भेजने के दौरान निचली Inet परत UDP समापन बिंदु से उत्पन्न होता है।

SendUDPTसुरंग संदेश

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

स्थानीय यूडीपी सुरंग पर टनल पैकेट भेजने का कार्य।

UDP पर एक सुरंगयुक्त IPv6 डेटा संदेश भेजें।

विवरण
मापदंडों
[in] msgInfo
एक करने के लिए एक सूचक WeaveMessageInfo वस्तु।
[in] destAddr
यूडीपी सुरंग गंतव्य का आईपी पता।
[in] msgBuf
पैकेटबफ़र ऑब्जेक्ट के लिए एक पॉइंटर जो पैकेट को भेजने के लिए रखता है।
वापसी मूल्य
WEAVE_NO_ERROR
संदेश को नेटवर्क परत पर सफलतापूर्वक भेजने पर।
WEAVE_ERROR_INVALID_ADDRESS
यदि destAddr निर्दिष्ट नहीं है या गंतव्य नोड आईडी से निर्धारित नहीं किया जा सकता है।
errors
भेजने के दौरान निचली Inet परत UDP समापन बिंदु से उत्पन्न होता है।

SetSignalMessageLayerActivityChanged

void SetSignalMessageLayerActivityChanged(
  MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler
)

एक एप्लिकेशन हैंडलर सेट करें जो हर बार संदेश परत की गतिविधि में परिवर्तन होने पर कॉल किया जाएगा।

विशेष रूप से, आवेदन हर बार अधिसूचित किया जाएगा:

  • खुले एक्सचेंजों की संख्या में परिवर्तन।
  • लंबित संदेश काउंटर सिंक्रनाइज़ेशन अनुरोधों की संख्या शून्य से कम से कम एक और वापस शून्य में बदल जाती है। हैंडलर को सामान्य संकेत के रूप में प्रस्तुत किया जाता है जो यह दर्शाता है कि क्या कोई चल रही बुनाई बातचीत या लंबित प्रतिक्रियाएं हैं। हैंडलर के बाद निर्धारित किया जाना चाहिए WeaveMessageLayer प्रारंभ किया गया है; नीचे बंद WeaveMessageLayer वर्तमान हैंडलर बाहर साफ हो जाएगा।

विवरण
मापदंडों
[in] messageLayerActivityChangeHandler
जब भी संदेश परत गतिविधि बदलती है तो किसी फ़ंक्शन के लिए एक पॉइंटर को कॉल किया जाना चाहिए।
वापसी मूल्य
None.

सेटटीसीपीएलसुनेंसक्षम

void SetTCPListenEnabled(
  bool val
)

सक्षम या में भीतर का TCP कनेक्शन के लिए अक्षम सुन WeaveMessageLayer

नोट: RefreshEndpoints() के बाद टीसीपी सुनने के राज्य बदल गया है बुलाया जाना चाहिए।

सेटयूडीपीएलसुनेंसक्षम

void SetUDPListenEnabled(
  bool val
)

सक्षम या में इनबाउंड UDP संदेशों के लिए अक्षम सुन WeaveMessageLayer

नोट: RefreshEndpoints() के बाद यूडीपी सुनने के राज्य बदल गया है बुलाया जाना चाहिए।

असुरक्षित कनेक्शन लिस्टनर सेट करें

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

शट डाउन

WEAVE_ERROR Shutdown(
  void
)

शटडाउन WeaveMessageLayer

सभी खुले Inet परत समापन बिंदु बंद करें, सभी उच्च परत कॉलबैक, सदस्य चर और ऑब्जेक्ट रीसेट करें। करने के लिए एक कॉल शटडाउन () समाप्त हो जाता है WeaveMessageLayer वस्तु।

टीसीपी लिस्टन सक्षम

bool TCPListenEnabled(
  void
) const 

यदि चेक WeaveMessageLayer भीतर का TCP कनेक्शन के लिए सुनने के लिए कॉन्फ़िगर किया गया है।

UDPListenसक्षम

bool UDPListenEnabled(
  void
) const 

यदि चेक WeaveMessageLayer इनबाउंड UDP संदेशों के लिए सुनने के लिए कॉन्फ़िगर किया गया है।

असुरक्षित सुनो सक्षम

bool UnsecuredListenEnabled(
  void
) const 

एक अल्पकालिक यूडीपी स्रोत पोर्ट से वीव यूडीपी एक्सचेंज शुरू करने को सक्षम या अक्षम करें।

नोट: RefreshEndpoints() के बाद अल्पकालिक बंदरगाह राज्य बदल गया है बुलाया जाना चाहिए। जांचें कि असुरक्षित सुनना सक्षम है या नहीं।

वेवमैसेज लेयर

 WeaveMessageLayer(
  void
)

बुन संदेश परत निर्माता।

सार्वजनिक स्थैतिक कार्य

GetMaxWeavePayloadSize

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

संदेश कॉन्फ़िगरेशन के लिए अधिकतम वीव पेलोड आकार प्राप्त करें और पैकेटबफ़र की आपूर्ति करें।

लौटाया गया अधिकतम पेलोड आकार आपूर्ति किए गए पैकेटबफ़र के अंदर पेलोड के लिए उपलब्ध स्थान से अधिक नहीं होगा।

यदि संदेश यूडीपी है, तो लौटाए गए अधिकतम पेलोड आकार के परिणामस्वरूप वीव संदेश नहीं होगा जो निर्दिष्ट यूडीपी एमटीयू को ओवरफ्लो नहीं करेगा।

अंत में, लौटाए गए अधिकतम पेलोड आकार के परिणामस्वरूप एक वीव संदेश नहीं होगा जो अधिकतम वीव संदेश आकार को ओवरफ्लो कर देगा।

विवरण
मापदंडों
[in] msgBuf
पैकेटबफर के लिए एक सूचक जिस पर संदेश पेलोड लिखा जाएगा।
[in] isUDP
सच है अगर संदेश एक यूडीपी संदेश है।
[in] udpMTU
यूडीपी एमटीयू का आकार। अगर ISUDP गलत है तो अनदेखा कर दिया जाता है।
रिटर्न
अधिकतम बुनाई पेलोड आकार।

पीयर विवरण प्राप्त करें

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
एक आईपी पते के लिए एक सूचक मुद्रित किया जाना है; या NULL यदि कोई IP पता मुद्रित नहीं किया जाना चाहिए।
[in] port
एक आईपी पोर्ट नंबर मुद्रित किया जाना है। यदि Addr NULL है तो कोई पोर्ट नंबर प्रिंट नहीं किया जाएगा।
[in] interfaceId
एक इंटरफ़ेस आईडी जो मुद्रित किए जाने वाले इंटरफ़ेस की पहचान करता है। आउटपुट स्ट्रिंग में अंतर्निहित नेटवर्क स्टैक के लिए ज्ञात इंटरफ़ेस का नाम होगा। यदि इंटरफ़ेस आईडी INET_NULL_INTERFACEID है या यदि addr NULL है तो कोई इंटरफ़ेस नाम मुद्रित नहीं किया जाएगा।
[in] con
एक करने के लिए एक सूचक WeaveConnection वस्तु जिसका प्रवेश आईडी मुद्रित किया जाना चाहिए; या NULL यदि कोई कनेक्शन आईडी मुद्रित नहीं की जानी चाहिए।

पीयर डिस्क्रिप्शन प्राप्त करें

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

सहकर्मी से प्राप्त संदेश से जुड़ी जानकारी के आधार पर एक सहकर्मी नोड का वर्णन करने वाली एक स्ट्रिंग का निर्माण करता है।

विवरण
मापदंडों
[in] buf
एक बफर के लिए एक सूचक जिसमें स्ट्रिंग लिखी जानी चाहिए। आपूर्ति किया गया बफर कम से कम kWeavePeerDescription_MaxLength जितना बड़ा होना चाहिए। यदि एक छोटा बफर दिया जाता है तो स्ट्रिंग को फिट करने के लिए छोटा कर दिया जाएगा। आउटपुट में सभी मामलों में एक NUL टर्मिनेशन कैरेक्टर शामिल होगा।
[in] bufSize
बफर का आकार buf द्वारा इंगित किया गया।
[in] msgInfo
एक करने के लिए एक सूचक WeaveMessageInfo संदेश के बारे में जानकारी युक्त एक संरचना है।