nl::Weave::WeaveMessageLayer

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

WeaveMessageLayer क्लास की परिभाषा, जो अन्य Weave नोड के साथ कम्यूनिकेशन को मैनेज करती है.

खास जानकारी

यह अन्य Weave नोड के साथ कम्यूनिकेशन चैनल बनाने के लिए, कई Inetlayer एंडपॉइंट में से एक का इस्तेमाल करता है.

कंस्ट्रक्टर और डिस्ट्रक्टर

WeaveMessageLayer(void)
Weave Message लेयर कंस्ट्रक्टर.

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

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(*
यह फ़ंक्शन ऊपरी लेयर कॉलबैक है, जिसे यूडीपी पर Weave मैसेज मिलने पर शुरू किया जाता है.
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(*
यह फ़ंक्शन, ऊपरी लेयर कॉलबैक है और इसका इस्तेमाल, लोकल यूडीपी टनल पर टनल किया गया पैकेट मिलने पर किया जाता है.

सार्वजनिक विशेषताएं

AppState
void *
किसी ऐप्लिकेशन के खास स्टेटस ऑब्जेक्ट का पॉइंटर.
ExchangeMgr
[READ ONLY] इससे जुड़ा WeaveExchangeManager ऑब्जेक्ट.
FabricState
[READ ONLY] इससे जुड़ा WeaveFabricState ऑब्जेक्ट.
IncomingConIdleTimeout
uint32_t
इनकमिंग कनेक्शन के लिए, इस्तेमाल न होने पर टाइम आउट की डिफ़ॉल्ट सेटिंग (मिलीसेकंड में).
Inet
InetLayer *
[READ ONLY] इससे जुड़ा Inetlayer ऑब्जेक्ट.
IsListening
bool
[READ ONLY] आने वाले कनेक्शन/मैसेज को सुनने पर, यह सही है, नहीं तो गलत.
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)
सभी ओपन टीसीपी और यूडीपी एंडपॉइंट बंद करें.
CreateTunnel(WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS)
दो बताए गए WeaveConnections को एक साथ जोड़कर, WeaveConnectionTunnel बनाएं.
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 यूडीपी एक्सचेंज को, कुछ समय के लिए इस्तेमाल किए जाने वाले यूडीपी सोर्स पोर्ट से भेजा जाना चाहिए या नहीं.
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 स्थानीय आईपीवी4 पते से जुड़ा है या नहीं.
IsBoundToLocalIPv6Address(void) const
bool
देखें कि WeaveMessageLayer स्थानीय आईपीवी6 पते से जुड़ा है या नहीं.
IsMessageLayerActive(void)
bool
NewConnection(void)
पूल से एक नया WeaveConnection ऑब्जेक्ट बनाएं.
NewConnectionTunnel(void)
पूल से नया WeaveConnectionTunnel ऑब्जेक्ट बनाएं.
ReEncodeMessage(PacketBuffer *buf)
RefreshEndpoints(void)
सिस्टम के नेटवर्क इंटरफ़ेस की मौजूदा स्थिति के आधार पर, Inetlayer एंडपॉइंट को रीफ़्रेश करें.
ResendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
पहले से मौजूद Inetlayer यूडीपी एंडपॉइंट का इस्तेमाल करके, कोड में बदला गया Weave मैसेज फिर से भेजें.
ResendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
पहले से मौजूद Inetlayer यूडीपी एंडपॉइंट का इस्तेमाल करके, कोड में बदला गया Weave मैसेज फिर से भेजें.
ResendMessage(const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
पहले से मौजूद Inetlayer यूडीपी एंडपॉइंट का इस्तेमाल करके, कोड में बदला गया Weave मैसेज फिर से भेजें.
ResendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
पहले से मौजूद Inetlayer यूडीपी एंडपॉइंट का इस्तेमाल करके, कोड में बदला गया Weave मैसेज फिर से भेजें.
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
इसे कोड में बदलने के बाद, Inetlayer UDP एंडपॉइंट का इस्तेमाल करके Weave मैसेज भेजें.
SendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
इसे कोड में बदलने के बाद, Inetlayer UDP एंडपॉइंट का इस्तेमाल करके Weave मैसेज भेजें.
SendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
इसे कोड में बदलने के बाद, Inetlayer UDP एंडपॉइंट का इस्तेमाल करके Weave मैसेज भेजें.
SendUDPTunneledMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
स्थानीय यूडीपी टनल के ऊपर टनल किया गया पैकेट भेजने के लिए फ़ंक्शन.
SetSignalMessageLayerActivityChanged(MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler)
void
ऐसा ऐप्लिकेशन हैंडलर सेट करें जिसे हर बार मैसेज लेयर की गतिविधि बदलने पर कॉल किया जाएगा.
SetTCPListenEnabled(bool val)
void
WeaveMessageLayer में इनबाउंड टीसीपी कनेक्शन को सुनने की सुविधा चालू या बंद करें.
SetUDPListenEnabled(bool val)
void
WeaveMessageLayer में इनबाउंड यूडीपी मैसेज को सुनने की सुविधा चालू या बंद करें.
SetUnsecuredConnectionListener(ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState)
Shutdown(void)
WeaveMessageLayer को बंद करें.
TCPListenEnabled(void) const
bool
देखें कि WeaveMessageLayer को इनबाउंड टीसीपी कनेक्शन सुनने के लिए कॉन्फ़िगर किया गया है या नहीं.
UDPListenEnabled(void) const
bool
देखें कि WeaveMessageLayer को इनबाउंड यूडीपी मैसेज सुनने के लिए कॉन्फ़िगर किया गया है या नहीं.
UnsecuredListenEnabled(void) const
bool
कुछ समय के लिए इस्तेमाल किए जाने वाले यूडीपी सोर्स पोर्ट से, Weave UDP एक्सचेंज शुरू करने की सुविधा को चालू या बंद करें.

सार्वजनिक स्टैटिक फ़ंक्शन

GetMaxWeavePayloadSize(const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU)
uint32_t
मैसेज कॉन्फ़िगरेशन और दिए गए PacketBuffer के लिए, Weave पेलोड का ज़्यादा से ज़्यादा साइज़ पाएं.
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)

यह फ़ंक्शन, आने वाले टीसीपी कनेक्शन को हैंडल करने के दौरान गड़बड़ी की रिपोर्ट करने के लिए, हाई लेयर कॉलबैक है.

जानकारी
पैरामीटर
[in] msgLayer
WeaveMessageLayer ऑब्जेक्ट का पॉइंटर.
[in] err
आने वाले टीसीपी कनेक्शन को हैंडल करते समय WEAVE_ERROR मिली.

CallbackRemovedFunct

void(* CallbackRemovedFunct)(void *listenerState)

इस फ़ंक्शन को कॉलबैक हटाने के लिए शुरू किया जाता है.

जानकारी
पैरामीटर
[in] listenerState
ऐप्लिकेशन की स्थिति वाले ऑब्जेक्ट का पॉइंटर.

ConnectionReceiveFunct

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

यह फ़ंक्शन, आने वाले टीसीपी कनेक्शन को हैंडल करने के लिए हाई लेयर कॉलबैक है.

जानकारी
पैरामीटर
[in] msgLayer
WeaveMessageLayer ऑब्जेक्ट का पॉइंटर.
[in] con
WeaveConnection ऑब्जेक्ट का पॉइंटर.

MessageLayerActivityChangeHandlerFunct

void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)

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

