تشخیص مش
این ماژول شامل تعاریف و توابع برای Mesh Diagnostics است.
خلاصه
APIهای Mesh Diagnostics به OPENTHREAD_CONFIG_MESH_DIAG_ENABLE
و OPENTHREAD_FTD
نیاز دارند.
Typedefs | |
---|---|
otMeshDiagChildEntry | typedefstruct otMeshDiagChildEntry نشان دهنده اطلاعات مربوط به ورودی فرزند از otMeshDiagQueryChildTable() است. |
otMeshDiagChildInfo | typedefstruct otMeshDiagChildInfo اطلاعات مربوط به یک فرزند کشف شده را در شبکه Thread با استفاده از otMeshDiagDiscoverTopology() نشان می دهد. |
otMeshDiagChildIp6AddrsCallback )(otError aError, uint16_t aChildRloc16, otMeshDiagIp6AddrIterator *aIp6AddrIterator, void *aContext) | typedefvoid(* نشان دهنده پاسخ به تماس مورد استفاده توسط otMeshDiagQueryChildrenIp6Addrs() برای ارائه اطلاعات مربوط به فرزند MTD و لیست آدرس های IPv6 آن است. |
otMeshDiagChildIterator | typedefstruct otMeshDiagChildIterator یک تکرار کننده مات برای تکرار روی لیست فرزندان یک روتر. |
otMeshDiagDiscoverCallback )(otError aError, otMeshDiagRouterInfo *aRouterInfo, void *aContext) | typedefvoid(* نوع اشاره گر پاسخ تماسی است که توسط otMeshDiagDiscoverTopology() برای ارائه اطلاعات در مورد روتر کشف شده استفاده می شود. |
otMeshDiagDiscoverConfig | typedefstruct otMeshDiagDiscoverConfig مجموعه ای از تنظیمات مورد استفاده در هنگام کشف توپولوژی مش را نشان می دهد که نشان می دهد کدام موارد را باید کشف کرد. |
otMeshDiagIp6AddrIterator | typedefstruct otMeshDiagIp6AddrIterator یک تکرار کننده مات برای تکرار روی لیست آدرس های IPv6 یک روتر. |
otMeshDiagQueryChildTableCallback )(otError aError, const otMeshDiagChildEntry *aChildEntry, void *aContext) | typedefvoid(* نشان دهنده پاسخ به تماس مورد استفاده توسط otMeshDiagQueryChildTable() برای ارائه اطلاعات در مورد ورودی های جدول فرزند است. |
otMeshDiagQueryRouterNeighborTableCallback )(otError aError, const otMeshDiagRouterNeighborEntry *aNeighborEntry, void *aContext) | typedefvoid(* نشان دهنده پاسخ به تماسی است که توسط otMeshDiagQueryRouterNeighborTable() برای ارائه اطلاعات در مورد ورودی های جدول روتر همسایه استفاده می شود. |
otMeshDiagRouterInfo | typedefstruct otMeshDiagRouterInfo نشان دهنده اطلاعاتی در مورد یک روتر در Thread mesh است که با استفاده از 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) | از طریق آدرس های IPv6 کشف شده یک روتر یا یک فرزند MTD تکرار می شود. |
otMeshDiagQueryChildTable ( otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryChildTableCallback aCallback, void *aContext) | پرس و جو برای جدول فرزند را برای یک روتر مشخص شروع می کند. |
otMeshDiagQueryChildrenIp6Addrs ( otInstance *aInstance, uint16_t aRloc16, otMeshDiagChildIp6AddrsCallback aCallback, void *aContext) | برای بازیابی آدرس IPv6 همه فرزندان MTD خود، یک پرسش به والدین ارسال می کند. |
otMeshDiagQueryRouterNeighborTable ( otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryRouterNeighborTableCallback aCallback, void *aContext) | پرس و جو برای جدول همسایه روتر را برای یک روتر مشخص شروع می کند. |
سازه ها | |
---|---|
otMeshDiagChildEntry | نشان دهنده اطلاعات مربوط به ورودی فرزند از |
otMeshDiagChildInfo | اطلاعات مربوط به یک فرزند کشف شده را در شبکه Thread با استفاده از |
otMeshDiagDiscoverConfig | مجموعه ای از تنظیمات مورد استفاده در هنگام کشف توپولوژی مش را نشان می دهد که نشان می دهد کدام موارد را باید کشف کرد. |
otMeshDiagRouterInfo | نشان دهنده اطلاعاتی در مورد یک روتر در Thread mesh است که با استفاده از |
otMeshDiagRouterNeighborEntry | اطلاعات مربوط به ورودی همسایه روتر را از |
Typedefs
otMeshDiagChildEntry
struct otMeshDiagChildEntry otMeshDiagChildEntry
نشان دهنده اطلاعات مربوط به ورودی فرزند از otMeshDiagQueryChildTable()
است.
mSupportsErrRate
نشان می دهد که آیا ویژگی ردیابی خطا پشتیبانی می شود یا خیر و مقادیر mFrameErrorRate
و mMessageErrorRate
معتبر هستند یا خیر. نرخ خطای فریم خطاهای قاب tx (به سمت فرزند) را در لایه MAC ردیابی می کند، در حالی که mMessageErrorRate
نرخ خطای پیام IPv6 (بالای لایه MAC و پس از تلاش مجدد MAC) را هنگامی که یک پیام IPv6 حذف می شود، ردیابی می کند. به عنوان مثال، اگر پیام بزرگ است و نیاز به قطعه قطعه شدن 6LoWPAN دارد، پیام tx در صورتی که یکی از فریم های فریم tx از کار بیفتد (به عنوان مثال، هرگز مورد پذیرش قرار نگرفته باشد) ناموفق در نظر گرفته می شود.
otMeshDiagChildInfo
struct otMeshDiagChildInfo otMeshDiagChildInfo
اطلاعات مربوط به یک فرزند کشف شده را در شبکه Thread با استفاده از otMeshDiagDiscoverTopology()
نشان می دهد.
otMeshDiagChildIp6AddrsCallback
void(* otMeshDiagChildIp6AddrsCallback)(otError aError, uint16_t aChildRloc16, otMeshDiagIp6AddrIterator *aIp6AddrIterator, void *aContext)
نشان دهنده پاسخ به تماس مورد استفاده توسط otMeshDiagQueryChildrenIp6Addrs()
برای ارائه اطلاعات مربوط به فرزند MTD و لیست آدرس های IPv6 آن است.
وقتی 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
یک تکرار کننده مات برای تکرار روی لیست آدرس های IPv6 یک روتر.
اشاره گرهایی به نمونه هایی از این نوع در 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 mesh است که با استفاده از otMeshDiagDiscoverTopology()
کشف شده است.
otMeshDiagRouterNeighborEntry
struct otMeshDiagRouterNeighborEntry otMeshDiagRouterNeighborEntry
اطلاعات مربوط به ورودی همسایه روتر را از otMeshDiagQueryRouterNeighborTable()
نشان می دهد.
mSupportsErrRate
نشان می دهد که آیا ویژگی ردیابی خطا پشتیبانی می شود یا خیر و مقادیر mFrameErrorRate
و mMessageErrorRate
معتبر هستند یا خیر. نرخ خطای فریم خطاهای قاب tx (به سمت فرزند) را در لایه MAC ردیابی می کند، در حالی که mMessageErrorRate
نرخ خطای پیام IPv6 (بالای لایه MAC و پس از تلاش مجدد MAC) را هنگامی که یک پیام IPv6 حذف می شود، ردیابی می کند. به عنوان مثال، اگر پیام بزرگ است و نیاز به قطعه قطعه شدن 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 )
از طریق فرزندان کشف شده یک روتر تکرار می شود.
این تابع باید از callback otMeshDiagDiscoverCallback()
استفاده شود و از mChildIterator
از ساختار aRouterInfo
استفاده شود که به عنوان ورودی به callback ارائه شده است.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
otMeshDiagGetNextIp6Address
otError otMeshDiagGetNextIp6Address( otMeshDiagIp6AddrIterator *aIterator, otIp6Address *aIp6Address )
از طریق آدرس های IPv6 کشف شده یک روتر یا یک فرزند MTD تکرار می شود.
باید استفاده شود
- از فراخوانی
otMeshDiagDiscoverCallback()
و ازmIp6AddrIterator
از ساختارaRouterInfo
که به عنوان ورودی به callback ارائه می شود، استفاده کنید، یا - از فراخوانی
otMeshDiagChildIp6AddrsCallback()
همراه باaIp6AddrIterator
ارائه شده.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
otMeshDiagQueryChildTable
otError otMeshDiagQueryChildTable( otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryChildTableCallback aCallback, void *aContext )
پرس و جو برای جدول فرزند را برای یک روتر مشخص شروع می کند.
جزئیات | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
مولفه های |
| ||||||||||
ارزش های بازگشتی |
|
otMeshDiagQueryChildrenIp6Addrs
otError otMeshDiagQueryChildrenIp6Addrs( otInstance *aInstance, uint16_t aRloc16, otMeshDiagChildIp6AddrsCallback aCallback, void *aContext )
برای بازیابی آدرس IPv6 همه فرزندان MTD خود، یک پرسش به والدین ارسال می کند.
جزئیات | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
مولفه های |
| ||||||||||
ارزش های بازگشتی |
|
otMeshDiagQueryRouterNeighborTable
otError otMeshDiagQueryRouterNeighborTable( otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryRouterNeighborTableCallback aCallback, void *aContext )
پرس و جو برای جدول همسایه روتر را برای یک روتر مشخص شروع می کند.
جزئیات | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
مولفه های |
| ||||||||||
ارزش های بازگشتی |
|
ماکروها
OT_MESH_DIAG_VERSION_UNKNOWN
OT_MESH_DIAG_VERSION_UNKNOWN 0xffff
مشخص می کند که نسخه Thread ناشناخته است.
این در otMeshDiagRouterInfo
برای ویژگی mVersion
زمانی که دستگاه نسخه خود را ارائه نمی دهد استفاده می شود. این نشان می دهد که دستگاه احتمالاً نسخه 1.3.0 (مقدار نسخه 4) یا قبل از آن را اجرا می کند.
منابع
موضوعات مرجع OpenThread API از کد منبع موجود در GitHub سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.