मेश डाइग्नोस्टिक्स
इस मॉड्यूल में मेश डाइग्नोस्टिक्स के लिए परिभाषाएं और फ़ंक्शन शामिल हैं.
खास जानकारी
मेश डाइग्नोस्टिक्स एपीआई के लिए, OPENTHREAD_CONFIG_MESH_DIAG_ENABLE और OPENTHREAD_FTD ज़रूरी हैं. 
| टाइपडीफ़ | |
|---|---|
| otMeshDiagChildEntry | typedef struct otMeshDiagChildEntryotMeshDiagQueryChildTable()से चाइल्ड एंट्री की जानकारी दिखाता है. | 
| otMeshDiagChildInfo | typedef struct otMeshDiagChildInfoयह  otMeshDiagDiscoverTopology()का इस्तेमाल करके, Thread मेश में खोजे गए किसी बच्चे की जानकारी दिखाता है. | 
| otMeshDiagChildIp6AddrsCallback)(otError aError, uint16_t aChildRloc16, otMeshDiagIp6AddrIterator *aIp6AddrIterator, void *aContext) | typedef void(*यह MTD चाइल्ड और IPv6 पतों की सूची के बारे में जानकारी देने के लिए,  otMeshDiagQueryChildrenIp6Addrs()का इस्तेमाल किया जाने वाला कॉलबैक दिखाता है. | 
| otMeshDiagChildIterator | typedef struct otMeshDiagChildIteratorकिसी राऊटर के बच्चों की सूची को फिर से दोहराने के लिए ओपेक इटरेटर.  | 
| otMeshDiagDiscoverCallback)(otError aError, otMeshDiagRouterInfo *aRouterInfo, void *aContext) | typedef void(*पॉइंटर टाइप उस कॉलबैक को दिखाता है जिसका इस्तेमाल  otMeshDiagDiscoverTopology(), खोजे गए राऊटर के बारे में जानकारी देने के लिए करता है. | 
| otMeshDiagDiscoverConfig | typedef struct otMeshDiagDiscoverConfigमेश टोपोलॉजी का पता लगाते समय इस्तेमाल किए गए कॉन्फ़िगरेशन के सेट के बारे में बताता है, जिससे पता चलता है कि किन आइटम को खोजना है.  | 
| otMeshDiagIp6AddrIterator | typedef struct otMeshDiagIp6AddrIteratorकिसी राऊटर के आईपीवी6 पते की सूची बदलने के लिए, ओपेक इटरेटर.  | 
| otMeshDiagQueryChildTableCallback)(otError aError, const otMeshDiagChildEntry *aChildEntry, void *aContext) | typedef void(*यह उस कॉलबैक को दिखाता है जिसका इस्तेमाल  otMeshDiagQueryChildTable(), चाइल्ड टेबल एंट्री के बारे में जानकारी देने के लिए करता है. | 
| otMeshDiagQueryRouterNeighborTableCallback)(otError aError, const otMeshDiagRouterNeighborEntry *aNeighborEntry, void *aContext) | typedef void(*यह उस कॉलबैक को दिखाता है जिसका इस्तेमाल  otMeshDiagQueryRouterNeighborTable(), पड़ोसी के राऊटर टेबल की एंट्री के बारे में जानकारी देने के लिए करता है. | 
| otMeshDiagRouterInfo | typedef struct otMeshDiagRouterInfoयह Thread मेश में मौजूद उस राऊटर की जानकारी दिखाता है जिसे  otMeshDiagDiscoverTopology()का इस्तेमाल करके खोजा गया था. | 
| otMeshDiagRouterNeighborEntry | typedef यह डिवाइस,  otMeshDiagQueryRouterNeighborTable()से राऊटर पड़ोसी की एंट्री की जानकारी दिखाता है. | 
| फ़ंक्शन | |
|---|---|
| otMeshDiagCancel(otInstance *aInstance) | voidकिसी मौजूदा टोपोलॉजी खोज को न होने पर उसे रद्द करता है, नहीं तो कोई कार्रवाई नहीं करता.  | 
| otMeshDiagDiscoverTopology(otInstance *aInstance, const otMeshDiagDiscoverConfig *aConfig, otMeshDiagDiscoverCallback aCallback, void *aContext) | नेटवर्क टोपोलॉजी खोज शुरू करता है.  | 
| otMeshDiagGetNextChildInfo(otMeshDiagChildIterator *aIterator, otMeshDiagChildInfo *aChildInfo) | किसी राऊटर के खोजे गए चिल्ड्रेन के ज़रिए फिर से गतिविधि करता है.  | 
| otMeshDiagGetNextIp6Address(otMeshDiagIp6AddrIterator *aIterator, otIp6Address *aIp6Address) | यह किसी राऊटर या MTD चाइल्ड के खोजे गए IPv6 पतों के ज़रिए दोहराता है.  | 
| otMeshDiagQueryChildTable(otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryChildTableCallback aCallback, void *aContext) | दिए गए राऊटर के लिए चाइल्ड टेबल से जुड़ी क्वेरी शुरू करता है.  | 
| otMeshDiagQueryChildrenIp6Addrs(otInstance *aInstance, uint16_t aRloc16, otMeshDiagChildIp6AddrsCallback aCallback, void *aContext) | यह अनुमति मिलने पर, माता-पिता को क्वेरी भेजी जाती है, ताकि MTD चिल्ड्रेन के सभी आईपीवी6 पतों को वापस लाया जा सके.  | 
| otMeshDiagQueryRouterNeighborTable(otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryRouterNeighborTableCallback aCallback, void *aContext) | दिए गए राऊटर की राऊटर पड़ोसी टेबल के लिए क्वेरी शुरू करता है.  | 
| संरचना | |
|---|---|
| otMeshDiagChildEntry | 
 | 
| otMeshDiagChildInfo | यह  | 
| otMeshDiagDiscoverConfig | मेश टोपोलॉजी का पता लगाते समय इस्तेमाल किए गए कॉन्फ़िगरेशन के सेट के बारे में बताता है, जिससे पता चलता है कि किन आइटम को खोजना है. | 
| otMeshDiagRouterInfo | यह Thread मेश में मौजूद उस राऊटर की जानकारी दिखाता है जिसे  | 
| otMeshDiagRouterNeighborEntry | यह डिवाइस,  | 
टाइपडीफ़
otMeshDiagChildEntry
struct otMeshDiagChildEntry otMeshDiagChildEntry
otMeshDiagQueryChildTable() से चाइल्ड एंट्री की जानकारी दिखाता है. 
mSupportsErrRate से पता चलता है कि गड़बड़ी को ट्रैक करने की सुविधा काम करती है या नहीं. साथ ही, mFrameErrorRate और mMessageErrorRate की वैल्यू मान्य हैं. फ़्रेम की गड़बड़ी की दर, MAC लेयर पर फ़्रेम tx गड़बड़ियों (बच्चे की ओर) को ट्रैक करती है, जबकि IPv6 मैसेज हटाए जाने पर mMessageErrorRate, IPv6 मैसेज की गड़बड़ी की दर (MAC लेयर के ऊपर और MAC फिर से कोशिश करने के बाद) को ट्रैक करता है. उदाहरण के लिए, अगर मैसेज बड़ा है और उसके लिए 6LoWPAN फ़्रैगमेंटेशन की ज़रूरत है, तो मैसेज tx को तब फ़ेल माना जाएगा, जब उसका कोई फ़्रैगमेंट फ़्रेम tx काम नहीं कर रहा हो. उदाहरण के लिए, कभी भी हैक नहीं किया गया. 
otMeshDiagChildInfo
struct otMeshDiagChildInfo otMeshDiagChildInfo
यह otMeshDiagDiscoverTopology() का इस्तेमाल करके, Thread मेश में खोजे गए किसी बच्चे की जानकारी दिखाता है. 
otMeshDiagChildIp6AddrsCallback
void(* otMeshDiagChildIp6AddrsCallback)(otError aError, uint16_t aChildRloc16, otMeshDiagIp6AddrIterator *aIp6AddrIterator, void *aContext)
यह MTD चाइल्ड और IPv6 पतों की सूची के बारे में जानकारी देने के लिए, otMeshDiagQueryChildrenIp6Addrs() का इस्तेमाल किया जाने वाला कॉलबैक दिखाता है. 
aError के OT_ERROR_PENDING होने पर, इससे पता चलता है कि यहां और भी बच्चे हैं और कॉलबैक फिर से शुरू किया जाएगा.
| ब्यौरा | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| पैरामीटर | 
 | ||||||||
otMeshDiagChildIterator
struct otMeshDiagChildIterator otMeshDiagChildIterator
किसी राऊटर के बच्चों की सूची को फिर से दोहराने के लिए ओपेक इटरेटर.
इस तरह के इंस्टेंस के पॉइंटर otMeshDiagRouterInfo में दिए गए हैं. 
otMeshDiagDiscoverCallback
void(* otMeshDiagDiscoverCallback)(otError aError, otMeshDiagRouterInfo *aRouterInfo, void *aContext)
पॉइंटर टाइप उस कॉलबैक को दिखाता है जिसका इस्तेमाल otMeshDiagDiscoverTopology(), खोजे गए राऊटर के बारे में जानकारी देने के लिए करता है. 
जब aError OT_ERROR_PENDING होता है, तो इससे पता चलता है कि खोज अभी पूरी नहीं हुई है. साथ ही, ज़्यादा राऊटर मिलेंगे और कॉलबैक फिर से शुरू किया जाएगा.
| ब्यौरा | |||||||
|---|---|---|---|---|---|---|---|
| पैरामीटर | 
 | ||||||
otMeshDiagDiscoverConfig
struct otMeshDiagDiscoverConfig otMeshDiagDiscoverConfig
मेश टोपोलॉजी का पता लगाते समय इस्तेमाल किए गए कॉन्फ़िगरेशन के सेट के बारे में बताता है, जिससे पता चलता है कि किन आइटम को खोजना है.
otMeshDiagIp6AddrIterator
struct otMeshDiagIp6AddrIterator otMeshDiagIp6AddrIterator
किसी राऊटर के आईपीवी6 पते की सूची बदलने के लिए, ओपेक इटरेटर.
इस तरह के इंस्टेंस के पॉइंटर otMeshDiagRouterInfo में दिए गए हैं. 
otMeshDiagQueryChildTableCallback
void(* otMeshDiagQueryChildTableCallback)(otError aError, const otMeshDiagChildEntry *aChildEntry, void *aContext)
यह उस कॉलबैक को दिखाता है जिसका इस्तेमाल otMeshDiagQueryChildTable(), चाइल्ड टेबल एंट्री के बारे में जानकारी देने के लिए करता है. 
aError के OT_ERROR_PENDING होने पर, इससे पता चलता है कि टेबल में अब भी ज़्यादा एंट्री हैं और कॉलबैक को फिर से शुरू किया जाएगा.
| ब्यौरा | |||||||
|---|---|---|---|---|---|---|---|
| पैरामीटर | 
 | ||||||
otMeshDiagQueryRouterNeighborTableCallback
void(* otMeshDiagQueryRouterNeighborTableCallback)(otError aError, const otMeshDiagRouterNeighborEntry *aNeighborEntry, void *aContext)
यह उस कॉलबैक को दिखाता है जिसका इस्तेमाल otMeshDiagQueryRouterNeighborTable(), पड़ोसी के राऊटर टेबल की एंट्री के बारे में जानकारी देने के लिए करता है. 
aError के OT_ERROR_PENDING होने पर, इससे पता चलता है कि टेबल में अब भी ज़्यादा एंट्री हैं और कॉलबैक को फिर से शुरू किया जाएगा.
| ब्यौरा | |||||||
|---|---|---|---|---|---|---|---|
| पैरामीटर | 
 | ||||||
otMeshDiagRouterInfo
struct otMeshDiagRouterInfo otMeshDiagRouterInfo
यह Thread मेश में मौजूद उस राऊटर की जानकारी दिखाता है जिसे otMeshDiagDiscoverTopology() का इस्तेमाल करके खोजा गया था. 
otMeshDiagRouterNeighborEntry
struct otMeshDiagRouterNeighborEntry otMeshDiagRouterNeighborEntry
यह डिवाइस, otMeshDiagQueryRouterNeighborTable() से राऊटर पड़ोसी की एंट्री की जानकारी दिखाता है. 
mSupportsErrRate से पता चलता है कि गड़बड़ी को ट्रैक करने की सुविधा काम करती है या नहीं. साथ ही, mFrameErrorRate और mMessageErrorRate की वैल्यू मान्य हैं. फ़्रेम की गड़बड़ी की दर, MAC लेयर पर फ़्रेम tx गड़बड़ियों (बच्चे की ओर) को ट्रैक करती है, जबकि IPv6 मैसेज हटाए जाने पर mMessageErrorRate, IPv6 मैसेज की गड़बड़ी की दर (MAC लेयर के ऊपर और MAC फिर से कोशिश करने के बाद) को ट्रैक करता है. उदाहरण के लिए, अगर मैसेज बड़ा है और उसके लिए 6LoWPAN फ़्रैगमेंटेशन की ज़रूरत है, तो मैसेज tx को तब फ़ेल माना जाएगा, जब उसका कोई फ़्रैगमेंट फ़्रेम tx काम नहीं कर रहा हो. उदाहरण के लिए, कभी भी हैक नहीं किया गया. 
फ़ंक्शन
otMeshDiagCancel
void otMeshDiagCancel( otInstance *aInstance )
किसी मौजूदा टोपोलॉजी खोज को न होने पर उसे रद्द करता है, नहीं तो कोई कार्रवाई नहीं करता.
डिस्कवरी की जारी प्रोसेस रद्द होने पर, otMeshDiagDiscoverTopology() से मिले कॉलबैक को कॉल नहीं किया जाएगा. 
otMeshDiagDiscoverTopology
otError otMeshDiagDiscoverTopology( otInstance *aInstance, const otMeshDiagDiscoverConfig *aConfig, otMeshDiagDiscoverCallback aCallback, void *aContext )
नेटवर्क टोपोलॉजी खोज शुरू करता है.
| ब्यौरा | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| पैरामीटर | 
 | ||||||||
| रिटर्न वैल्यू | 
 | ||||||||
otMeshDiagGetNextChildInfo
otError otMeshDiagGetNextChildInfo( otMeshDiagChildIterator *aIterator, otMeshDiagChildInfo *aChildInfo )
किसी राऊटर के खोजे गए चिल्ड्रेन के ज़रिए फिर से गतिविधि करता है.
इस फ़ंक्शन को otMeshDiagDiscoverCallback() कॉलबैक से इस्तेमाल किया जाना चाहिए. साथ ही, कॉलबैक को इनपुट के तौर पर दिए गए aRouterInfo स्ट्रक्चर से mChildIterator का इस्तेमाल किया जाना चाहिए.
| ब्यौरा | |||||
|---|---|---|---|---|---|
| पैरामीटर | 
 | ||||
| रिटर्न वैल्यू | 
 | ||||
otMeshDiagGetNextIp6Address
otError otMeshDiagGetNextIp6Address( otMeshDiagIp6AddrIterator *aIterator, otIp6Address *aIp6Address )
यह किसी राऊटर या MTD चाइल्ड के खोजे गए IPv6 पतों के ज़रिए दोहराता है.
इस्तेमाल किया जाना चाहिए
- otMeshDiagDiscoverCallback()कॉलबैक से और कॉलबैक को इनपुट के तौर पर दिए गए- aRouterInfoस्ट्रक्चर से- mIp6AddrIteratorका इस्तेमाल करें या
- दिए गए aIp6AddrIteratorके साथ कॉलबैकotMeshDiagChildIp6AddrsCallback()से.
| ब्यौरा | |||||
|---|---|---|---|---|---|
| पैरामीटर | 
 | ||||
| रिटर्न वैल्यू | 
 | ||||
otMeshDiagQueryChildTable
otError otMeshDiagQueryChildTable( otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryChildTableCallback aCallback, void *aContext )
दिए गए राऊटर के लिए चाइल्ड टेबल से जुड़ी क्वेरी शुरू करता है.
| ब्यौरा | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| पैरामीटर | 
 | ||||||||||
| रिटर्न वैल्यू | 
 | ||||||||||
otMeshDiagQueryChildrenIp6Addrs
otError otMeshDiagQueryChildrenIp6Addrs( otInstance *aInstance, uint16_t aRloc16, otMeshDiagChildIp6AddrsCallback aCallback, void *aContext )
यह अनुमति मिलने पर, माता-पिता को क्वेरी भेजी जाती है, ताकि MTD चिल्ड्रेन के सभी आईपीवी6 पतों को वापस लाया जा सके.
| ब्यौरा | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| पैरामीटर | 
 | ||||||||||
| रिटर्न वैल्यू | 
 | ||||||||||
otMeshDiagQueryRouterNeighborTable
otError otMeshDiagQueryRouterNeighborTable( otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryRouterNeighborTableCallback aCallback, void *aContext )
दिए गए राऊटर की राऊटर पड़ोसी टेबल के लिए क्वेरी शुरू करता है.
| ब्यौरा | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| पैरामीटर | 
 | ||||||||||
| रिटर्न वैल्यू | 
 | ||||||||||
मैक्रो
OT_MESH_DIAG_VERSION_UNKNOWN
OT_MESH_DIAG_VERSION_UNKNOWN 0xffff
इससे पता चलता है कि Thread का वर्शन उपलब्ध नहीं है.
mVersion प्रॉपर्टी के लिए otMeshDiagRouterInfo में इसका इस्तेमाल तब किया जाता है, जब डिवाइस का वर्शन उपलब्ध न हो. इससे पता चलता है कि डिवाइस पर 1.3.0 (वर्शन 4) या इससे पहले का वर्शन चल सकता है. 
संसाधन
OpenThread API के रेफ़रंस के विषय, सोर्स कोड से मिलते हैं. यह सोर्स GitHub पर उपलब्ध है. ज़्यादा जानकारी या हमारे दस्तावेज़ में योगदान देने के लिए, संसाधन देखें.