अगर कम से कम एक ओपन एक्सचेंज या मैसेज काउंटर सिंक करने का अनुरोध बाकी है, तो मैसेज लेयर को चालू माना जाता है.

जानकारी
पैरामीटर
[in] messageLayerIsActive
एक बूलियन वैल्यू, जो दिखाती है कि मैसेज लेयर चालू है या नहीं.

MessageReceiveFunct

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

यह फ़ंक्शन ऊपरी लेयर कॉलबैक है, जिसे यूडीपी पर Weave मैसेज मिलने पर शुरू किया जाता है.

जानकारी
पैरामीटर
[in] msgLayer
WeaveMessageLayer ऑब्जेक्ट का पॉइंटर.
[in] msgInfo
WeaveMessageInfo ऑब्जेक्ट का पॉइंटर.
[in] payload
पैकेट बफ़र मैसेज का पॉइंटर जिस पर टनल किया गया पैकेट है.

ReceiveErrorFunct

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)

यह फ़ंक्शन, ऊपरी लेयर कॉलबैक है और इसका इस्तेमाल, लोकल यूडीपी टनल पर टनल किया गया पैकेट मिलने पर किया जाता है.

जानकारी
पैरामीटर
[in] msgLayer
WeaveMessageLayer ऑब्जेक्ट का पॉइंटर.
[in] payload
पैकेट बफ़र मैसेज का पॉइंटर जिस पर टनल किया गया पैकेट है.

