SRP
این ماژول شامل توابعی است که رفتار کلاینت SRP را کنترل می کند.
خلاصه
این ماژول شامل توابع پروتکل ثبت خدمات است.
این ماژول شامل توابعی برای بافرهای مشتری SRP و استخر خدمات است.
توابع در این ماژول فقط زمانی در دسترس هستند که ویژگی OPENTHREAD_CONFIG_SRP_CLIENT_BUFFERS_ENABLE فعال باشد.
شمارش ها | |
---|---|
otSrpClientItemState { | enum وضعیت مورد مشتری SRP (اطلاعات سرویس یا میزبان) را مشخص می کند. |
otSrpServerAddressMode { | enum حالت آدرس مورد استفاده توسط سرور SRP را نشان می دهد. |
otSrpServerState { | enum وضعیت سرور SRP را نشان می دهد. |
Typedefs | |
---|---|
otSrpClientAutoStartCallback )(const otSockAddr *aServerSockAddr, void *aContext) | typedefvoid(* نوع اشاره گر پاسخ تماس مورد استفاده توسط سرویس گیرنده SRP را برای اطلاع دادن به کاربر هنگام شروع یا توقف خودکار تعریف می کند. |
otSrpClientBuffersServiceEntry | typedef نمایانگر ورودی مجموعه خدمات مشتری SRP است. |
otSrpClientCallback )(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext) | typedefvoid(* نوع اشاره گر پاسخ تماس مورد استفاده توسط سرویس گیرنده SRP را برای اطلاع کاربر از تغییرات/رویدادها/خطاها تعریف می کند. |
otSrpClientHostInfo | typedefstruct otSrpClientHostInfo اطلاعات میزبان سرویس گیرنده SRP را نشان می دهد. |
otSrpClientService | typedefstruct otSrpClientService نشان دهنده یک سرویس مشتری SRP است. |
otSrpServerAddressMode | typedef حالت آدرس مورد استفاده توسط سرور SRP را نشان می دهد. |
otSrpServerHost | typedefstruct otSrpServerHost این نوع مات نشان دهنده یک میزبان سرویس SRP است. |
otSrpServerLeaseConfig | typedefstruct otSrpServerLeaseConfig شامل SRP سرور اجاره و تنظیمات KEY-LEASE. |
otSrpServerLeaseInfo | typedefstruct otSrpServerLeaseInfo شامل اطلاعات اجاره سرور SRP یک میزبان/سرویس است. |
otSrpServerResponseCounters | typedefstruct otSrpServerResponseCounters شامل آمار پاسخ های سرور SRP است. |
otSrpServerService | typedefstruct otSrpServerService این نوع مات نشان دهنده یک سرویس SRP است. |
otSrpServerServiceUpdateHandler )(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext) | typedefvoid(* به روز رسانی سرویس SRP را مدیریت می کند. |
otSrpServerServiceUpdateId | typedefuint32_t شناسه تراکنش به روز رسانی سرویس SRP در سرور SRP. |
otSrpServerTtlConfig | typedefstruct otSrpServerTtlConfig شامل تنظیمات TTL سرور SRP است. |
کارکرد | |
---|---|
otSrpClientAddService ( otInstance *aInstance, otSrpClientService *aService) | سرویسی را برای ثبت در سرور اضافه می کند. |
otSrpClientBuffersAllocateService ( otInstance *aInstance) | یک ورودی سرویس جدید را از استخر اختصاص می دهد. |
otSrpClientBuffersFreeAllServices ( otInstance *aInstance) | void تمام ورودی های خدماتی که قبلاً اختصاص داده شده را آزاد می کند. |
otSrpClientBuffersFreeService ( otInstance *aInstance, otSrpClientBuffersServiceEntry *aService) | void ورودی سرویس قبلاً اختصاص داده شده را آزاد می کند. |
otSrpClientBuffersGetHostAddressesArray ( otInstance *aInstance, uint8_t *aArrayLength) | آرایه ای از ورودی های آدرس IPv6 را برای استفاده به عنوان لیست آدرس میزبان سرویس گیرنده SRP دریافت می کند. |
otSrpClientBuffersGetHostNameString ( otInstance *aInstance, uint16_t *aSize) | char * بافر رشته ای را برای استفاده از نام میزبان سرویس گیرنده SRP دریافت می کند. |
otSrpClientBuffersGetServiceEntryInstanceNameString ( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize) | char * بافر رشته ای را برای نام نمونه سرویس از ورودی سرویس دریافت می کند. |
otSrpClientBuffersGetServiceEntryServiceNameString ( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize) | char * بافر رشته ای را برای نام سرویس از ورودی سرویس دریافت می کند. |
otSrpClientBuffersGetServiceEntryTxtBuffer ( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize) | uint8_t * بافر رکورد TXT را از ورودی سرویس دریافت می کند. |
otSrpClientBuffersGetSubTypeLabelsArray ( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength) | const char ** آرایه برچسب های نوع خدمات را از ورودی سرویس دریافت می کند. |
otSrpClientClearHostAndServices ( otInstance *aInstance) | void تمام اطلاعات میزبان و همه سرویس ها را پاک می کند. |
otSrpClientClearService ( otInstance *aInstance, otSrpClientService *aService) | یک سرویس را پاک می کند و بلافاصله آن را از لیست خدمات مشتری حذف می کند. |
otSrpClientDisableAutoStartMode ( otInstance *aInstance) | void حالت شروع خودکار را غیرفعال می کند. |
otSrpClientEnableAutoHostAddress ( otInstance *aInstance) | حالت خودکار آدرس میزبان را فعال می کند. |
otSrpClientEnableAutoStartMode ( otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext) | void حالت شروع خودکار را فعال می کند. |
otSrpClientGetDomainName ( otInstance *aInstance) | const char * نام دامنه مورد استفاده توسط مشتری SRP را دریافت می کند. |
otSrpClientGetHostInfo ( otInstance *aInstance) | const otSrpClientHostInfo * اطلاعات میزبان را دریافت می کند. |
otSrpClientGetKeyLeaseInterval ( otInstance *aInstance) | uint32_t فاصله اجاره کلید پیشفرض مورد استفاده در درخواستهای بهروزرسانی SRP را دریافت میکند. |
otSrpClientGetLeaseInterval ( otInstance *aInstance) | uint32_t فاصله اجاره پیشفرض مورد استفاده در درخواستهای بهروزرسانی SRP را دریافت میکند. |
otSrpClientGetServerAddress ( otInstance *aInstance) | const otSockAddr * آدرس سوکت (آدرس IPv6 و شماره پورت) سرور SRP را که توسط کلاینت SRP استفاده می شود، دریافت می کند. |
otSrpClientGetServices ( otInstance *aInstance) | const otSrpClientService * لیست خدماتی را که توسط مشتری مدیریت می شود دریافت می کند. |
otSrpClientGetTtl ( otInstance *aInstance) | uint32_t مقدار TTL را در هر رکورد موجود در درخواستهای بهروزرسانی SRP دریافت میکند. |
otSrpClientIsAutoStartModeEnabled ( otInstance *aInstance) | bool وضعیت فعلی حالت شروع خودکار (فعال یا غیرفعال) را نشان می دهد. |
otSrpClientIsRunning ( otInstance *aInstance) | bool نشان می دهد که آیا کلاینت SRP در حال اجرا است یا خیر. |
otSrpClientIsServiceKeyRecordEnabled ( otInstance *aInstance) | bool نشان می دهد که آیا حالت "شامل رکورد کلید سرویس" فعال یا غیرفعال است. |
otSrpClientItemStateToString ( otSrpClientItemState aItemState) | const char * یک otSrpClientItemState را به یک رشته تبدیل می کند. |
otSrpClientRemoveHostAndServices ( otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer) | فرآیند حذف اطلاعات میزبان و همه سرویس ها را شروع می کند. |
otSrpClientRemoveService ( otInstance *aInstance, otSrpClientService *aService) | درخواست می کند یک سرویس در سرور لغو ثبت شود. |
otSrpClientSetCallback ( otInstance *aInstance, otSrpClientCallback aCallback, void *aContext) | void تماس برگشتی را برای اطلاع تماس گیرنده از رویدادها/تغییرات از سرویس گیرنده SRP تنظیم می کند. |
otSrpClientSetDomainName ( otInstance *aInstance, const char *aName) | نام دامنه را برای استفاده توسط مشتری SRP تنظیم می کند. |
otSrpClientSetHostAddresses ( otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses) | لیست آدرس IPv6 میزبان را تنظیم/به روز می کند. |
otSrpClientSetHostName ( otInstance *aInstance, const char *aName) | برچسب نام میزبان را تنظیم می کند. |
otSrpClientSetKeyLeaseInterval ( otInstance *aInstance, uint32_t aInterval) | void فاصله اجاره کلید پیشفرض مورد استفاده در درخواستهای بهروزرسانی SRP را تنظیم میکند. |
otSrpClientSetLeaseInterval ( otInstance *aInstance, uint32_t aInterval) | void فاصله اجاره پیشفرض مورد استفاده در درخواستهای بهروزرسانی SRP را تنظیم میکند. |
otSrpClientSetServiceKeyRecordEnabled ( otInstance *aInstance, bool aEnabled) | void حالت "شامل رکورد کلید سرویس" را فعال/غیرفعال می کند. |
otSrpClientSetTtl ( otInstance *aInstance, uint32_t aTtl) | void مقدار TTL را در هر رکورد موجود در درخواستهای بهروزرسانی SRP تنظیم میکند. |
otSrpClientStart ( otInstance *aInstance, const otSockAddr *aServerSockAddr) | عملیات کلاینت SRP را شروع می کند. |
otSrpClientStop ( otInstance *aInstance) | void عملیات کلاینت SRP را متوقف می کند. |
otSrpServerGetAddressMode ( otInstance *aInstance) | حالت آدرس مورد استفاده توسط سرور SRP را برمی گرداند. |
otSrpServerGetAnycastModeSequenceNumber ( otInstance *aInstance) | uint8_t شماره توالی مورد استفاده در حالت آدرس anycast را برمیگرداند. |
otSrpServerGetDomain ( otInstance *aInstance) | const char * دامنه مجاز را به سرور SRP برمی گرداند. |
otSrpServerGetLeaseConfig ( otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig) | void تنظیمات LEASE و KEY-LEASE سرور SRP را برمیگرداند. |
otSrpServerGetNextHost ( otInstance *aInstance, const otSrpServerHost *aHost) | const otSrpServerHost * میزبان بعدی ثبت شده را در سرور SRP برمی گرداند. |
otSrpServerGetPort ( otInstance *aInstance) | uint16_t پورتی را که سرور SRP به آن گوش می دهد برمی گرداند. |
otSrpServerGetResponseCounters ( otInstance *aInstance) | const otSrpServerResponseCounters * شمارنده های پاسخ سرور SRP را برمی گرداند. |
otSrpServerGetState ( otInstance *aInstance) | وضعیت سرور SRP را برمی گرداند. |
otSrpServerGetTtlConfig ( otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig) | void پیکربندی TTL سرور SRP را برمیگرداند. |
otSrpServerHandleServiceUpdateResult ( otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError) | void نتیجه پردازش یک به روز رسانی SRP را به سرور SRP گزارش می دهد. |
otSrpServerHostGetAddresses (const otSrpServerHost *aHost, uint8_t *aAddressesNum) | const otIp6Address * آدرس هاست داده شده را برمی گرداند. |
otSrpServerHostGetFullName (const otSrpServerHost *aHost) | const char * نام کامل میزبان را برمیگرداند. |
otSrpServerHostGetLeaseInfo (const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo) | void اطلاعات LEASE و KEY-LEASE یک میزبان معین را برمی گرداند. |
otSrpServerHostGetNextService (const otSrpServerHost *aHost, const otSrpServerService *aService) | const otSrpServerService * سرویس بعدی میزبان داده شده را برمی گرداند. |
otSrpServerHostIsDeleted (const otSrpServerHost *aHost) | bool می گوید که آیا میزبان سرویس SRP حذف شده است. |
otSrpServerHostMatchesFullName (const otSrpServerHost *aHost, const char *aFullName) | bool نشان می دهد که آیا میزبان با نام میزبان مشخص مطابقت دارد یا خیر. |
otSrpServerIsAutoEnableMode ( otInstance *aInstance) | bool نشان می دهد که حالت فعال کردن خودکار فعال یا غیرفعال است. |
otSrpServerParseSubTypeServiceName (const char *aSubTypeServiceName, char *aLabel, uint8_t aLabelSize) | نام سرویس زیرنوع (نام کامل) را تجزیه می کند و برچسب نوع فرعی را استخراج می کند. |
otSrpServerServiceGetHost (const otSrpServerService *aService) | const otSrpServerHost * میزبانی را که نمونه سرویس در آن قرار دارد برمیگرداند. |
otSrpServerServiceGetInstanceLabel (const otSrpServerService *aService) | const char * برچسب نمونه سرویس (اولین برچسب در نام نمونه) سرویس را برمیگرداند. |
otSrpServerServiceGetInstanceName (const otSrpServerService *aService) | const char * نام نمونه سرویس کامل سرویس را برمیگرداند. |
otSrpServerServiceGetLeaseInfo (const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo) | void اطلاعات LEASE و KEY-LEASE یک سرویس داده شده را برمی گرداند. |
otSrpServerServiceGetNumberOfSubTypes (const otSrpServerService *aService) | uint16_t تعداد زیر انواع سرویس را دریافت می کند. |
otSrpServerServiceGetPort (const otSrpServerService *aService) | uint16_t پورت نمونه سرویس را برمیگرداند. |
otSrpServerServiceGetPriority (const otSrpServerService *aService) | uint16_t اولویت نمونه سرویس را برمی گرداند. |
otSrpServerServiceGetServiceName (const otSrpServerService *aService) | const char * نام سرویس کامل سرویس را برمی گرداند. |
otSrpServerServiceGetSubTypeServiceNameAt (const otSrpServerService *aService, uint16_t aIndex) | const char * نام سرویس زیرنوع (نام کامل) سرویس را در یک فهرست مشخص دریافت می کند. |
otSrpServerServiceGetTtl (const otSrpServerService *aService) | uint32_t TTL نمونه سرویس را برمی گرداند. |
otSrpServerServiceGetTxtData (const otSrpServerService *aService, uint16_t *aDataLength) | const uint8_t * داده های رکورد TXT نمونه سرویس را برمی گرداند. |
otSrpServerServiceGetWeight (const otSrpServerService *aService) | uint16_t وزن نمونه سرویس را برمیگرداند. |
otSrpServerServiceHasSubTypeServiceName (const otSrpServerService *aService, const char *aSubTypeServiceName) | bool نشان می دهد که آیا سرویس دارای یک نوع فرعی خاص است یا خیر. |
otSrpServerServiceIsDeleted (const otSrpServerService *aService) | bool نشان می دهد که آیا سرویس SRP حذف شده است یا خیر. |
otSrpServerServiceMatchesInstanceName (const otSrpServerService *aService, const char *aInstanceName) | bool نشان می دهد که آیا این سرویس با نام نمونه سرویس داده شده مطابقت دارد یا خیر. |
otSrpServerServiceMatchesServiceName (const otSrpServerService *aService, const char *aServiceName) | bool نشان می دهد که آیا این سرویس با نام سرویس داده شده مطابقت دارد یا خیر. |
otSrpServerSetAddressMode ( otInstance *aInstance, otSrpServerAddressMode aMode) | حالت آدرس را برای استفاده توسط سرور SRP تنظیم می کند. |
otSrpServerSetAnycastModeSequenceNumber ( otInstance *aInstance, uint8_t aSequenceNumber) | شماره ترتیب مورد استفاده در حالت آدرس anycast را تنظیم می کند. |
otSrpServerSetAutoEnableMode ( otInstance *aInstance, bool aEnabled) | void حالت فعال کردن خودکار را در سرور SRP فعال/غیرفعال می کند. |
otSrpServerSetDomain ( otInstance *aInstance, const char *aDomain) | دامنه را روی سرور SRP تنظیم می کند. |
otSrpServerSetEnabled ( otInstance *aInstance, bool aEnabled) | void سرور SRP را فعال/غیرفعال می کند. |
otSrpServerSetLeaseConfig ( otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig) | تنظیمات LEASE و KEY-LEASE سرور SRP را تنظیم می کند. |
otSrpServerSetServiceUpdateHandler ( otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext) | void کنترل کننده به روز رسانی سرویس SRP را روی سرور SRP تنظیم می کند. |
otSrpServerSetTtlConfig ( otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig) | پیکربندی TTL سرور SRP را تنظیم می کند. |
سازه ها | |
---|---|
otSrpClientBuffersServiceEntry | نمایانگر ورودی مجموعه خدمات مشتری SRP است. |
otSrpClientHostInfo | اطلاعات میزبان سرویس گیرنده SRP را نشان می دهد. |
otSrpClientService | نشان دهنده یک سرویس مشتری SRP است. |
otSrpServerLeaseConfig | شامل SRP سرور اجاره و تنظیمات KEY-LEASE. |
otSrpServerLeaseInfo | شامل اطلاعات اجاره سرور SRP یک میزبان/سرویس است. |
otSrpServerResponseCounters | شامل آمار پاسخ های سرور SRP است. |
otSrpServerTtlConfig | شامل تنظیمات TTL سرور SRP است. |
شمارش ها
otSrpClientItemState
otSrpClientItemState
وضعیت مورد مشتری SRP (اطلاعات سرویس یا میزبان) را مشخص می کند.
otSrpServerAddressMode
otSrpServerAddressMode
otSrpServerState
otSrpServerState
Typedefs
otSrpClientAutoStartCallback
void(* otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext)
نوع اشاره گر پاسخ تماس مورد استفاده توسط سرویس گیرنده SRP را برای اطلاع دادن به کاربر هنگام شروع یا توقف خودکار تعریف می کند.
این تنها زمانی استفاده میشود که ویژگی شروع خودکار OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
فعال باشد.
این تماس زمانی فراخوانی می شود که حالت شروع خودکار فعال باشد و کلاینت SRP یا به طور خودکار شروع یا متوقف شود.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
otSrpClientBuffersServiceEntry
struct otSrpClientBuffersServiceEntry otSrpClientBuffersServiceEntry
نمایانگر ورودی مجموعه خدمات مشتری SRP است.
otSrpClientCallback
void(* otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext)
نوع اشاره گر پاسخ تماس مورد استفاده توسط سرویس گیرنده SRP را برای اطلاع کاربر از تغییرات/رویدادها/خطاها تعریف می کند.
این تماس پس از ثبت موفقیتآمیز یک بهروزرسانی (یعنی افزودن/حذف اطلاعات میزبان و/یا برخی از سرویسها) با سرور SRP، یا در صورت خرابی یا خطا (به عنوان مثال، سرور یک بهروزرسانی را رد میکند) فراخوانی میشود. زمان درخواست یا مشتری در انتظار پاسخ و غیره است).
در صورت ثبت مجدد موفقیت آمیز یک به روز رسانی، یک پارامتر aError
OT_ERROR_NONE
خواهد بود و اطلاعات میزبان و لیست کامل خدمات به عنوان پارامترهای ورودی برای پاسخ به تماس ارائه می شود. توجه داشته باشید که اطلاعات میزبان و سرویسها هر کدام وضعیت خود را در متغیر عضو mState
مربوطه ساختار داده مربوطه دنبال میکنند (وضعی که نشان میدهد اطلاعات/سرویس میزبان ثبت شده یا حذف شده است یا همچنان اضافه/حذف میشود و غیره).
فهرست سرویسهای حذف شده بهعنوان فهرست پیوندی خود یعنی aRemovedServices
در پاسخ تماس ارسال میشود. توجه داشته باشید که هنگام فراخوانی تماس، کلاینت SRP (پیاده سازی OpenThread) با نمونه های سرویس حذف شده لیست شده در aRemovedServices
انجام می شود و دیگر آنها را ردیابی/ذخیره نمی کند (به عنوان مثال، اگر از طریق callback ما otSrpClientGetServices()
را فراخوانی کنیم، سرویس های حذف شده وجود نخواهد داشت. موجود در لیست برگشتی). ارائه فهرست جداگانه ای از سرویس های حذف شده در پاسخ به تماس به کاربر کمک می کند تا نشان دهد کدام موارد اکنون حذف شده اند و به کاربر امکان می دهد نمونه ها را دوباره ادعا/استفاده مجدد کند.
اگر سرور درخواست بهروزرسانی SRP را رد کند، کد پاسخ DNS (RFC 2136) با خطاهای زیر نگاشت میشود:
- (0) NOERROR موفقیت آمیز (بدون شرط خطا) -> OT_ERROR_NONE
- (1) سرور FORMERR به دلیل خطای قالب قادر به تفسیر نیست -> OT_ERROR_PARSE
- (2) سرور SERVFAIL با مشکل داخلی مواجه شد -> OT_ERROR_FAILED
- (3) نام NXDOMAIN که باید وجود داشته باشد، وجود ندارد -> OT_ERROR_NOT_FOUND
- (4) سرور NOTIMP از نوع درخواست (OpCode) -> OT_ERROR_NOT_IMPLEMENTED پشتیبانی نمی کند
- (5) REFUSED سرور به دلایل سیاست/امنیتی رد شد -> OT_ERROR_SECURITY
- (6) YXDOMAIN نامی که نباید وجود داشته باشد وجود دارد -> OT_ERROR_DUPLICATED
- (7) YXRRSET برخی از مجموعههای RR که نباید وجود داشته باشند، وجود دارند -> OT_ERROR_DUPLICATED
- (8) NXRRSET مقداری از RRset که باید وجود داشته باشد، وجود ندارد -> OT_ERROR_NOT_FOUND
- (9) سرویس NOTAUTH برای منطقه معتبر نیست -> OT_ERROR_SECURITY
- (10) NOTZONE نامی در منطقه -> OT_ERROR_PARSE نیست
- (20) BADNAME نام بد -> OT_ERROR_PARSE
- (21) الگوریتم بد BADALG -> OT_ERROR_SECURITY
- (22) BADTRUN برش بد -> OT_ERROR_PARSE
- سایر کدهای پاسخ -> OT_ERROR_FAILED
خطاهای زیر نیز ممکن است:
- OT_ERROR_RESPONSE_TIMEOUT : زمان انتظار برای پاسخ از سرور تمام شد (کارفرما به تلاش مجدد ادامه خواهد داد).
- OT_ERROR_INVALID_ARGS: ساختار سرویس ارائه شده نامعتبر است (به عنوان مثال، نام سرویس بد یا
otDnsTxtEntry
). - OT_ERROR_NO_BUFS: بافر کافی برای آماده سازی یا ارسال پیام به روز رسانی نیست.
توجه داشته باشید که در صورت بروز هر گونه خرابی، کلاینت عملیات را ادامه می دهد، یعنی پس از مدتی انتظار، پیام آپدیت SRP را آماده و (دوباره) به سرور ارسال می کند. فاصله زمانی انتظار مجدد از حداقل مقدار شروع می شود و با ضریب رشد هر شکست تا حداکثر مقدار افزایش می یابد (لطفاً برای جزئیات بیشتر به پارامتر پیکربندی OPENTHREAD_CONFIG_SRP_CLIENT_MIN_RETRY_WAIT_INTERVAL
و موارد مرتبط مراجعه کنید).
جزئیات | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
مولفه های |
|
otSrpClientHostInfo
struct otSrpClientHostInfo otSrpClientHostInfo
اطلاعات میزبان سرویس گیرنده SRP را نشان می دهد.
otSrpClientService
struct otSrpClientService otSrpClientService
نشان دهنده یک سرویس مشتری SRP است.
مقادیر موجود در این ساختار، از جمله بافرهای رشته برای نامها و ورودیهای رکورد TXT، پس از ارسال نمونهای از این ساختار به OpenThread از otSrpClientAddService()
یا otSrpClientRemoveService()
باید باقی بمانند و ثابت بمانند.
فیلدهای mState
، mData
، mNext
فقط توسط هسته OT استفاده/مدیریت می شوند. هنگامی که نمونه ای از otSrpClientService
در otSrpClientAddService()
یا otSrpClientRemoveService()
یا سایر توابع ارسال می شود، مقدار آنها نادیده گرفته می شود. تماس گیرنده نیازی به تنظیم این فیلدها ندارد.
فیلدهای mLease
و mKeyLease
فواصل اجاره و اجاره کلید مورد نظر را برای این سرویس مشخص می کنند. مقدار صفر نشان می دهد که بازه مشخص نشده است و سپس فواصل اجاره یا اجاره کلیدی از otSrpClientGetLeaseInterval()
و otSrpClientGetKeyLeaseInterval()
برای این سرویس استفاده می شود. اگر فاصله اجاره کلید (چه به طور صریح تنظیم شده باشد یا از حالت پیش فرض تعیین شده باشد) از فاصله اجاره برای یک سرویس کوتاه تر باشد، مشتری SRP از مقدار فاصله اجاره برای فاصله اجاره کلید نیز استفاده می کند. به عنوان مثال اگر در سرویس mLease
صراحتاً 2 روز و mKeyLease
صفر و اجاره کلید پیش فرض روی 1 روز تنظیم شده باشد، در هنگام ثبت این سرویس، اجاره کلید درخواستی برای این سرویس نیز 2 روز تعیین می شود.
otSrpServerAddressMode
enum otSrpServerAddressMode otSrpServerAddressMode
نشان دهنده حالت آدرس مورد استفاده توسط سرور SRP است.
حالت آدرس نحوه تعیین آدرس و شماره پورت توسط سرور SRP و نحوه انتشار این اطلاعات در Thread Network Data را مشخص می کند.
otSrpServerHost
struct otSrpServerHost otSrpServerHost
این نوع مات نشان دهنده یک میزبان سرویس SRP است.
otSrpServerLeaseConfig
struct otSrpServerLeaseConfig otSrpServerLeaseConfig
شامل SRP سرور اجاره و تنظیمات KEY-LEASE.
otSrpServerLeaseInfo
struct otSrpServerLeaseInfo otSrpServerLeaseInfo
شامل اطلاعات اجاره سرور SRP یک میزبان/سرویس است.
otSrpServerResponseCounters
struct otSrpServerResponseCounters otSrpServerResponseCounters
شامل آمار پاسخ های سرور SRP است.
otSrpServerService
struct otSrpServerService otSrpServerService
این نوع مات نشان دهنده یک سرویس SRP است.
otSrpServerServiceUpdateHandler
void(* otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext)
به روز رسانی سرویس SRP را مدیریت می کند.
توسط سرور SRP فراخوانی می شود تا به شما اطلاع دهد که یک میزبان SRP و احتمالاً سرویس های SRP در حال به روز رسانی هستند. مهم است که بهروزرسانیهای SRP تا زمانی که کنترلکننده نتیجه را با فراخوانی otSrpServerHandleServiceUpdateResult یا زمانهای پایانی پس از aTimeout
برگرداند، متعهد نشوند.
یک ناظر سرویس SRP باید بلافاصله پس از دریافت رویدادهای به روز رسانی، همیشه با otSrpServerHandleServiceUpdateResult با کد خطا OT_ERROR_NONE تماس بگیرد.
یک کنترل کننده عمومی تر ممکن است اعتبارسنجی ها را روی میزبان/سرویس های SRP انجام دهد و در صورت عدم موفقیت هر گونه اعتبار سنجی، به روز رسانی های SRP را رد کند. به عنوان مثال، یک پروکسی تبلیغاتی باید میزبان و سرویسها را روی پیوندی با قابلیت چندپخشی تبلیغ کند (یا حذف کند) و در صورت بروز هر گونه خرابی، کد خطای خاصی را برمیگرداند.
جزئیات | |||||||||
---|---|---|---|---|---|---|---|---|---|
مولفه های |
|
otSrpServerSetServiceUpdateHandler
otSrpServerHandleServiceUpdateResult
otSrpServerServiceUpdateId
uint32_t otSrpServerServiceUpdateId
شناسه تراکنش به روز رسانی سرویس SRP در سرور SRP.
otSrpServerTtlConfig
struct otSrpServerTtlConfig otSrpServerTtlConfig
شامل تنظیمات TTL سرور SRP است.
کارکرد
otSrpClientAddService
otError otSrpClientAddService( otInstance *aInstance, otSrpClientService *aService )
سرویسی را برای ثبت در سرور اضافه می کند.
پس از تماس موفقیت آمیز با این تابع، otSrpClientCallback
برای گزارش وضعیت افزودن/ثبت سرویس با سرور SRP فراخوانی می شود.
نمونه otSrpClientService
که توسط aService
به آن اشاره می شود، باید باقی بماند و پس از بازگشت از این تابع (با OT_ERROR_NONE
) بدون تغییر باقی بماند. OpenThread نشانگر را در نمونه سرویس ذخیره می کند.
نمونه otSrpClientService
دیگر توسط OpenThread ردیابی نمی شود و تنها زمانی می توان آن را بازیابی کرد
- به صراحت با یک فراخوانی به
otSrpClientRemoveService()
حذف می شود یا همراه با سرویس های دیگر با فراخوانی بهotSrpClientRemoveHostAndServices() and only after the
فراخوانی otSrpClientCallback` که نشان می دهد سرویس حذف شده است. یا، - تماسی با
otSrpClientClearHostAndServices()
که میزبان و تمام سرویس های مرتبط را بلافاصله حذف می کند.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
مولفه های |
| ||||||
ارزش های بازگشتی |
|
otSrpClientBuffersAllocateService
otSrpClientBuffersServiceEntry * otSrpClientBuffersAllocateService( otInstance *aInstance )
یک ورودی سرویس جدید را از استخر اختصاص می دهد.
نمونه ورودی سرویس برگشتی به صورت زیر مقداردهی اولیه می شود:
-
mService.mName
به یک بافر رشته اختصاص داده شده اشاره می کند که می تواند با استفاده از تابعotSrpClientBuffersGetServiceEntryServiceNameString()
بازیابی شود. -
mService.mInstanceName
به یک بافر رشته اختصاص داده شده اشاره می کند که می تواند با استفاده از تابعotSrpClientBuffersGetServiceEntryInstanceNameString()
بازیابی شود. -
mService.mSubTypeLabels
به آرایه ای اشاره می کند که ازotSrpClientBuffersGetSubTypeLabelsArray()
برگردانده می شود. -
mService.mTxtEntries
بهmTxtEntry
اشاره می کند. -
mService.mNumTxtEntries
روی یک تنظیم می شود. - سایر فیلدهای
mService
(پورت، اولویت، وزن) روی صفر تنظیم شده اند. -
mTxtEntry.mKey
روی NULL تنظیم شده است (مقدار به صورت کدگذاری شده قبلی در نظر گرفته می شود). -
mTxtEntry.mValue
به یک بافر اختصاص داده شده اشاره می کند که می تواند با استفاده از تابعotSrpClientBuffersGetServiceEntryTxtBuffer()
بازیابی شود. -
mTxtEntry.mValueLength
روی صفر تنظیم شده است. - تمام بافرها و آرایه های داده/رشته مرتبط با صفر پاک می شوند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | یک اشاره گر به ورودی سرویس تازه تخصیص یافته یا NULL اگر ورودی بیشتری در استخر موجود نیست. |
otSrpClientBuffersFreeAllServices
void otSrpClientBuffersFreeAllServices( otInstance *aInstance )
تمام ورودی های خدماتی که قبلاً اختصاص داده شده را آزاد می کند.
جزئیات | |||
---|---|---|---|
مولفه های |
|
otSrpClientBuffersFreeService
void otSrpClientBuffersFreeService( otInstance *aInstance, otSrpClientBuffersServiceEntry *aService )
ورودی سرویس قبلاً اختصاص داده شده را آزاد می کند.
aService
باید قبلاً با استفاده از otSrpClientBuffersAllocateService()
اختصاص داده شود و هنوز آزاد نشده باشد. در غیر این صورت رفتار این تابع تعریف نشده است.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
otSrpClientBuffersGetHostAddressesArray
otIp6Address * otSrpClientBuffersGetHostAddressesArray( otInstance *aInstance, uint8_t *aArrayLength )
آرایه ای از ورودی های آدرس IPv6 را برای استفاده به عنوان لیست آدرس میزبان سرویس گیرنده SRP دریافت می کند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
برمی گرداند | اشاره گر به آرایه ای از ورودی های otIp6Address (تعداد ورودی ها در aArrayLength برگردانده می شود). |
otSrpClientBuffersGetHostNameString
char * otSrpClientBuffersGetHostNameString( otInstance *aInstance, uint16_t *aSize )
بافر رشته ای را برای استفاده از نام میزبان سرویس گیرنده SRP دریافت می کند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
برمی گرداند | یک اشاره گر به بافر char برای استفاده برای نام میزبان سرویس گیرنده SRP. |
otSrpClientBuffersGetServiceEntryInstanceNameString
char * otSrpClientBuffersGetServiceEntryInstanceNameString( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
بافر رشته ای را برای نام نمونه سرویس از ورودی سرویس دریافت می کند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
برمی گرداند | اشاره گر به بافر رشته. |
otSrpClientBuffersGetServiceEntryServiceNameString
char * otSrpClientBuffersGetServiceEntryServiceNameString( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
بافر رشته ای را برای نام سرویس از ورودی سرویس دریافت می کند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
برمی گرداند | اشاره گر به بافر رشته. |
otSrpClientBuffersGetServiceEntryTxtBuffer
uint8_t * otSrpClientBuffersGetServiceEntryTxtBuffer( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
بافر رکورد TXT را از ورودی سرویس دریافت می کند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
برمی گرداند | اشاره گر به بافر |
otSrpClientBuffersGetSubTypeLabelsArray
const char ** otSrpClientBuffersGetSubTypeLabelsArray( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength )
آرایه برچسب های نوع خدمات را از ورودی سرویس دریافت می کند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
برمی گرداند | اشاره گر به آرایه. |
otSrpClientClearHostAndServices
void otSrpClientClearHostAndServices( otInstance *aInstance )
تمام اطلاعات میزبان و همه سرویس ها را پاک می کند.
برخلاف otSrpClientRemoveHostAndServices()
که یک پیام به روز رسانی برای حذف تمام اطلاعات به سرور ارسال می کند، این تابع بلافاصله بدون هیچ گونه تعاملی با سرور، تمام اطلاعات را پاک می کند.
جزئیات | |||
---|---|---|---|
مولفه های |
|
otSrpClientClearService
otError otSrpClientClearService( otInstance *aInstance, otSrpClientService *aService )
یک سرویس را پاک می کند و بلافاصله آن را از لیست خدمات مشتری حذف می کند.
برخلاف otSrpClientRemoveService()
که پیام به روز رسانی را برای حذف سرویس به سرور ارسال می کند، این تابع سرویس را بدون هیچ گونه تعاملی با سرور از لیست سرویس های مشتری پاک می کند. در یک تماس موفقیت آمیز با این تابع، otSrpClientCallback
فراخوانی نمی شود و ورودی aService
می تواند بلافاصله توسط تماس گیرنده بازیابی و دوباره استفاده شود.
می تواند همراه با فراخوانی بعدی به otSrpClientAddService()
(احتمالاً استفاده مجدد از همان ورودی aService
با همان سرویس و نام نمونه) برای به روز رسانی برخی از پارامترها در یک سرویس موجود استفاده شود.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
otSrpClientDisableAutoStartMode
void otSrpClientDisableAutoStartMode( otInstance *aInstance )
حالت شروع خودکار را غیرفعال می کند.
این تنها زمانی در دسترس است که ویژگی شروع خودکار OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
فعال باشد.
غیرفعال کردن حالت شروع خودکار، کلاینت را در صورتی که قبلاً در حال اجرا باشد متوقف نمیکند، اما کلاینت نظارت بر دادههای شبکه Thread را متوقف میکند تا تأیید کند که سرور SRP انتخابی هنوز در آن وجود دارد.
توجه داشته باشید که تماس با otSrpClientStop()
حالت شروع خودکار را نیز غیرفعال می کند.
جزئیات | |||
---|---|---|---|
مولفه های |
|
otSrpClientEnableAutoHostAddress
otError otSrpClientEnableAutoHostAddress( otInstance *aInstance )
حالت خودکار آدرس میزبان را فعال می کند.
وقتی آدرسهای میزبان IPv6 فعال است، بهطور خودکار توسط کلاینت SRP با استفاده از تمام آدرسهای unicast ترجیحی در Thread netif به استثنای همه آدرسهای محلی پیوند و شبکه محلی تنظیم میشوند. اگر آدرس ترجیحی وجود نداشته باشد، آدرس EID محلی Mesh اضافه می شود. سرویس گیرنده SRP زمانی که/اگر آدرسهای Thread netif بهروزرسانی شوند (آدرسهای جدید اضافه شوند یا آدرسهای موجود حذف شوند یا بهعنوان غیر ترجیحی علامتگذاری شوند) بهطور خودکار دوباره ثبتنام میکند.
حالت آدرس میزبان خودکار را می توان قبل از شروع یا در حین کار کلاینت SRP فعال کرد، به جز زمانی که اطلاعات میزبان در حال حذف شدن است (سرویس گیرنده مشغول رسیدگی به درخواست حذف از تماس با otSrpClientRemoveHostAndServices()
است و اطلاعات میزبان همچنان در حالت STATE_TO_REMOVE
یا STATE_REMOVING
است. ).
پس از فعال شدن حالت آدرس میزبان خودکار، میتوان آن را با فراخوانی به otSrpClientSetHostAddresses()
غیرفعال کرد که سپس به صراحت آدرسهای میزبان را تنظیم میکند.
جزئیات | |||||
---|---|---|---|---|---|
ارزش های بازگشتی |
|
otSrpClientEnableAutoStartMode
void otSrpClientEnableAutoStartMode( otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext )
حالت شروع خودکار را فعال می کند.
این تنها زمانی در دسترس است که ویژگی شروع خودکار OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
فعال باشد.
گزینه پیکربندی OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_DEFAULT_MODE
حالت شروع خودکار پیشفرض را مشخص میکند (خواه در ابتدای پشته OT فعال یا غیرفعال شود).
وقتی شروع خودکار فعال باشد، کلاینت SRP دادههای شبکه موضوعی را برای کشف سرورهای SRP و انتخاب سرور ترجیحی نظارت میکند و بهطور خودکار هنگام شناسایی سرور SRP، کلاینت را شروع و متوقف میکند.
سه دسته از ورودی های داده شبکه وجود دارد که نشان دهنده وجود سرور SRP است. آنها به ترتیب زیر ترجیح داده می شوند:
1) ورودی های unicast ترجیحی که آدرس سرور در داده های سرویس گنجانده شده است. اگر چندین گزینه وجود داشته باشد، گزینه ای با کمترین آدرس IPv6 از نظر عددی ترجیح داده می شود.
2) ورودی های Anycast که هر کدام یک شماره دنباله دارند. یک عدد دنباله بزرگتر به معنای مشخص شده توسط منطق حسابی شماره سریال در RFC-1982 جدیدتر در نظر گرفته می شود و بنابراین ترجیح داده می شود. اگر به خوبی تعریف شده باشد (یعنی عدد دنباله بزرگتر از همه اعداد دنباله دیگر باشد) بزرگترین عدد دنباله با استفاده از محاسبات شماره سریال ترجیح داده می شود. اگر به خوبی تعریف نشده باشد، از نظر عددی بزرگترین عدد دنباله ترجیح داده می شود.
3) ورودی های Unicast که در آن اطلاعات آدرس سرور در داده های سرور گنجانده شده است. اگر چندین گزینه وجود داشته باشد، گزینه ای با کمترین آدرس IPv6 از نظر عددی ترجیح داده می شود.
هنگامی که در ورودی های داده های شبکه تغییری ایجاد می شود، کلاینت بررسی می کند که سرور انتخاب شده در حال حاضر همچنان در داده های شبکه وجود دارد و همچنان ترجیح داده می شود. در غیر این صورت کلاینت به سرور ترجیحی جدید سوئیچ می کند یا اگر وجود نداشته باشد متوقف می شود.
هنگامی که کلاینت SRP به صراحت از طریق یک فراخوانی موفقیت آمیز به otSrpClientStart()
شروع می شود، آدرس سرور SRP داده شده در otSrpClientStart()
صرف نظر از وضعیت حالت شروع خودکار و اینکه آیا همان آدرس سرور SRP کشف شده است یا نه، همچنان استفاده می شود. در Thread Network Data. در این مورد، فقط یک فراخوانی واضح otSrpClientStop()
کلاینت را متوقف می کند.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
مولفه های |
|
otSrpClientGetDomainName
const char * otSrpClientGetDomainName( otInstance *aInstance )
نام دامنه مورد استفاده توسط مشتری SRP را دریافت می کند.
برای فعال کردن OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE
نیاز دارد.
اگر نام دامنه تنظیم نشده باشد، از "default.service.arpa" استفاده می شود.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | رشته نام دامنه |
otSrpClientGetHostInfo
const otSrpClientHostInfo * otSrpClientGetHostInfo( otInstance *aInstance )
اطلاعات میزبان را دریافت می کند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | اشاره گر به ساختار اطلاعات میزبان. |
otSrpClientGetKeyLeaseInterval
uint32_t otSrpClientGetKeyLeaseInterval( otInstance *aInstance )
فاصله اجاره کلید پیشفرض مورد استفاده در درخواستهای بهروزرسانی SRP را دریافت میکند.
فاصله پیشفرض فقط برای نمونههای otSrpClientService
با mKeyLease
روی صفر استفاده میشود.
توجه داشته باشید که این مدت اجاره درخواست شده توسط مشتری SRP است. سرور ممکن است انتخاب کند که فاصله اجاره متفاوتی را بپذیرد.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | فاصله اجاره کلید (بر حسب ثانیه). |
otSrpClientGetLeaseInterval
uint32_t otSrpClientGetLeaseInterval( otInstance *aInstance )
فاصله اجاره پیشفرض مورد استفاده در درخواستهای بهروزرسانی SRP را دریافت میکند.
فاصله پیشفرض فقط برای نمونههای otSrpClientService
با mLease
روی صفر استفاده میشود.
توجه داشته باشید که این مدت اجاره درخواست شده توسط مشتری SRP است. سرور ممکن است انتخاب کند که فاصله اجاره متفاوتی را بپذیرد.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | فاصله اجاره (بر حسب ثانیه). |
otSrpClientGetServerAddress
const otSockAddr * otSrpClientGetServerAddress( otInstance *aInstance )
آدرس سوکت (آدرس IPv6 و شماره پورت) سرور SRP را که توسط کلاینت SRP استفاده می شود، دریافت می کند.
اگر کلاینت در حال اجرا نباشد، آدرس نامشخص (همه صفر) با شماره پورت صفر است.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | اشاره گر به آدرس سوکت سرور SRP (همیشه غیر NULL است). |
otSrpClientGetServices
const otSrpClientService * otSrpClientGetServices( otInstance *aInstance )
لیست خدماتی را که توسط مشتری مدیریت می شود دریافت می کند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | اشاره گر به سر فهرست پیوندی همه سرویس ها یا NULL اگر لیست خالی باشد. |
otSrpClientGetTtl
uint32_t otSrpClientGetTtl( otInstance *aInstance )
مقدار TTL را در هر رکورد موجود در درخواستهای بهروزرسانی SRP دریافت میکند.
توجه داشته باشید که این TTL درخواستی مشتری SRP است. سرور ممکن است انتخاب کند که TTL متفاوتی را بپذیرد.
به طور پیش فرض، TTL برابر با فاصله اجاره خواهد بود. عبور 0 یا مقداری بزرگتر از فاصله اجاره از طریق otSrpClientSetTtl()
نیز باعث می شود که TTL با فاصله اجاره برابری کند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | TTL (در چند ثانیه). |
otSrpClientIsAutoStartModeEnabled
bool otSrpClientIsAutoStartModeEnabled( otInstance *aInstance )
وضعیت فعلی حالت شروع خودکار (فعال یا غیرفعال) را نشان می دهد.
این تنها زمانی در دسترس است که ویژگی شروع خودکار OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
فعال باشد.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | اگر حالت شروع خودکار فعال باشد درست است، در غیر این صورت نادرست است. |
otSrpClientIsRunning
bool otSrpClientIsRunning( otInstance *aInstance )
نشان می دهد که آیا کلاینت SRP در حال اجرا است یا خیر.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | اگر کلاینت SRP در حال اجرا باشد درست است، در غیر این صورت نادرست است. |
otSrpClientIsServiceKeyRecordEnabled
bool otSrpClientIsServiceKeyRecordEnabled( otInstance *aInstance )
نشان می دهد که آیا حالت "شامل رکورد کلید سرویس" فعال یا غیرفعال است.
زمانی در دسترس است که پیکربندی OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
فعال باشد.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | اگر حالت «شامل رکورد کلید سرویس» فعال باشد درست است، در غیر این صورت نادرست است. |
otSrpClientItemStateToString
const char * otSrpClientItemStateToString( otSrpClientItemState aItemState )
یک otSrpClientItemState
را به یک رشته تبدیل می کند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | یک نمایش رشته ای از aItemState . |
otSrpClientRemoveHostAndServices
otError otSrpClientRemoveHostAndServices( otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer )
فرآیند حذف اطلاعات میزبان و همه سرویس ها را شروع می کند.
پس از بازگشت از این تابع، otSrpClientCallback
برای گزارش وضعیت درخواست حذف با سرور SRP فراخوانی می شود.
اگر قرار است اطلاعات میزبان برای همیشه از سرور حذف شود، aRemoveKeyLease
باید روی true
تنظیم شود که اجاره کلید مرتبط با میزبان روی سرور را حذف می کند. در غیر این صورت، رکورد اجاره کلید مانند قبل نگهداری می شود، که تضمین می کند که سرور نام میزبان را برای زمانی که مشتری بتواند یک بار دیگر سرویس(های) خود را ارائه و ثبت کند، ذخیره می کند.
aSendUnregToServer
رفتار زمانی که اطلاعات میزبان هنوز در سرور ثبت نشده است را تعیین می کند. اگر aSendUnregToServer
روی false
تنظیم شود (که مقدار پیشفرض/مورد انتظار است)، مشتری SRP بلافاصله اطلاعات و سرویسهای میزبان را بدون ارسال پیام بهروزرسانی به سرور حذف میکند (اگر هنوز چیزی در سرور ثبت نشده است، نیازی به بهروزرسانی سرور نیست). اگر aSendUnregToServer
روی true
تنظیم شود، سرویس گیرنده SRP یک پیام به روز رسانی به سرور ارسال می کند. توجه داشته باشید که اگر اطلاعات میزبان ثبت شده باشد، مقدار aSendUnregToServer
اهمیتی ندارد و سرویس گیرنده SRP همیشه یک پیام به روز رسانی به سرور ارسال می کند و درخواست حذف تمام اطلاعات را می دهد.
یکی از موقعیتهایی که aSendUnregToServer
میتواند مفید باشد، در هنگام راهاندازی مجدد/راهاندازی مجدد دستگاه است، تماسگیرنده ممکن است بخواهد هر سرویسی که قبلاً در سرور ثبت شده است را حذف کند. در این حالت، تماسگیرنده میتواند otSrpClientSetHostName()
و سپس otSrpClientRemoveHostAndServices()
با aSendUnregToServer
به عنوان true
درخواست کند.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
مولفه های |
| ||||||
ارزش های بازگشتی |
|
otSrpClientRemoveService
otError otSrpClientRemoveService( otInstance *aInstance, otSrpClientService *aService )
درخواست می کند یک سرویس در سرور لغو ثبت شود.
پس از تماس موفقیت آمیز با این تابع، otSrpClientCallback
برای گزارش وضعیت درخواست حذف با سرور SRP فراخوانی می شود.
نمونه otSrpClientService
که توسط aService
به آن اشاره می شود، باید باقی بماند و پس از بازگشت از این تابع (با OT_ERROR_NONE
) بدون تغییر باقی بماند. OpenThread نمونه سرویس را در طول فرآیند حذف نگه می دارد. فقط پس از فراخوانی otSrpClientCallback
که نشان میدهد نمونه سرویس از لیست سرویس سرویس گیرنده SRP حذف شده و میتواند آزاد/استفاده مجدد شود.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
otSrpClientSetCallback
void otSrpClientSetCallback( otInstance *aInstance, otSrpClientCallback aCallback, void *aContext )
تماس برگشتی را برای اطلاع تماس گیرنده از رویدادها/تغییرات از سرویس گیرنده SRP تنظیم می کند.
کلاینت SRP اجازه می دهد تا یک تماس برگشتی ثبت شود. بنابراین فراخوانی های متوالی به این تابع، هر توابع برگشت به تماس قبلی تنظیم شده را بازنویسی می کند.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
مولفه های |
|
otSrpClientSetDomainName
otError otSrpClientSetDomainName( otInstance *aInstance, const char *aName )
نام دامنه را برای استفاده توسط مشتری SRP تنظیم می کند.
برای فعال کردن OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE
نیاز دارد.
اگر تنظیم نشده باشد، از "default.service.arpa" استفاده می شود.
بافر رشته نامی که توسط aName
به آن اشاره شده است باید باقی بماند و پس از بازگشت از این تابع بدون تغییر باقی بماند. OpenThread نشانگر را روی رشته نگه می دارد.
نام دامنه را می توان قبل از شروع مشتری یا بعد از شروع، اما قبل از ثبت اطلاعات میزبان در سرور تنظیم کرد (اطلاعات میزبان باید در STATE_TO_ADD
یا STATE_TO_REMOVE
باشد).
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
otsrpclientsethostaddresses
otError otSrpClientSetHostAddresses( otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses )
لیست/به روزرسانی لیست آدرس IPv6 میزبان.
آدرس های IPv6 میزبان را می توان قبل از شروع یا در حین عملکرد SRP Client (به عنوان مثال اضافه کردن/حذف یا تغییر آدرس میزبان قبلاً ثبت شده) تنظیم و تغییر داد ، به جز زمانی که اطلاعات میزبان حذف می شود (مشتری مشغول انجام درخواست حذف از قبل است با otSrpClientRemoveHostAndServices()
تماس بگیرید و اطلاعات میزبان هنوز هم در حالت های STATE_TO_REMOVE
یا STATE_REMOVING
وجود دارد).
آرایه آدرس IPv6 میزبان که توسط aIp6Addresses
به آن اشاره شده است ، باید پس از بازگشت از این عملکرد (با OT_ERROR_NONE
) بدون تغییر باقی بماند و بدون تغییر باقی بماند. Openthread نشانگر را در آرایه ذخیره می کند.
پس از یک تماس موفقیت آمیز به این عملکرد ، otSrpClientCallback
فراخوانی می شود تا وضعیت ثبت آدرس را با سرور SRP گزارش دهد.
تماس با این عملکرد اگر قبلاً از یک تماس موفق به otSrpClientEnableAutoHostAddress()
فعال شده بود ، حالت آدرس میزبان خودکار را غیرفعال می کند.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
مولفه های |
| ||||||
ارزش های بازگشتی |
|
otsrpclientsethostname
otError otSrpClientSetHostName( otInstance *aInstance, const char *aName )
برچسب نام میزبان را تنظیم می کند.
پس از یک تماس موفقیت آمیز به این عملکرد ، otSrpClientCallback
برای گزارش وضعیت ثبت اطلاعات میزبان با سرور SRP فراخوانی می شود.
نام بافر رشته ای که توسط aName
به آن اشاره شده است باید پس از بازگشت از این عملکرد بدون تغییر باقی بماند. Openthread نشانگر را به رشته نگه می دارد.
نام میزبان را می توان قبل از شروع یا شروع مشتری تنظیم کرد اما قبل از ثبت اطلاعات میزبان با سرور (اطلاعات میزبان باید در هر دو STATE_TO_ADD
یا STATE_REMOVED
باشد).
جزئیات | |||||||
---|---|---|---|---|---|---|---|
مولفه های |
| ||||||
ارزش های بازگشتی |
|
OTSRPClientsetKeyLeaseVal
void otSrpClientSetKeyLeaseInterval( otInstance *aInstance, uint32_t aInterval )
فاصله اجاره کلید پیش فرض مورد استفاده در درخواست های بروزرسانی SRP را تنظیم می کند.
فاصله پیش فرض فقط برای موارد otSrpClientService
با mKeyLease
روی صفر استفاده می شود.
تغییر بازه اجاره بر بازه اجاره نامه پذیرفته شده خدمات/میزبان-Info که قبلاً ثبت شده اند تأثیر نمی گذارد. این فقط پیام های به روزرسانی SRP آینده را تحت تأثیر قرار می دهد (یعنی اضافه کردن خدمات جدید و/یا تازه کردن خدمات موجود).
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
OTSRPClientsetLeaseInterval
void otSrpClientSetLeaseInterval( otInstance *aInstance, uint32_t aInterval )
فاصله اجاره پیش فرض مورد استفاده در درخواست های بروزرسانی SRP را تنظیم می کند.
فاصله پیش فرض فقط برای نمونه های otSrpClientService
با mLease
تنظیم شده به صفر استفاده می شود.
تغییر بازه اجاره بر بازه اجاره نامه پذیرفته شده خدمات/میزبان-Info که قبلاً ثبت شده اند تأثیر نمی گذارد. این فقط بر پیام های بروزرسانی SRP در آینده تأثیر می گذارد (یعنی اضافه کردن خدمات جدید و/یا تازه کردن خدمات موجود).
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
OTSRPClientsEtServiceKeyRecordenabled
void otSrpClientSetServiceKeyRecordEnabled( otInstance *aInstance, bool aEnabled )
حالت "سرویس ورود به سیستم کلید" را فعال و غیرفعال می کند.
در صورت فعال بودن ، SRP Client شامل ضبط کلیدی در دستورالعمل های توضیحات خدمات در پیام های به روزرسانی SRP است که ارسال می کند.
در صورت فعال شدن OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
در دسترس است.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
otsrpclientsetttl
void otSrpClientSetTtl( otInstance *aInstance, uint32_t aTtl )
مقدار TTL را در هر رکورد موجود در درخواست های بروزرسانی SRP تنظیم می کند.
تغییر TTL بر TTL سرویس های ثبت شده/Host-Info تأثیر نمی گذارد. این فقط بر پیام های بروزرسانی SRP آینده تأثیر می گذارد (یعنی اضافه کردن خدمات جدید و/یا تازه کردن خدمات موجود).
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
otsrpclientStart
otError otSrpClientStart( otInstance *aInstance, const otSockAddr *aServerSockAddr )
عملکرد مشتری SRP را شروع می کند.
مشتری SRP پس از تحقق همه شرایط زیر ، پیام "بروزرسانی SRP" را به سرور SRP تهیه و ارسال می کند:
- مشتری SRP شروع می شود -
otSrpClientStart()
نامیده می شود. - نام میزبان تنظیم شده است -
otSrpClientSetHostName()
نامیده می شود. - حداقل یک آدرس IPv6 میزبان تنظیم شده است -
otSrpClientSetHostName()
نامیده می شود. - حداقل یک سرویس اضافه می شود -
otSrpClientAddService()
نامیده می شود.
فرقی نمی کند که این توابع به کدام ترتیب خوانده شوند. هنگامی که همه شرایط برآورده شد ، مشتری SRP قبل از تهیه پیام "بروزرسانی SRP" و ارسال آن به سرور منتظر تأخیر کوتاه خواهد بود. این تأخیر به کاربر اجازه می دهد تا قبل از ارسال اولین پیام به روزرسانی SRP ، چندین سرویس و/یا آدرس IPv6 را اضافه کند (اطمینان از ارسال یک بروزرسانی SRP منفرد شامل کلیه اطلاعات). پیکربندی OPENTHREAD_CONFIG_SRP_CLIENT_UPDATE_TX_DELAY
فاصله تأخیر را مشخص می کند.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
مولفه های |
| ||||||
ارزش های بازگشتی |
|
otsrpclientstop
void otSrpClientStop( otInstance *aInstance )
عملکرد مشتری SRP را متوقف می کند.
تعامل بیشتر با سرور SRP متوقف می شود. توجه داشته باشید که اطلاعات میزبان و/یا لیست خدمات را حذف یا پاک نمی کند. پس از شروع مشتری (دوباره) ، تمام خدمات را برای اضافه شدن/حذف مجدد نشان می دهد.
جزئیات | |||
---|---|---|---|
مولفه های |
|
OTSRPSerVergetAddressMode
otSrpServerAddressMode otSrpServerGetAddressMode( otInstance *aInstance )
حالت آدرس را که توسط سرور SRP استفاده می شود ، برمی گرداند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | حالت آدرس سرور SRP. |
otsrpservergetanycastmodesequencenumber
uint8_t otSrpServerGetAnycastModeSequenceNumber( otInstance *aInstance )
شماره توالی مورد استفاده را با حالت آدرس Anycast برمی گرداند.
شماره دنباله در "DNS/SRP Service Anycast Address" وارد شده است که در داده های شبکه منتشر شده است.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | شماره دنباله Anycast. |
otsrpservergetdomain
const char * otSrpServerGetDomain( otInstance *aInstance )
دامنه مجاز به سرور SRP را برمی گرداند.
اگر دامنه اگر توسط SetDomain تنظیم نشده باشد ، "Default.Service.Arpa". بازگردانده خواهد شد. یک نقطه دنباله همیشه ضمیمه می شود حتی اگر دامنه بدون آن تنظیم شود.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | یک اشاره گر به رشته دامنه نقطه ای. |
otsrpservergetleaseconfig
void otSrpServerGetLeaseConfig( otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig )
تنظیمات اجاره سرور SRP و تنظیمات اجاره کلید را برمی گرداند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
otsrpservergetNexThost
const otSrpServerHost * otSrpServerGetNextHost( otInstance *aInstance, const otSrpServerHost *aHost )
میزبان ثبت شده بعدی را در سرور SRP برمی گرداند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
برمی گرداند | یک اشاره گر به میزبان ثبت شده. NULL ، اگر میزبان بیشتری پیدا نشود. |
otsrpservergetport
uint16_t otSrpServerGetPort( otInstance *aInstance )
پورت را که سرور SRP در حال گوش دادن است ، برمی گرداند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | درگاه سرور SRP. اگر سرور در حال اجرا نباشد ، 0 را برمی گرداند. |
OTSRPSERVERGETRESPONSECONTERS
const otSrpServerResponseCounters * otSrpServerGetResponseCounters( otInstance *aInstance )
پیشخوان های پاسخ سرور SRP را برمی گرداند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | اشاره گر به پیشخوان های پاسخ سرور SRP. |
otsrpservergetstate
otSrpServerState otSrpServerGetState( otInstance *aInstance )
وضعیت سرور SRP را برمی گرداند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | وضعیت فعلی سرور SRP. |
otsrpservergetttlconfig
void otSrpServerGetTtlConfig( otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig )
پیکربندی TTL سرور SRP را برمی گرداند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
otsrpserverhandleserviceupdateresult
void otSrpServerHandleServiceUpdateResult( otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError )
نتیجه پردازش به روزرسانی SRP را به سرور SRP گزارش می دهد.
سرویس دهنده به روزرسانی سرویس باید با این عملکرد تماس بگیرد تا نتیجه پردازش آن از بروزرسانی SRP را برگرداند.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
مولفه های |
|
OtsrpserverhostgetAddresses
const otIp6Address * otSrpServerHostGetAddresses( const otSrpServerHost *aHost, uint8_t *aAddressesNum )
آدرس های میزبان داده شده را برمی گرداند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
برمی گرداند | یک اشاره گر به آرایه آدرس IPv6. |
otsrpserverhostgetfullname
const char * otSrpServerHostGetFullName( const otSrpServerHost *aHost )
نام کامل میزبان را برمی گرداند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | یک اشاره گر به رشته نام میزبان خاتمه یافته. |
otsrpserverhostgetleaseinfo
void otSrpServerHostGetLeaseInfo( const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo )
اطلاعات اجاره نامه و کلیدی یک میزبان معین را برمی گرداند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
OTSRPSERVERHOSTGETNEXTService
const otSrpServerService * otSrpServerHostGetNextService( const otSrpServerHost *aHost, const otSrpServerService *aService )
سرویس بعدی میزبان داده شده را برمی گرداند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
برمی گرداند | اگر خدمات دیگری وجود نداشته باشد ، اشاره گر به سرویس بعدی یا تهی است. |
otsrpserverhostiseleted
bool otSrpServerHostIsDeleted( const otSrpServerHost *aHost )
می گوید آیا میزبان سرویس SRP حذف شده است یا خیر.
یک میزبان سرویس SRP می تواند حذف شود اما نام خود را برای مصارف آینده حفظ می کند. در این حالت ، نمونه میزبان از سرور/رجیستری SRP حذف نمی شود.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | درست است اگر میزبان حذف شده باشد ، اگر نه. |
otsrpserverhostmatchesfullname
bool otSrpServerHostMatchesFullName( const otSrpServerHost *aHost, const char *aFullName )
نشان می دهد که آیا میزبان با نام میزبان مشخص مطابقت دارد یا خیر.
مسابقات نام DNS با استفاده از یک مقایسه رشته ای حساس انجام می شود (یعنی "ABC" و "ABC" یکسان در نظر گرفته می شوند).
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
otsrpserverisautoenablemode
bool otSrpServerIsAutoEnableMode( otInstance *aInstance )
نشان می دهد که آیا حالت فعال خودکار فعال است یا غیرفعال است.
به ویژگی OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE
نیاز دارد.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
otsrpserverparsesesubtypeservicename
otError otSrpServerParseSubTypeServiceName( const char *aSubTypeServiceName, char *aLabel, uint8_t aLabelSize )
یک نام سرویس زیر (نام کامل) را تجزیه می کند و برچسب زیر نوع را استخراج می کند.
نام کامل سرویس برای یک سرویس زیر از نوع زیر است "
جزئیات | |||||||
---|---|---|---|---|---|---|---|
مولفه های |
| ||||||
ارزش های بازگشتی |
|
Otsrpserverservicegethost
const otSrpServerHost * otSrpServerServiceGetHost( const otSrpServerService *aService )
میزبان را که نمونه خدمات در آن قرار دارد ، برمی گرداند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | یک اشاره گر به نمونه میزبان. |
otsrpserverservicegetinstancelabel
const char * otSrpServerServiceGetInstanceLabel( const otSrpServerService *aService )
برچسب خدمات (برچسب اول به عنوان مثال نام) سرویس را برمی گرداند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | یک اشاره گر به رشته برچسب خدمات تهی شده تهی .. |
otsrpserverservicegetinstancename
const char * otSrpServerServiceGetInstanceName( const otSrpServerService *aService )
نام نمونه خدمات کامل سرویس را برمی گرداند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | یک اشاره گر به رشته نام نمونه سرویس تهی شده. |
otsrpserverservicegetleaseinfo
void otSrpServerServiceGetLeaseInfo( const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo )
اطلاعات اجاره و کلیدی یک سرویس معین را برمی گرداند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
otsrpserverservicegetnumberofsubtypes
uint16_t otSrpServerServiceGetNumberOfSubTypes( const otSrpServerService *aService )
تعداد زیر انواع سرویس را دریافت می کند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | تعداد زیر انواع aService . |
OTSRPSerVerserviceGetport
uint16_t otSrpServerServiceGetPort( const otSrpServerService *aService )
بندر خدمات را برمی گرداند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | بندر سرویس. |
OTSRPSerVerserviceGetPriority
uint16_t otSrpServerServiceGetPriority( const otSrpServerService *aService )
اولویت نمونه خدمات را برمی گرداند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | اولویت خدمات. |
otsrpserverservicegetservicename
const char * otSrpServerServiceGetServiceName( const otSrpServerService *aService )
نام کامل سرویس سرویس را برمی گرداند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | یک اشاره گر به رشته نام سرویس خاتمه یافته. |
otsrpserverservicegetsubtypeservicenameat
const char * otSrpServerServiceGetSubTypeServiceNameAt( const otSrpServerService *aService, uint16_t aIndex )
نام سرویس زیر (نام کامل) سرویس را در یک فهرست معین دریافت می کند.
نام کامل سرویس برای یک سرویس زیر از نوع زیر است "
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
برمی گرداند | یک نشانگر به نام خدمات زیر از نوع در aIndex ، یا NULL در صورت عدم نوع زیر در این فهرست. |
OTSRPSERVERSERVICEGETTTL
uint32_t otSrpServerServiceGetTtl( const otSrpServerService *aService )
TTL نمونه خدمات را برمی گرداند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | TTL نمونه خدمات .. |
otsrpserverservicegettxtdata
const uint8_t * otSrpServerServiceGetTxtData( const otSrpServerService *aService, uint16_t *aDataLength )
داده های ضبط TXT نمونه سرویس را برمی گرداند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
برمی گرداند | یک اشاره گر به بافر حاوی داده های ضبط TXT (طول داده TXT در aDataLength بازگردانده می شود). |
OTSRPSERVERSERVICEGETE
uint16_t otSrpServerServiceGetWeight( const otSrpServerService *aService )
وزن نمونه خدمات را برمی گرداند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | وزن خدمات. |
نام تجاری
bool otSrpServerServiceHasSubTypeServiceName( const otSrpServerService *aService, const char *aSubTypeServiceName )
نشان می دهد که آیا این سرویس دارای یک نوع زیر است یا خیر.
مسابقات نام DNS با استفاده از یک مقایسه رشته ای حساس انجام می شود (یعنی "ABC" و "ABC" یکسان در نظر گرفته می شوند).
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
OTSRPSerVerserviceSeleted
bool otSrpServerServiceIsDeleted( const otSrpServerService *aService )
نشان می دهد که آیا سرویس SRP حذف شده است یا خیر.
یک سرویس SRP قابل حذف است اما نام خود را برای مصارف آینده حفظ می کند. در این حالت ، نمونه خدمات از سرور/رجیستری SRP حذف نمی شود. تضمین شده است که در صورت حذف میزبان ، کلیه خدمات حذف می شوند.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | درست است اگر سرویس حذف شده باشد ، اگر نه. |
نام تجاری
bool otSrpServerServiceMatchesInstanceName( const otSrpServerService *aService, const char *aInstanceName )
نشان می دهد که آیا این سرویس با یک نام نمونه خدمات مشخص مطابقت دارد یا خیر.
مسابقات نام DNS با استفاده از یک مقایسه رشته ای حساس انجام می شود (یعنی "ABC" و "ABC" یکسان در نظر گرفته می شوند).
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
نام تجاری
bool otSrpServerServiceMatchesServiceName( const otSrpServerService *aService, const char *aServiceName )
نشان می دهد که آیا این سرویس با نام سرویس مشخص مطابقت دارد یا خیر.
مسابقات نام DNS با استفاده از یک مقایسه رشته ای حساس انجام می شود (یعنی "ABC" و "ABC" یکسان در نظر گرفته می شوند).
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
OTSRPSERVERSETADDRESSMODE
otError otSrpServerSetAddressMode( otInstance *aInstance, otSrpServerAddressMode aMode )
حالت آدرس را تنظیم می کند که توسط سرور SRP استفاده شود.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
otsrpserversetanycastmodesequencenumber
otError otSrpServerSetAnycastModeSequenceNumber( otInstance *aInstance, uint8_t aSequenceNumber )
شماره توالی مورد استفاده را با حالت آدرس Anycast تنظیم می کند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
OTSRPSerVerseTautoEnableMode
void otSrpServerSetAutoEnableMode( otInstance *aInstance, bool aEnabled )
حالت فعال خودکار را در سرور SRP فعال و غیرفعال می کند.
به ویژگی OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE
نیاز دارد.
هنگامی که این حالت فعال شد ، مدیر مسیریابی مرزی کنترل می کند که آیا/چه زمانی سرور SRP را فعال یا غیرفعال می کند. SRP SEVER در صورت شروع مسیریابی مرزی به صورت خودکار فعال می شود و با پیشوند اولیه و تنظیمات مسیر انجام می شود (هنگامی که پیشوندهای OMR و لینک مشخص می شوند ، در پیام تبلیغات روتر منتشر شده در سمت زیرساخت ها تبلیغ می شوند و در موضوع منتشر می شوند داده های شبکه). سرور SRP در صورت متوقف شدن/هنگامی که BR متوقف شود ، به صورت خودکار در معرض خطر قرار می گیرد (به عنوان مثال ، اگر رابط شبکه زیرساخت پایین بیاید یا اگر BR جدا شود).
این حالت را می توان با یک تماس otSrpServerSetAutoEnableMode()
با aEnabled
تنظیم شده روی false
یا اگر سرور SRP صریحاً با یک تماس به otSrpServerSetEnabled()
فعال یا غیرفعال شده است ، غیرفعال کرد. غیرفعال کردن حالت فعال خودکار با استفاده از otSrpServerSetAutoEnableMode(false)
وضعیت فعلی SRP Sever را تغییر نمی دهد (به عنوان مثال ، در صورت فعال بودن آن فعال می شود).
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
otsrpserversetdomain
otError otSrpServerSetDomain( otInstance *aInstance, const char *aDomain )
دامنه را روی سرور SRP تنظیم می کند.
اگر در حال حاضر در آنجا نباشد ، یک نقطه دنباله دار به aDomain
اضافه می شود. فقط قبل از فعال شدن سرور SRP باید فراخوانی شود.
جزئیات | |||||||||
---|---|---|---|---|---|---|---|---|---|
مولفه های |
| ||||||||
ارزش های بازگشتی |
|
otsrpserversetenabled
void otSrpServerSetEnabled( otInstance *aInstance, bool aEnabled )
سرور SRP را فعال/غیرفعال می کند.
در یک روتر مرزی ، توصیه می شود به جای آن otSrpServerSetAutoEnableMode()
استفاده کنید.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
otsrpserversetleaseconfig
otError otSrpServerSetLeaseConfig( otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig )
تنظیمات اجاره سرور SRP و تنظیمات اجاره کلید را تنظیم می کند.
هنگامی که زمان اجاره غیر صفر از مشتری درخواست می شود ، مقدار اعطا شده در محدوده محدود خواهد شد [Aminlease ، Amaxlease]. و یک اجاره کلید غیر صفر در محدوده [Aminkeylease ، Amaxkeylease] اعطا می شود. برای اجاره صفر یا زمان اجاره کلید ، صفر اعطا می شود.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
OTSRPSERVERSESESSERVICEUPDateHandler
void otSrpServerSetServiceUpdateHandler( otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext )
سرویس دهنده SRP را به روزرسانی در سرور SRP تنظیم می کند.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
مولفه های |
|
otsrpserversetttlconfig
otError otSrpServerSetTtlConfig( otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig )
تنظیمات سرور SRP TTL را تنظیم می کند.
TTL اعطا شده همیشه از حداکثر بازه اجاره پیکربندی شده از طریق otSrpServerSetLeaseConfig()
، صرف نظر از حداقل و حداکثر پیکربندی TTL نخواهد بود.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
منابع
موضوعات مرجع OpenThread API از کد منبع موجود در GitHub سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.