सार्वजनिक विशेषताएं

AppState

void * AppState

किसी ऐप्लिकेशन के खास स्टेटस ऑब्जेक्ट का पॉइंटर.

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[READ ONLY] इससे जुड़ा WeaveExchangeManager ऑब्जेक्ट.

FabricState

WeaveFabricState * FabricState

[READ ONLY] इससे जुड़ा WeaveFabricState ऑब्जेक्ट.

IncomingConIdleTimeout

uint32_t IncomingConIdleTimeout

इनकमिंग कनेक्शन के लिए, इस्तेमाल न होने पर टाइम आउट की डिफ़ॉल्ट सेटिंग (मिलीसेकंड में).

Inet

InetLayer * Inet

[READ ONLY] इससे जुड़ा Inetlayer ऑब्जेक्ट.

IsListening

bool IsListening

[READ ONLY] आने वाले कनेक्शन/मैसेज को सुनने पर, यह सही है, नहीं तो गलत.

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
)

सभी ओपन टीसीपी और यूडीपी एंडपॉइंट बंद करें.

इसके बाद, किसी भी खुले हुए WeaveConnections को रद्द कर दें और सभी खुले हुए WeaveConnectionTunnel ऑब्जेक्ट को बंद कर दें.

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

CreateTunnel

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

दो बताए गए WeaveConnections को एक साथ जोड़कर, WeaveConnectionTunnel बनाएं.

प्रोजेक्ट बन जाने पर, कॉम्पोनेंट WeaveConnection ऑब्जेक्ट से जुड़े टीसीपीएंडपॉइंट को WeaveConnectionTunnel को दे दिया जाता है. ऐसा न होने पर, WeaveConnections बंद हो जाते हैं.

जानकारी
पैरामीटर
[out] tunPtr
WeaveConnectionTunnel ऑब्जेक्ट के पॉइंटर का पॉइंटर.
[in] conOne
पहले WeaveConnection ऑब्जेक्ट का रेफ़रंस.
[in] conTwo
दूसरे WeaveConnection ऑब्जेक्ट का रेफ़रंस.
[in] inactivityTimeoutMS
Weave कनेक्शन टनल के इनऐक्टिव रहने का ज़्यादा से ज़्यादा समय, मिलीसेकंड में.
रिटर्न वैल्यू
WEAVE_NO_ERROR
हमने आपका चैनल WeaveConnectionTunnel बनाया है.
WEAVE_ERROR_INCORRECT_STATE
अगर WeaveConnectionTunnel का कॉम्पोनेंट WeaveConnection ऑब्जेक्ट सही स्थिति में नहीं है.
WEAVE_ERROR_NO_MEMORY
अगर नया WeaveConnectionTunnel ऑब्जेक्ट नहीं बनाया जा सकता.

DecodeHeader

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

मिले हुए Weave मैसेज से Weave Message लेयर हेडर को डिकोड करें.

जानकारी
पैरामीटर
[in] msgBuf
Weave मैसेज को पकड़े हुए PacketBuffer ऑब्जेक्ट की ओर पॉइंटर.
[in] msgInfo
WeaveMessageInfo ऑब्जेक्ट का पॉइंटर, जिसे मैसेज के बारे में जानकारी मिलेगी.
[out] payloadStart
डिकोडिंग पूरा होने के बाद, मैसेज बफ़र की पोज़िशन पर पॉइंटर का पॉइंटर.
रिटर्न वैल्यू
WEAVE_NO_ERROR
मैसेज हेडर को सही तरीके से डिकोड करने पर.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
अगर पास किया गया मैसेज बफ़र अमान्य लंबाई का है.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
अगर Weave Message हेडर फ़ॉर्मैट वर्शन काम नहीं करता है.

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
अगर मैसेज बफ़र में पेलोड की लंबाई शून्य है.
WEAVE_ERROR_UNSUPPORTED_ENCRYPTION_TYPE
अगर मैसेज हेडर में एन्क्रिप्ट (सुरक्षित) करने का तरीका काम नहीं करता है.
WEAVE_ERROR_MESSAGE_TOO_LONG
अगर कोड में बदला गया मैसेज, अनुरोध किए गए मैसेज से ज़्यादा हो.
WEAVE_ERROR_BUFFER_TOO_SMALL
अगर मैसेज पेलोड से पहले या बाद में ज़रूरी जगह न हो.
other
सेशन के स्टेटस का पता लगाते समय फ़ैब्रिक की स्थिति वाले ऑब्जेक्ट से होने वाली गड़बड़ियां.

EncodeMessage

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

Weave Message लेयर हेडर को PacketBuffer में एन्कोड करें.

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

EphemeralUDPPortEnabled

bool EphemeralUDPPortEnabled(
  void
) const 

देखें कि स्थानीय तौर पर शुरू किए गए Weave यूडीपी एक्सचेंज को, कुछ समय के लिए इस्तेमाल किए जाने वाले यूडीपी सोर्स पोर्ट से भेजा जाना चाहिए या नहीं.

GetConnectionPoolStats

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

इस्तेमाल किए जा रहे WeaveConnections की संख्या और पूल के साइज़ की जानकारी पाएं.

जानकारी
पैरामीटर
[out] aOutInUse
साइज़_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 ऑब्जेक्ट शून्य है.
WEAVE_ERROR_INCORRECT_STATE
अगर WeaveMessageLayer ऑब्जेक्ट की स्थिति गलत है.
other
एंडपॉइंट बनाने के दौरान, निचली Inet लेयर से जनरेट हुई गड़बड़ियां.

IsBoundToLocalIPv4Address

bool IsBoundToLocalIPv4Address(
  void
) const 

देखें कि WeaveMessageLayer स्थानीय आईपीवी4 पते से जुड़ा है या नहीं.

IsBoundToLocalIPv6Address

bool IsBoundToLocalIPv6Address(
  void
) const 

देखें कि WeaveMessageLayer स्थानीय आईपीवी6 पते से जुड़ा है या नहीं.

IsMessageLayerActive

bool IsMessageLayerActive(
  void
)

NewConnection

WeaveConnection * NewConnection(
  void
)

पूल से एक नया WeaveConnection ऑब्जेक्ट बनाएं.

जानकारी
लौटाए जाने वाले प्रॉडक्ट
नए बनाए गए WeaveConnection ऑब्जेक्ट का पॉइंटर होना चाहिए, अगर यह सही नहीं है, तो अमान्य है.

NewConnectionTunnel

WeaveConnectionTunnel * NewConnectionTunnel(
  void
)

पूल से नया WeaveConnectionTunnel ऑब्जेक्ट बनाएं.

जानकारी
लौटाए जाने वाले प्रॉडक्ट
नए बनाए गए WeaveConnectionTunnel ऑब्जेक्ट का पॉइंटर, अगर सही होता है, तो अमान्य होता है.

ReEncodeMessage

WEAVE_ERROR ReEncodeMessage(
  PacketBuffer *buf
)

RefreshEndpoints

WEAVE_ERROR RefreshEndpoints(
  void
)

सिस्टम के नेटवर्क इंटरफ़ेस की मौजूदा स्थिति के आधार पर, Inetlayer एंडपॉइंट को रीफ़्रेश करें.

जानकारी
रिटर्न वैल्यू
WEAVE_NO_ERROR
एंडपॉइंट को सही तरीके से रीफ़्रेश करने के लिए.
InetLayer
टीसीपी/यूडीपी एंडपॉइंट बनाने के लिए मिले कॉल के आधार पर गड़बड़ियां हो सकती हैं.

ResendMessage

WEAVE_ERROR ResendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

पहले से मौजूद Inetlayer यूडीपी एंडपॉइंट का इस्तेमाल करके, कोड में बदला गया Weave मैसेज फिर से भेजें.

जानकारी
पैरामीटर
[in] msgInfo
WeaveMessageInfo ऑब्जेक्ट का पॉइंटर.
[in] payload
कोड में बदले गए Weave मैसेज को पकड़े हुए, PacketBuffer ऑब्जेक्ट की ओर पॉइंटर.
रिटर्न वैल्यू
WEAVE_NO_ERROR
नेटवर्क लेयर पर मैसेज भेजने में मदद मिलती है.
errors
भेजने के दौरान, निचले Inet लेयर यूडीपी एंडपॉइंट से जनरेट किया जाता है.

ResendMessage

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

पहले से मौजूद Inetlayer यूडीपी एंडपॉइंट का इस्तेमाल करके, कोड में बदला गया Weave मैसेज फिर से भेजें.

जानकारी
पैरामीटर
[in] destAddr
डेस्टिनेशन का आईपी पता.
[in] msgInfo
WeaveMessageInfo ऑब्जेक्ट का पॉइंटर.
[in] payload
कोड में बदले गए Weave मैसेज को पकड़े हुए, PacketBuffer ऑब्जेक्ट की ओर पॉइंटर.
रिटर्न वैल्यू
WEAVE_NO_ERROR
नेटवर्क लेयर पर मैसेज भेजने में मदद मिलती है.
errors
भेजने के दौरान, निचले Inet लेयर यूडीपी एंडपॉइंट से जनरेट किया जाता है.

ResendMessage

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

पहले से मौजूद Inetlayer यूडीपी एंडपॉइंट का इस्तेमाल करके, कोड में बदला गया Weave मैसेज फिर से भेजें.

जानकारी
पैरामीटर
[in] destAddr
डेस्टिनेशन का आईपी पता.
[in] destPort
डेस्टिनेशन पोर्ट.
[in] msgInfo
WeaveMessageInfo ऑब्जेक्ट का पॉइंटर.
[in] payload
कोड में बदले गए Weave मैसेज को पकड़े हुए, PacketBuffer ऑब्जेक्ट की ओर पॉइंटर.
रिटर्न वैल्यू
WEAVE_NO_ERROR
नेटवर्क लेयर पर मैसेज भेजने में मदद मिलती है.
errors
भेजने के दौरान, निचले Inet लेयर यूडीपी एंडपॉइंट से जनरेट किया जाता है.

ResendMessage

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

पहले से मौजूद Inetlayer यूडीपी एंडपॉइंट का इस्तेमाल करके, कोड में बदला गया Weave मैसेज फिर से भेजें.

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

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

SendMessage

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

इसे कोड में बदलने के बाद, Inetlayer UDP एंडपॉइंट का इस्तेमाल करके Weave मैसेज भेजें.

जानकारी
पैरामीटर
[in] msgInfo
WeaveMessageInfo ऑब्जेक्ट का पॉइंटर, जिसमें भेजे जाने वाले मैसेज के बारे में जानकारी होती है.
[in] payload
कोड में बदले गए Weave मैसेज को पकड़े हुए, PacketBuffer ऑब्जेक्ट की ओर पॉइंटर.
रिटर्न वैल्यू
WEAVE_NO_ERROR
नेटवर्क लेयर पर मैसेज भेजने में मदद मिलती है.
errors
भेजने के दौरान, निचले Inet लेयर यूडीपी एंडपॉइंट से जनरेट किया जाता है.

SendMessage

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

इसे कोड में बदलने के बाद, Inetlayer UDP एंडपॉइंट का इस्तेमाल करके Weave मैसेज भेजें.

ध्यान दें:-इस्तेमाल किया गया डेस्टिनेशन पोर्ट WEAVE_PORT है. -अगर डेस्टिनेशन पते की जानकारी नहीं दी गई है, तो मैसेज हेडर में नोड आइडेंटिफ़ायर की मदद से इसे तय करने की कोशिश करें. अगर यह नहीं किया जा सकता, तो विफल.

-अगर डेस्टिनेशन का पता स्थानीय कपड़े के कपड़े का है और कॉलर ने डेस्टिनेशन नोड आईडी नहीं बताया है, तो उसे डेस्टिनेशन के पते से निकालें.

जानकारी
पैरामीटर
[in] destAddr
डेस्टिनेशन का आईपी पता.
[in] msgInfo
WeaveMessageInfo ऑब्जेक्ट का पॉइंटर, जिसमें भेजे जाने वाले मैसेज के बारे में जानकारी होती है.
[in] payload
कोड में बदले गए Weave मैसेज को पकड़े हुए, PacketBuffer ऑब्जेक्ट की ओर पॉइंटर.
रिटर्न वैल्यू
WEAVE_NO_ERROR
नेटवर्क लेयर पर मैसेज भेजने में मदद मिलती है.
errors
भेजने के दौरान, निचले Inet लेयर यूडीपी एंडपॉइंट से जनरेट किया जाता है.

SendMessage

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

इसे कोड में बदलने के बाद, Inetlayer UDP एंडपॉइंट का इस्तेमाल करके Weave मैसेज भेजें.

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

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

SendUDPTunneledMessage

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

स्थानीय यूडीपी टनल के ऊपर टनल किया गया पैकेट भेजने के लिए फ़ंक्शन.

यूडीपी पर टनल किया गया IPv6 डेटा मैसेज भेजें.

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

SetSignalMessageLayerActivityChanged

void SetSignalMessageLayerActivityChanged(
  MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler
)

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

खास तौर पर, ऐप्लिकेशन को हर बार सूचित किया जाएगा:

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

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

SetTCPListenEnabled

void SetTCPListenEnabled(
  bool val
)

WeaveMessageLayer में इनबाउंड टीसीपी कनेक्शन को सुनने की सुविधा चालू या बंद करें.

ध्यान दें: टीसीपी की लिसनिंग की स्थिति बदलने के बाद, RefreshEndpoints() को कॉल किया जाना चाहिए.

SetUDPListenEnabled

void SetUDPListenEnabled(
  bool val
)

WeaveMessageLayer में इनबाउंड यूडीपी मैसेज को सुनने की सुविधा चालू या बंद करें.

ध्यान दें: यूडीपी लिसनिंग स्टेट बदलने के बाद, RefreshEndpoints() को कॉल किया जाना चाहिए.

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 को इनबाउंड टीसीपी कनेक्शन सुनने के लिए कॉन्फ़िगर किया गया है या नहीं.

UDPListenEnabled

bool UDPListenEnabled(
  void
) const 

देखें कि WeaveMessageLayer को इनबाउंड यूडीपी मैसेज सुनने के लिए कॉन्फ़िगर किया गया है या नहीं.

UnsecuredListenEnabled

bool UnsecuredListenEnabled(
  void
) const 

कुछ समय के लिए इस्तेमाल किए जाने वाले यूडीपी सोर्स पोर्ट से, Weave UDP एक्सचेंज शुरू करने की सुविधा को चालू या बंद करें.

ध्यान दें: कुछ समय के लिए पोर्ट की स्थिति बदलने के बाद, RefreshEndpoints() को कॉल किया जाना चाहिए. देखें कि असुरक्षित तरीके से गाने सुनने की सुविधा चालू है या नहीं.

WeaveMessageLayer

 WeaveMessageLayer(
  void
)

Weave Message लेयर कंस्ट्रक्टर.

सार्वजनिक स्टैटिक फ़ंक्शन

GetMaxWeavePayloadSize

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

मैसेज कॉन्फ़िगरेशन और दिए गए PacketBuffer के लिए, Weave पेलोड का ज़्यादा से ज़्यादा साइज़ पाएं.

लौटाए गए पेलोड का ज़्यादा से ज़्यादा साइज़, दिए गए PacketBuffer में पेलोड के लिए उपलब्ध जगह से ज़्यादा नहीं होगा.

अगर मैसेज यूडीपी है, तो दिए गए सबसे ज़्यादा पेलोड साइज़ की वजह से, Weave मैसेज नहीं दिखेगा, जो तय किए गए यूडीपी एमटीयू से ओवरफ़्लो नहीं होगा.

आखिर में, दिए गए अधिकतम पेलोड आकार का नतीजा Weave मैसेज नहीं होगा जो अधिकतम Weave मैसेज आकार से ज़्यादा हो जाएगा.

जानकारी
पैरामीटर
[in] msgBuf
PacketBuffer का पॉइंटर, जिस पर मैसेज पेलोड लिखा जाएगा.
[in] isUDP
अगर मैसेज एक यूडीपी मैसेज है, तो सही है.
[in] udpMTU
यूडीपी एमटीयू का साइज़. अगर isUDP गलत है, तो इस पर ध्यान नहीं दिया जाता.
लौटाए जाने वाले प्रॉडक्ट
वीव पेलोड का ज़्यादा से ज़्यादा साइज़.

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
प्रिंट किए जाने वाले आईपी पते का पॉइंटर; या शून्य, अगर कोई आईपी पता प्रिंट नहीं किया जाना चाहिए.
[in] port
प्रिंट किया जाने वाला आईपी पोर्ट नंबर. अगर ऐडर शून्य है, तो कोई भी पोर्ट नंबर प्रिंट नहीं किया जाएगा.
[in] interfaceId
प्रिंट किए जाने वाले इंटरफ़ेस की पहचान करने वाला इंटरफ़ेस आईडी. आउटपुट स्ट्रिंग में उस इंटरफ़ेस का नाम होगा जो मौजूदा नेटवर्क स्टैक के लिए जाना जाता है. अगर इंटरफ़ेस का आईडी INET_null_INTERFACEID है या ऐडर शून्य है, तो इंटरफ़ेस का कोई नाम प्रिंट नहीं किया जाएगा.
[in] con
WeaveConnection ऑब्जेक्ट का पॉइंटर, जिसका लॉगिंग आईडी प्रिंट होना चाहिए; या अगर कोई कनेक्शन आईडी प्रिंट नहीं किया जाना चाहिए, तो 'शून्य' लिखा जाएगा.

GetPeerDescription

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

पीयर से मिले मैसेज से जुड़ी जानकारी के आधार पर, पीयर नोड का ब्यौरा देने वाली स्ट्रिंग बनाता है.

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