trang kết quả tìm kiếm
Mô-đun này bao gồm các hàm kiểm soát hành vi của ứng dụng SRP.
Tóm tắt
Mô-đun này bao gồm các chức năng của Giao thức đăng ký dịch vụ.
Mô-đun này bao gồm các hàm dành cho vùng đệm ứng dụng SRP và nhóm dịch vụ.
Các hàm trong mô-đun này chỉ có sẵn khi đã bật tính năng cảnh open trưng_CONFIG_SRP_CLIENT_BUFFERS_ENABLE.
Bảng liệt kê |
|
---|---|
otSrpClientItemState{
|
enum Chỉ định trạng thái của mục máy khách SRP (thông tin dịch vụ hoặc máy chủ). |
otSrpServerAddressMode{
|
enum Đại diện cho chế độ địa chỉ mà máy chủ SRP sử dụng. |
otSrpServerState{
|
enum Biểu thị trạng thái của máy chủ SRP. |
Typedef |
|
---|---|
otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext)
|
typedefvoid(*
Loại con trỏ xác định lệnh gọi lại mà ứng dụng SRP sử dụng để thông báo cho người dùng khi quá trình này tự động bắt đầu hoặc dừng. |
otSrpClientBuffersServiceEntry
|
typedef Đại diện cho một mục nhập trong nhóm dịch vụ ứng dụng SRP. |
otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext)
|
typedefvoid(*
Loại con trỏ xác định lệnh gọi lại mà ứng dụng SRP sử dụng để thông báo cho người dùng về các thay đổi/sự kiện/lỗi. |
otSrpClientHostInfo
|
typedefstruct otSrpClientHostInfo
Đại diện cho thông tin máy chủ lưu trữ ứng dụng SRP. |
otSrpClientService
|
typedefstruct otSrpClientService
Đại diện cho dịch vụ ứng dụng SRP. |
otSrpServerAddressMode
|
typedef Đại diện cho chế độ địa chỉ mà máy chủ SRP sử dụng. |
otSrpServerHost
|
typedefstruct otSrpServerHost
Loại không rõ ràng này đại diện cho một máy chủ dịch vụ SRP. |
otSrpServerLeaseConfig
|
typedefstruct otSrpServerLeaseConfig
Bao gồm cấu hình LEASE và KEY-LEASE cho máy chủ SRP. |
otSrpServerLeaseInfo
|
typedefstruct otSrpServerLeaseInfo
Bao gồm thông tin cho thuê máy chủ SRP của một máy chủ lưu trữ/dịch vụ. |
otSrpServerResponseCounters
|
typedefstruct otSrpServerResponseCounters
Bao gồm số liệu thống kê về các phản hồi của máy chủ SRP. |
otSrpServerService
|
typedefstruct otSrpServerService
Loại không rõ ràng này đại diện cho dịch vụ SRP. |
otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext)
|
typedefvoid(*
Xử lý các bản cập nhật dịch vụ SRP. |
otSrpServerServiceUpdateId
|
typedefuint32_t
Mã của giao dịch cập nhật dịch vụ SRP trên Máy chủ SRP. |
otSrpServerTtlConfig
|
typedefstruct otSrpServerTtlConfig
Bao gồm cả cấu hình TTL của máy chủ SRP. |
Hàm |
|
---|---|
otSrpClientAddService(otInstance *aInstance, otSrpClientService *aService)
|
Thêm một dịch vụ để được đăng ký với máy chủ.
|
otSrpClientBuffersAllocateService(otInstance *aInstance)
|
Phân bổ một mục nhập dịch vụ mới từ nhóm.
|
otSrpClientBuffersFreeAllServices(otInstance *aInstance)
|
void
Giải phóng tất cả các mục nhập dịch vụ đã phân bổ trước đó.
|
otSrpClientBuffersFreeService(otInstance *aInstance, otSrpClientBuffersServiceEntry *aService)
|
void
Giải phóng một mục dịch vụ được phân bổ trước đó.
|
otSrpClientBuffersGetHostAddressesArray(otInstance *aInstance, uint8_t *aArrayLength)
|
Lấy dãy mục nhập địa chỉ IPv6 để dùng làm danh sách địa chỉ máy chủ SRP.
|
otSrpClientBuffersGetHostNameString(otInstance *aInstance, uint16_t *aSize)
|
char *
Lấy vùng đệm chuỗi để dùng cho tên máy chủ lưu trữ ứng dụng SRP.
|
otSrpClientBuffersGetServiceEntryInstanceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
|
char *
Lấy vùng đệm chuỗi cho tên thực thể dịch vụ từ một mục nhập dịch vụ.
|
otSrpClientBuffersGetServiceEntryServiceNameString(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
|
char *
Lấy vùng đệm chuỗi cho tên dịch vụ từ một mục nhập dịch vụ.
|
otSrpClientBuffersGetServiceEntryTxtBuffer(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize)
|
uint8_t *
Lấy vùng đệm cho bản ghi TXT từ một mục nhập dịch vụ.
|
otSrpClientBuffersGetSubTypeLabelsArray(otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength)
|
const char **
Lấy mảng cho các nhãn loại dịch vụ phụ từ mục nhập dịch vụ.
|
otSrpClientClearHostAndServices(otInstance *aInstance)
|
void
Xoá mọi thông tin về máy chủ và mọi dịch vụ.
|
otSrpClientClearService(otInstance *aInstance, otSrpClientService *aService)
|
Xoá một dịch vụ, ngay lập tức xoá dịch vụ đó khỏi danh sách dịch vụ khách hàng.
|
otSrpClientDisableAutoStartMode(otInstance *aInstance)
|
void
Tắt chế độ tự động bắt đầu.
|
otSrpClientEnableAutoHostAddress(otInstance *aInstance)
|
Bật chế độ địa chỉ máy chủ tự động.
|
otSrpClientEnableAutoStartMode(otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext)
|
void
Bật chế độ tự động bắt đầu.
|
otSrpClientGetDomainName(otInstance *aInstance)
|
const char *
Lấy tên miền mà ứng dụng SRP đang sử dụng.
|
otSrpClientGetHostInfo(otInstance *aInstance)
|
const otSrpClientHostInfo *
Lấy thông tin về máy chủ.
|
otSrpClientGetKeyLeaseInterval(otInstance *aInstance)
|
uint32_t
Lấy khoảng thời gian thuê khoá mặc định dùng trong các yêu cầu cập nhật SRP.
|
otSrpClientGetLeaseInterval(otInstance *aInstance)
|
uint32_t
Lấy khoảng thời gian thuê mặc định dùng trong các yêu cầu cập nhật SRP.
|
otSrpClientGetServerAddress(otInstance *aInstance)
|
const otSockAddr *
Lấy địa chỉ ổ cắm (địa chỉ IPv6 và số cổng) của máy chủ SRP đang được ứng dụng SRP sử dụng.
|
otSrpClientGetServices(otInstance *aInstance)
|
const otSrpClientService *
Lấy danh sách các dịch vụ đang được khách hàng quản lý.
|
otSrpClientGetTtl(otInstance *aInstance)
|
uint32_t
Lấy giá trị TTL trong mọi bản ghi có trong yêu cầu cập nhật SRP.
|
otSrpClientIsAutoStartModeEnabled(otInstance *aInstance)
|
bool
Cho biết trạng thái hiện tại của chế độ tự động bắt đầu (bật hoặc tắt).
|
otSrpClientIsRunning(otInstance *aInstance)
|
bool
Cho biết ứng dụng SRP có đang chạy hay không.
|
otSrpClientIsServiceKeyRecordEnabled(otInstance *aInstance)
|
bool
Cho biết chế độ "bao gồm bản ghi khoá dịch vụ" được bật hay tắt.
|
otSrpClientItemStateToString(otSrpClientItemState aItemState)
|
const char *
Chuyển đổi
otSrpClientItemState thành một chuỗi. |
otSrpClientRemoveHostAndServices(otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer)
|
Bắt đầu quá trình xoá thông tin máy chủ lưu trữ và tất cả các dịch vụ.
|
otSrpClientRemoveService(otInstance *aInstance, otSrpClientService *aService)
|
Yêu cầu huỷ đăng ký một dịch vụ với máy chủ.
|
otSrpClientSetCallback(otInstance *aInstance, otSrpClientCallback aCallback, void *aContext)
|
void
Thiết lập lệnh gọi lại để thông báo cho phương thức gọi về các sự kiện/thay đổi từ ứng dụng SRP.
|
otSrpClientSetDomainName(otInstance *aInstance, const char *aName)
|
Đặt tên miền mà ứng dụng SRP sẽ sử dụng.
|
otSrpClientSetHostAddresses(otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses)
|
Đặt/cập nhật danh sách địa chỉ IPv6 của máy chủ.
|
otSrpClientSetHostName(otInstance *aInstance, const char *aName)
|
Đặt nhãn tên máy chủ lưu trữ.
|
otSrpClientSetKeyLeaseInterval(otInstance *aInstance, uint32_t aInterval)
|
void
Đặt khoảng thời gian thuê khoá mặc định dùng trong các yêu cầu cập nhật SRP.
|
otSrpClientSetLeaseInterval(otInstance *aInstance, uint32_t aInterval)
|
void
Đặt khoảng thời gian thuê mặc định dùng trong các yêu cầu cập nhật SRP.
|
otSrpClientSetServiceKeyRecordEnabled(otInstance *aInstance, bool aEnabled)
|
void
Bật/tắt chế độ "bao gồm bản ghi khoá dịch vụ".
|
otSrpClientSetTtl(otInstance *aInstance, uint32_t aTtl)
|
void
Đặt giá trị TTL trong mọi bản ghi có trong yêu cầu cập nhật SRP.
|
otSrpClientStart(otInstance *aInstance, const otSockAddr *aServerSockAddr)
|
Bắt đầu thao tác ứng dụng SRP.
|
otSrpClientStop(otInstance *aInstance)
|
void
Dừng hoạt động của ứng dụng SRP.
|
otSrpServerGetAddressMode(otInstance *aInstance)
|
Trả về chế độ địa chỉ mà máy chủ SRP đang sử dụng.
|
otSrpServerGetAnycastModeSequenceNumber(otInstance *aInstance)
|
uint8_t
Trả về số thứ tự dùng với chế độ địa chỉ Anycast.
|
otSrpServerGetDomain(otInstance *aInstance)
|
const char *
Trả về miền được uỷ quyền cho máy chủ SRP.
|
otSrpServerGetLeaseConfig(otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig)
|
void
Trả về cấu hình LEASE và KEY-LEASE của máy chủ SRP.
|
otSrpServerGetNextHost(otInstance *aInstance, const otSrpServerHost *aHost)
|
const otSrpServerHost *
Trả về máy chủ đã đăng ký tiếp theo trên máy chủ SRP.
|
otSrpServerGetPort(otInstance *aInstance)
|
uint16_t
Trả về cổng mà máy chủ SRP đang nghe.
|
otSrpServerGetResponseCounters(otInstance *aInstance)
|
const otSrpServerResponseCounters *
Trả về bộ đếm phản hồi của máy chủ SRP.
|
otSrpServerGetState(otInstance *aInstance)
|
Trả về trạng thái của máy chủ SRP.
|
otSrpServerGetTtlConfig(otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig)
|
void
Trả về cấu hình TTL của máy chủ SRP.
|
otSrpServerHandleServiceUpdateResult(otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError)
|
void
Báo cáo kết quả xử lý bản cập nhật SRP cho máy chủ SRP.
|
otSrpServerHostGetAddresses(const otSrpServerHost *aHost, uint8_t *aAddressesNum)
|
const otIp6Address *
Trả về địa chỉ của máy chủ đã cho.
|
otSrpServerHostGetFullName(const otSrpServerHost *aHost)
|
const char *
Trả về tên đầy đủ của máy chủ lưu trữ.
|
otSrpServerHostGetLeaseInfo(const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo)
|
void
Trả về thông tin LEASE và KEY-LEASE của một máy chủ lưu trữ cụ thể.
|
otSrpServerHostGetNextService(const otSrpServerHost *aHost, const otSrpServerService *aService)
|
const otSrpServerService *
Trả về dịch vụ tiếp theo của máy chủ đã chọn.
|
otSrpServerHostIsDeleted(const otSrpServerHost *aHost)
|
bool
Cho biết liệu máy chủ dịch vụ SRP đã bị xoá hay chưa.
|
otSrpServerHostMatchesFullName(const otSrpServerHost *aHost, const char *aFullName)
|
bool
Cho biết liệu máy chủ có khớp với một tên máy chủ được cung cấp hay không.
|
otSrpServerIsAutoEnableMode(otInstance *aInstance)
|
bool
Cho biết liệu chế độ tự động bật được bật hay tắt.
|
otSrpServerParseSubTypeServiceName(const char *aSubTypeServiceName, char *aLabel, uint8_t aLabelSize)
|
Phân tích cú pháp tên dịch vụ loại phụ (tên đầy đủ) và trích xuất nhãn loại phụ.
|
otSrpServerServiceGetHost(const otSrpServerService *aService)
|
const otSrpServerHost *
Trả về máy chủ lưu trữ có thực thể dịch vụ.
|
otSrpServerServiceGetInstanceLabel(const otSrpServerService *aService)
|
const char *
Trả về nhãn thực thể dịch vụ (nhãn đầu tiên trong tên thực thể) của dịch vụ.
|
otSrpServerServiceGetInstanceName(const otSrpServerService *aService)
|
const char *
Trả về tên phiên bản dịch vụ đầy đủ của dịch vụ.
|
otSrpServerServiceGetLeaseInfo(const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo)
|
void
Trả về thông tin LEASE và KEY-LEASE của một dịch vụ cụ thể.
|
otSrpServerServiceGetNumberOfSubTypes(const otSrpServerService *aService)
|
uint16_t
Lấy số lượng loại phụ của dịch vụ.
|
otSrpServerServiceGetPort(const otSrpServerService *aService)
|
uint16_t
Trả về cổng của thực thể dịch vụ.
|
otSrpServerServiceGetPriority(const otSrpServerService *aService)
|
uint16_t
Trả về mức độ ưu tiên của thực thể dịch vụ.
|
otSrpServerServiceGetServiceName(const otSrpServerService *aService)
|
const char *
Trả về tên dịch vụ đầy đủ của dịch vụ.
|
otSrpServerServiceGetSubTypeServiceNameAt(const otSrpServerService *aService, uint16_t aIndex)
|
const char *
Lấy tên dịch vụ loại phụ (tên đầy đủ) của dịch vụ tại một chỉ mục nhất định.
|
otSrpServerServiceGetTtl(const otSrpServerService *aService)
|
uint32_t
Trả về TTL của thực thể dịch vụ.
|
otSrpServerServiceGetTxtData(const otSrpServerService *aService, uint16_t *aDataLength)
|
const uint8_t *
Trả về dữ liệu bản ghi TXT của thực thể dịch vụ.
|
otSrpServerServiceGetWeight(const otSrpServerService *aService)
|
uint16_t
Trả về trọng số của thực thể dịch vụ.
|
otSrpServerServiceHasSubTypeServiceName(const otSrpServerService *aService, const char *aSubTypeServiceName)
|
bool
Cho biết dịch vụ có một loại phụ cụ thể hay không.
|
otSrpServerServiceIsDeleted(const otSrpServerService *aService)
|
bool
Cho biết dịch vụ SRP đã bị xoá hay chưa.
|
otSrpServerServiceMatchesInstanceName(const otSrpServerService *aService, const char *aInstanceName)
|
bool
Cho biết liệu dịch vụ này có khớp với tên phiên bản dịch vụ đã cho hay không.
|
otSrpServerServiceMatchesServiceName(const otSrpServerService *aService, const char *aServiceName)
|
bool
Cho biết liệu dịch vụ này có khớp với một tên dịch vụ cụ thể hay không.
|
otSrpServerSetAddressMode(otInstance *aInstance, otSrpServerAddressMode aMode)
|
Đặt chế độ địa chỉ mà máy chủ SRP sẽ sử dụng.
|
otSrpServerSetAnycastModeSequenceNumber(otInstance *aInstance, uint8_t aSequenceNumber)
|
Đặt số thứ tự dùng với chế độ địa chỉ Anycast.
|
otSrpServerSetAutoEnableMode(otInstance *aInstance, bool aEnabled)
|
void
Bật/tắt chế độ tự động bật trên máy chủ SRP.
|
otSrpServerSetDomain(otInstance *aInstance, const char *aDomain)
|
Thiết lập miền trên máy chủ SRP.
|
otSrpServerSetEnabled(otInstance *aInstance, bool aEnabled)
|
void
Bật/tắt máy chủ SRP.
|
otSrpServerSetLeaseConfig(otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig)
|
Đặt cấu hình LEASE và KEY-LEASE cho máy chủ SRP.
|
otSrpServerSetServiceUpdateHandler(otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext)
|
void
Đặt trình xử lý cập nhật dịch vụ SRP trên máy chủ SRP.
|
otSrpServerSetTtlConfig(otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig)
|
Đặt cấu hình TTL của máy chủ SRP.
|
Cấu trúc |
|
---|---|
otSrpClientBuffersServiceEntry |
Đại diện cho một mục nhập trong nhóm dịch vụ ứng dụng SRP. |
otSrpClientHostInfo |
Đại diện cho thông tin máy chủ lưu trữ ứng dụng SRP. |
otSrpClientService |
Đại diện cho dịch vụ ứng dụng SRP. |
otSrpServerLeaseConfig |
Bao gồm cấu hình LEASE và KEY-LEASE cho máy chủ SRP. |
otSrpServerLeaseInfo |
Bao gồm thông tin cho thuê máy chủ SRP của một máy chủ lưu trữ/dịch vụ. |
otSrpServerResponseCounters |
Bao gồm số liệu thống kê về các phản hồi của máy chủ SRP. |
otSrpServerTtlConfig |
Bao gồm cả cấu hình TTL của máy chủ SRP. |
Bảng liệt kê
otSrpClientItemState
otSrpClientItemState
Chỉ định trạng thái của mục máy khách SRP (thông tin dịch vụ hoặc máy chủ).
Thuộc tính | |
---|---|
OT_SRP_CLIENT_ITEM_STATE_ADDING
|
Mục đang được thêm/đăng ký. |
OT_SRP_CLIENT_ITEM_STATE_REFRESHING
|
Đang làm mới mục. |
OT_SRP_CLIENT_ITEM_STATE_REGISTERED
|
Mục đã được đăng ký với máy chủ. |
OT_SRP_CLIENT_ITEM_STATE_REMOVED
|
Mục này đã bị xoá. |
OT_SRP_CLIENT_ITEM_STATE_REMOVING
|
Mục đang bị xoá. |
OT_SRP_CLIENT_ITEM_STATE_TO_ADD
|
Mục sẽ được thêm vào/đăng ký. |
OT_SRP_CLIENT_ITEM_STATE_TO_REFRESH
|
Mặt hàng sẽ được làm mới (đăng ký lại để gia hạn hợp đồng thuê). |
OT_SRP_CLIENT_ITEM_STATE_TO_REMOVE
|
Mục cần xoá. |
otSrpServerAddressMode
otSrpServerAddressMode
Đại diện cho chế độ địa chỉ mà máy chủ SRP sử dụng.
Chế độ địa chỉ chỉ định cách máy chủ SRP xác định địa chỉ và số cổng và cách thông tin này được xuất bản trong Dữ liệu mạng luồng.
Thuộc tính | |
---|---|
OT_SRP_SERVER_ADDRESS_MODE_ANYCAST
|
Chế độ địa chỉ Anycast. |
OT_SRP_SERVER_ADDRESS_MODE_UNICAST
|
Chế độ địa chỉ Unicast. |
otSrpServerState
otSrpServerState
Biểu thị trạng thái của máy chủ SRP.
Thuộc tính | |
---|---|
OT_SRP_SERVER_STATE_DISABLED
|
Máy chủ SRP đã bị tắt. |
OT_SRP_SERVER_STATE_RUNNING
|
Máy chủ SRP đã được bật và đang chạy. |
OT_SRP_SERVER_STATE_STOPPED
|
Máy chủ SRP đã bật nhưng đã dừng lại. |
Typedef
otSrpClientAutoStartCallback
void(* otSrpClientAutoStartCallback)(const otSockAddr *aServerSockAddr, void *aContext)
Loại con trỏ xác định lệnh gọi lại mà ứng dụng SRP sử dụng để thông báo cho người dùng khi quá trình này tự động bắt đầu hoặc dừng.
Chế độ này chỉ được sử dụng khi bạn bật tính năng tự động bắt đầu OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
.
Lệnh gọi lại này được gọi khi chế độ tự động bắt đầu được bật và ứng dụng SRP tự động bắt đầu hoặc dừng.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
otSrpClientBuffersServiceEntry
struct otSrpClientBuffersServiceEntry otSrpClientBuffersServiceEntry
Đại diện cho một mục nhập trong nhóm dịch vụ ứng dụng SRP.
otSrpClientCallback
void(* otSrpClientCallback)(otError aError, const otSrpClientHostInfo *aHostInfo, const otSrpClientService *aServices, const otSrpClientService *aRemovedServices, void *aContext)
Loại con trỏ xác định lệnh gọi lại mà ứng dụng SRP sử dụng để thông báo cho người dùng về các thay đổi/sự kiện/lỗi.
Lệnh gọi lại này được gọi khi đăng ký cập nhật thành công (tức là thêm/xoá thông tin máy chủ và/hoặc một số dịch vụ) với máy chủ SRP hoặc nếu có lỗi hoặc lỗi (ví dụ: máy chủ từ chối yêu cầu cập nhật hoặc máy khách hết thời gian chờ phản hồi, v.v.).
Trong trường hợp đăng ký lại thành công một bản cập nhật, tham số aError
sẽ là OT_ERROR_NONE
và thông tin máy chủ lưu trữ cũng như danh sách đầy đủ các dịch vụ sẽ được cung cấp dưới dạng tham số đầu vào cho lệnh gọi lại. Xin lưu ý rằng mỗi thông tin và dịch vụ trên máy chủ lưu trữ đều theo dõi trạng thái riêng trong biến thành phần mState
tương ứng của cấu trúc dữ liệu liên quan (trạng thái cho biết thông tin/dịch vụ lưu trữ đã được đăng ký hay bị xoá hay vẫn đang được thêm/xoá, v.v.).
Danh sách các dịch vụ đã xoá được chuyển dưới dạng danh sách liên kết riêng aRemovedServices
trong lệnh gọi lại. Xin lưu ý rằng khi lệnh gọi lại được gọi, ứng dụng SRP (triển khai OpenThread) sẽ hoàn tất với các thực thể dịch vụ đã xoá được liệt kê trong aRemovedServices
và không còn theo dõi/lưu trữ các thực thể đó nữa (tức là nếu trong lệnh gọi lại chúng ta gọi otSrpClientGetServices()
, các dịch vụ đã xoá sẽ không xuất hiện trong danh sách được trả về). Việc cung cấp danh sách riêng các dịch vụ đã bị xoá trong lệnh gọi lại giúp cho người dùng biết những mục nào hiện đã bị xoá và cho phép người dùng xác nhận lại/sử dụng lại các thực thể đó.
Nếu máy chủ từ chối yêu cầu cập nhật SRP, thì mã phản hồi DNS (RFC 2136) sẽ được ánh xạ tới các lỗi sau:
- (0) NOERROR Thành công (không có điều kiện lỗi) -> OT_ERROR_NONE
- (1) Máy chủ FORMERR không thể diễn giải do lỗi định dạng -> OT_ERROR_PARSE
- (2) Máy chủ SERVFAIL gặp lỗi nội bộ -> OT_ERROR_FAILED
- (3) Tên NXDOMAIN lẽ ra phải tồn tại, không tồn tại -> OT_ERROR_NOT_FOUND
- (4) Máy chủ NOTIMP không hỗ trợ loại truy vấn (OpCode) -> OT_ERROR_NOT_IMPLEMENTED
- (5) REFUSED máy chủ bị từ chối vì lý do chính sách/bảo mật -> OT_ERROR_Security
- (6) YXDOMAIN Một số tên không nên tồn tại, nhưng có tồn tại -> OT_ERROR_DUPLICATED
- (7) YXRR Giả lập một số bộ bản đồ không nên tồn tại, nhưng có tồn tại -> OT_ERROR_DUPLICATED
- (8) NXRR kín Một số tập dữ liệu lặp phải tồn tại, không tồn tại -> OT_ERROR_NOT_FOUND
- (9) Dịch vụ NOTAUTH không có căn cứ cho vùng -> OT_ERROR_SECURE
- (10) NOTZONE Một tên không nằm trong vùng -> OT_ERROR_PARSE
- (20) BADNAME Tên không hợp lệ -> OT_ERROR_PARSE
- (21) Thuật toán kém BADALG -> OT_ERROR_Security
- (22) Rút ngắn BADTRUN không hợp lệ -> OT_ERROR_PARSE
- Các mã phản hồi khác -> OT_ERROR_FAILED
Các lỗi sau đây cũng có thể xảy ra:
- OT_ERROR_ pixel_TIMEOUT : Đã hết thời gian chờ phản hồi từ máy chủ (máy khách sẽ tiếp tục thử lại).
- OT_ERROR_INVALID_ARGS : Cấu trúc dịch vụ đã cung cấp không hợp lệ (ví dụ: tên dịch vụ hoặc
otDnsTxtEntry
không hợp lệ). - OT_ERROR_NO_BUFS : Không đủ bộ đệm để chuẩn bị hoặc gửi thông báo cập nhật.
Lưu ý rằng trong trường hợp có bất kỳ lỗi nào, máy khách sẽ tiếp tục hoạt động, tức là máy khách sẽ chuẩn bị và (lại) truyền thông báo cập nhật SRP đến máy chủ, sau một khoảng thời gian chờ. Khoảng thời gian chờ thử lại bắt đầu từ giá trị tối thiểu và được tăng theo hệ số tăng trưởng mỗi khi không đạt đến giá trị tối đa (vui lòng xem thông số cấu hình OPENTHREAD_CONFIG_SRP_CLIENT_MIN_RETRY_WAIT_INTERVAL
và các thông số liên quan để biết thêm chi tiết).
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
|
otSrpClientHostInfo
struct otSrpClientHostInfo otSrpClientHostInfo
Đại diện cho thông tin máy chủ lưu trữ ứng dụng SRP.
otSrpClientService
struct otSrpClientService otSrpClientService
Đại diện cho dịch vụ ứng dụng SRP.
Các giá trị trong cấu trúc này, bao gồm cả vùng đệm chuỗi cho tên và các mục nhập bản ghi TXT, PHẢI duy trì và không đổi sau khi một thực thể của cấu trúc này được chuyển đến OpenThread từ otSrpClientAddService()
hoặc otSrpClientRemoveService()
.
Các trường mState
, mData
, mNext
chỉ do lõi OT (OT) sử dụng/quản lý. Giá trị của chúng bị bỏ qua khi một thực thể của otSrpClientService
được truyền vào otSrpClientAddService()
hoặc otSrpClientRemoveService()
hoặc các hàm khác. Phương thức gọi không cần phải đặt các trường này.
Các trường mLease
và mKeyLease
chỉ định khoảng thời gian thuê và khoảng thời gian thuê mong muốn cho dịch vụ này. Giá trị 0 cho biết khoảng thời gian này không được chỉ định, sau đó khoảng thời gian thuê hoặc thuê khoá mặc định từ otSrpClientGetLeaseInterval()
và otSrpClientGetKeyLeaseInterval()
được dùng cho dịch vụ này. Nếu khoảng thời gian thuê chính (cho dù được thiết lập rõ ràng hay xác định theo mặc định) ngắn hơn khoảng thời gian thuê của một dịch vụ, thì máy khách SRP cũng sẽ sử dụng lại giá trị khoảng thời gian thuê cho khoảng thời gian thuê chính. Ví dụ: nếu trong dịch vụ mLease
được đặt rõ ràng là 2 ngày và mKeyLease
được đặt thành 0 và thời gian thuê khoá mặc định được đặt là 1 ngày, thì khi đăng ký dịch vụ này, thời gian thuê khoá được yêu cầu cho dịch vụ này cũng được đặt thành 2 ngày.
otSrpServerAddressMode
enum otSrpServerAddressMode otSrpServerAddressMode
Đại diện cho chế độ địa chỉ mà máy chủ SRP sử dụng.
Chế độ địa chỉ chỉ định cách máy chủ SRP xác định địa chỉ và số cổng và cách thông tin này được xuất bản trong Dữ liệu mạng luồng.
otSrpServerHost
struct otSrpServerHost otSrpServerHost
Loại không rõ ràng này đại diện cho một máy chủ dịch vụ SRP.
otSrpServerLeaseConfig
struct otSrpServerLeaseConfig otSrpServerLeaseConfig
Bao gồm cấu hình LEASE và KEY-LEASE cho máy chủ SRP.
otSrpServerLeaseInfo
struct otSrpServerLeaseInfo otSrpServerLeaseInfo
Bao gồm thông tin cho thuê máy chủ SRP của một máy chủ lưu trữ/dịch vụ.
otSrpServerResponseCounters
struct otSrpServerResponseCounters otSrpServerResponseCounters
Bao gồm số liệu thống kê về các phản hồi của máy chủ SRP.
otSrpServerService
struct otSrpServerService otSrpServerService
Loại không rõ ràng này đại diện cho dịch vụ SRP.
otSrpServerServiceUpdateHandler
void(* otSrpServerServiceUpdateHandler)(otSrpServerServiceUpdateId aId, const otSrpServerHost *aHost, uint32_t aTimeout, void *aContext)
Xử lý các bản cập nhật dịch vụ SRP.
Được máy chủ SRP gọi để thông báo rằng một máy chủ SRP và có thể là các dịch vụ SRP đang được cập nhật. Điều quan trọng là các bản cập nhật SRP không được cam kết cho đến khi trình xử lý trả về kết quả bằng cách gọi otSrpServerHandleServiceUpdateResult hoặc hết thời gian chờ sau aTimeout
.
Trình quan sát dịch vụ SRP phải luôn gọi otSrpServerHandleServiceUpdateResult với mã lỗi OT_ERROR_NONE ngay sau khi nhận được sự kiện cập nhật.
Trình xử lý tổng quát hơn có thể thực hiện xác thực trên máy chủ/dịch vụ SRP và từ chối cập nhật SRP nếu có bất kỳ quá trình xác thực nào không thành công. Ví dụ: Proxy quảng cáo sẽ quảng cáo (hoặc xoá) máy chủ lưu trữ và các dịch vụ trên đường liên kết có khả năng phát đa hướng, đồng thời trả về mã lỗi cụ thể nếu có lỗi xảy ra.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Thông số |
|
otSrpServerSetServiceUpdateHandler
otSrpServerHandleServiceUpdateResult
otSrpServerServiceUpdateId
uint32_t otSrpServerServiceUpdateId
Mã của giao dịch cập nhật dịch vụ SRP trên Máy chủ SRP.
otSrpServerTtlConfig
struct otSrpServerTtlConfig otSrpServerTtlConfig
Bao gồm cả cấu hình TTL của máy chủ SRP.
Hàm
otSrpClientAddService
otError otSrpClientAddService( otInstance *aInstance, otSrpClientService *aService )
Thêm một dịch vụ để được đăng ký với máy chủ.
Sau khi bạn gọi hàm này thành công, otSrpClientCallback
sẽ được gọi để báo cáo trạng thái thêm/đăng ký dịch vụ với máy chủ SRP.
Thực thể otSrpClientService
được aService
trỏ đến PHẢI duy trì và không thay đổi sau khi trở về từ hàm này (bằng OT_ERROR_NONE
). OpenThread sẽ lưu con trỏ vào thực thể dịch vụ.
OpenThread không theo dõi phiên bản otSrpClientService
này nữa và chỉ có thể được xác nhận lại khi
- API này bị xoá rõ ràng bằng lệnh gọi đến
otSrpClientRemoveService()
hoặc bị xoá cùng với các dịch vụ khác bằng lệnh gọi đếnotSrpClientRemoveHostAndServices() and only after the
otSrpClientCallback` được gọi cho biết dịch vụ đã bị xoá. Hoặc - Lệnh gọi đến
otSrpClientClearHostAndServices()
sẽ xoá máy chủ lưu trữ và tất cả dịch vụ liên quan ngay lập tức.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
||||||
Giá trị trả về |
|
otSrpClientBuffersAllocateService
otSrpClientBuffersServiceEntry * otSrpClientBuffersAllocateService( otInstance *aInstance )
Phân bổ một mục nhập dịch vụ mới từ nhóm.
Thực thể mục nhập dịch vụ được trả về sẽ được khởi động như sau:
mService.mName
sẽ trỏ đến một vùng đệm chuỗi được phân bổ. Bạn có thể truy xuất vùng đệm này bằng hàmotSrpClientBuffersGetServiceEntryServiceNameString()
.mService.mInstanceName
sẽ trỏ đến một vùng đệm chuỗi được phân bổ. Bạn có thể truy xuất vùng đệm này bằng hàmotSrpClientBuffersGetServiceEntryInstanceNameString()
.mService.mSubTypeLabels
trỏ đến một mảng được trả về từotSrpClientBuffersGetSubTypeLabelsArray()
.mService.mTxtEntries
sẽ trỏ đếnmTxtEntry
.mService.mNumTxtEntries
sẽ được đặt ở mức 1.- Các trường
mService
khác (cổng, mức độ ưu tiên, trọng số) được đặt thành 0. mTxtEntry.mKey
được đặt thành NULL (giá trị được coi là đã được mã hoá).mTxtEntry.mValue
sẽ trỏ đến một vùng đệm được phân bổ mà bạn có thể truy xuất bằng hàmotSrpClientBuffersGetServiceEntryTxtBuffer()
.mTxtEntry.mValueLength
được đặt thành 0.- Tất cả vùng đệm và mảng dữ liệu/chuỗi có liên quan sẽ bị xoá về 0.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Con trỏ tới mục nhập dịch vụ mới được phân bổ hoặc giá trị NULL nếu không có thêm mục nhập nào khác trong nhóm.
|
otSrpClientBuffersFreeAllServices
void otSrpClientBuffersFreeAllServices( otInstance *aInstance )
Giải phóng tất cả các mục nhập dịch vụ đã phân bổ trước đó.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
otSrpClientBuffersFreeService
void otSrpClientBuffersFreeService( otInstance *aInstance, otSrpClientBuffersServiceEntry *aService )
Giải phóng một mục dịch vụ được phân bổ trước đó.
aService
PHẢI được phân bổ trước đó bằng otSrpClientBuffersAllocateService()
và chưa được giải phóng. Nếu không thì hành vi của hàm này là không xác định.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
otSrpClientBuffersGetHostAddressesArray
otIp6Address * otSrpClientBuffersGetHostAddressesArray( otInstance *aInstance, uint8_t *aArrayLength )
Lấy dãy mục nhập địa chỉ IPv6 để dùng làm danh sách địa chỉ máy chủ SRP.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Trả về |
Con trỏ đến một mảng các mục nhập
otIp6Address (số mục nhập sẽ được trả về trong aArrayLength ). |
otSrpClientBuffersGetHostNameString
char * otSrpClientBuffersGetHostNameString( otInstance *aInstance, uint16_t *aSize )
Lấy vùng đệm chuỗi để dùng cho tên máy chủ lưu trữ ứng dụng SRP.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Trả về |
Con trỏ tới vùng đệm ký tự để dùng cho tên máy chủ lưu trữ ứng dụng SRP.
|
otSrpClientBuffersGetServiceEntryInstanceNameString
char * otSrpClientBuffersGetServiceEntryInstanceNameString( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
Lấy vùng đệm chuỗi cho tên thực thể dịch vụ từ một mục nhập dịch vụ.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Trả về |
Con trỏ đến vùng đệm chuỗi.
|
otSrpClientBuffersGetServiceEntryServiceNameString
char * otSrpClientBuffersGetServiceEntryServiceNameString( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
Lấy vùng đệm chuỗi cho tên dịch vụ từ một mục nhập dịch vụ.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Trả về |
Con trỏ đến vùng đệm chuỗi.
|
otSrpClientBuffersGetServiceEntryTxtBuffer
uint8_t * otSrpClientBuffersGetServiceEntryTxtBuffer( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aSize )
Lấy vùng đệm cho bản ghi TXT từ một mục nhập dịch vụ.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Trả về |
Con trỏ đến vùng đệm.
|
otSrpClientBuffersGetSubTypeLabelsArray
const char ** otSrpClientBuffersGetSubTypeLabelsArray( otSrpClientBuffersServiceEntry *aEntry, uint16_t *aArrayLength )
Lấy mảng cho các nhãn loại dịch vụ phụ từ mục nhập dịch vụ.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Trả về |
Con trỏ đến mảng.
|
otSrpClientClearHostAndServices
void otSrpClientClearHostAndServices( otInstance *aInstance )
Xoá mọi thông tin về máy chủ và mọi dịch vụ.
Không giống như otSrpClientRemoveHostAndServices()
gửi thông báo cập nhật đến máy chủ để xoá mọi thông tin, chức năng này sẽ xoá tất cả thông tin ngay lập tức mà không cần bất kỳ hoạt động tương tác nào với máy chủ.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
otSrpClientClearService
otError otSrpClientClearService( otInstance *aInstance, otSrpClientService *aService )
Xoá một dịch vụ, ngay lập tức xoá dịch vụ đó khỏi danh sách dịch vụ khách hàng.
Không giống như otSrpClientRemoveService()
, sẽ gửi thông báo cập nhật đến máy chủ để xoá dịch vụ, chức năng này sẽ xoá dịch vụ khỏi danh sách dịch vụ của ứng dụng mà không cần tương tác với máy chủ. Khi bạn gọi hàm này thành công, otSrpClientCallback
sẽ KHÔNG được gọi và phương thức gọi có thể thu hồi cũng như sử dụng lại mục nhập aService
ngay lập tức.
Có thể sử dụng cùng với lệnh gọi tiếp theo đến otSrpClientAddService()
(có thể sử dụng lại cùng một mục aService
với cùng tên dịch vụ và thực thể) để cập nhật một số tham số trong dịch vụ hiện có.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otSrpClientDisableAutoStartMode
void otSrpClientDisableAutoStartMode( otInstance *aInstance )
Tắt chế độ tự động bắt đầu.
Chức năng này chỉ hoạt động khi bạn bật tính năng tự động bắt đầu OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
.
Việc tắt chế độ tự động bắt đầu sẽ không làm ứng dụng ngừng hoạt động nếu ứng dụng đang chạy nhưng sẽ ngừng theo dõi Dữ liệu mạng luồng để xác minh rằng máy chủ SRP đã chọn vẫn còn tồn tại trong ứng dụng.
Xin lưu ý rằng lệnh gọi đến otSrpClientStop()
cũng sẽ tắt chế độ tự động bắt đầu.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
otSrpClientEnableAutoHostAddress
otError otSrpClientEnableAutoHostAddress( otInstance *aInstance )
Bật chế độ địa chỉ máy chủ tự động.
Khi được bật, địa chỉ IPv6 của máy chủ sẽ được máy khách SRP tự động thiết lập bằng cách sử dụng tất cả các địa chỉ unicast ưu tiên trên Thread netif, ngoại trừ tất cả địa chỉ liên kết cục bộ và địa chỉ lưới cục bộ. Nếu không có địa chỉ ưu tiên, thì địa chỉ EID cục bộ dạng lưới sẽ được thêm. Ứng dụng SRP sẽ tự động đăng ký lại khi/nếu địa chỉ trên Thread netif được cập nhật (các địa chỉ mới được thêm vào hoặc các địa chỉ hiện có bị xoá hoặc được đánh dấu là không được ưu tiên).
Bạn có thể bật chế độ địa chỉ máy chủ tự động trước khi bắt đầu hoặc trong khi vận hành ứng dụng SRP trừ phi thông tin máy chủ lưu trữ đang bị xoá (ứng dụng đang bận xử lý yêu cầu xoá từ một lệnh gọi đến otSrpClientRemoveHostAndServices()
và thông tin máy chủ vẫn đang ở trạng thái STATE_TO_REMOVE
hoặc STATE_REMOVING
).
Sau khi bật chế độ địa chỉ máy chủ tự động, bạn có thể tắt chế độ này bằng lệnh gọi đến otSrpClientSetHostAddresses()
và đặt rõ ràng địa chỉ máy chủ lưu trữ.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Giá trị trả về |
|
otSrpClientEnableAutoStartMode
void otSrpClientEnableAutoStartMode( otInstance *aInstance, otSrpClientAutoStartCallback aCallback, void *aContext )
Bật chế độ tự động bắt đầu.
Chức năng này chỉ hoạt động khi bạn bật tính năng tự động bắt đầu OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
.
Tuỳ chọn cấu hình OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_DEFAULT_MODE
chỉ định chế độ tự động bắt đầu mặc định (cho dù được bật hay tắt khi bắt đầu ngăn xếp OT).
Khi bật tính năng tự động bắt đầu, máy khách SRP sẽ giám sát Dữ liệu mạng luồng để khám phá các máy chủ SRP và chọn máy chủ ưu tiên, đồng thời tự động khởi động và dừng máy khách khi phát hiện thấy máy chủ SRP.
Có 3 loại mục Dữ liệu mạng cho biết sự hiện diện của máy chủ SRP. Các lớp này được ưu tiên theo thứ tự sau:
1) Các mục nhập unicast được ưu tiên, trong đó địa chỉ máy chủ được đưa vào dữ liệu dịch vụ. Nếu có nhiều lựa chọn, lựa chọn có địa chỉ IPv6 thấp nhất sẽ được ưu tiên.
2) Các mục Anycast có số thứ tự. Số thứ tự lớn hơn theo nghĩa được quy định trong logic Số sê-ri trong RFC-1982 được xem là gần đây hơn và do đó được ưu tiên hơn. Số sê-ri lớn nhất sử dụng số học số sê-ri sẽ được ưu tiên nếu số này được xác định rõ (nghĩa là số seq lớn hơn tất cả các số seq khác). Nếu số thứ tự không được xác định rõ, thì số thứ tự lớn nhất về mặt số sẽ được ưu tiên.
3) Các mục nhập Unicast, trong đó thông tin địa chỉ máy chủ được đưa vào dữ liệu máy chủ. Nếu có nhiều lựa chọn, lựa chọn có địa chỉ IPv6 thấp nhất sẽ được ưu tiên.
Khi có thay đổi trong các mục Dữ liệu mạng, khách hàng sẽ kiểm tra để đảm bảo rằng máy chủ hiện được chọn vẫn hiện diện trong Dữ liệu mạng và có phải là máy chủ được ưu tiên không. Nếu không, ứng dụng sẽ chuyển sang máy chủ ưu tiên mới hoặc dừng nếu không có máy chủ nào.
Khi ứng dụng SRP được khởi động rõ ràng thông qua một lệnh gọi thành công đến otSrpClientStart()
, địa chỉ máy chủ SRP đã cho trong otSrpClientStart()
sẽ tiếp tục được sử dụng bất kể trạng thái của chế độ tự động bắt đầu và việc địa chỉ máy chủ SRP đó có được phát hiện hay không trong Dữ liệu mạng luồng. Trong trường hợp này, ứng dụng chỉ cần gọi otSrpClientStop()
rõ ràng.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
otSrpClientGetDomainName
const char * otSrpClientGetDomainName( otInstance *aInstance )
Lấy tên miền mà ứng dụng SRP đang sử dụng.
Bạn cần bật OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE
.
Nếu bạn chưa đặt tên miền, hệ thống sẽ sử dụng "default.service.arpa".
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Chuỗi tên miền.
|
otSrpClientGetHostInfo
const otSrpClientHostInfo * otSrpClientGetHostInfo( otInstance *aInstance )
Lấy thông tin về máy chủ.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Con trỏ tới cấu trúc thông tin máy chủ lưu trữ.
|
otSrpClientGetKeyLeaseInterval
uint32_t otSrpClientGetKeyLeaseInterval( otInstance *aInstance )
Lấy khoảng thời gian thuê khoá mặc định dùng trong các yêu cầu cập nhật SRP.
Khoảng thời gian mặc định chỉ được dùng cho các thực thể otSrpClientService
có mKeyLease
được đặt thành 0.
Lưu ý rằng đây là thời hạn thuê mà ứng dụng SRP yêu cầu. Máy chủ có thể chọn chấp nhận khoảng thời gian thuê khác.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Khoảng thời gian thuê chính (tính bằng giây).
|
otSrpClientGetLeaseInterval
uint32_t otSrpClientGetLeaseInterval( otInstance *aInstance )
Lấy khoảng thời gian thuê mặc định dùng trong các yêu cầu cập nhật SRP.
Khoảng thời gian mặc định chỉ được dùng cho các thực thể otSrpClientService
có mLease
được đặt thành 0.
Lưu ý rằng đây là thời hạn thuê mà ứng dụng SRP yêu cầu. Máy chủ có thể chọn chấp nhận khoảng thời gian thuê khác.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Khoảng thời gian thuê (tính bằng giây).
|
otSrpClientGetServerAddress
const otSockAddr * otSrpClientGetServerAddress( otInstance *aInstance )
Lấy địa chỉ ổ cắm (địa chỉ IPv6 và số cổng) của máy chủ SRP đang được ứng dụng SRP sử dụng.
Nếu ứng dụng khách không chạy, thì địa chỉ sẽ không được chỉ định (tất cả đều bằng 0) khi số cổng bằng 0.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Con trỏ đến địa chỉ ổ cắm của máy chủ SRP (luôn không phải là NULL).
|
otSrpClientGetServices
const otSrpClientService * otSrpClientGetServices( otInstance *aInstance )
Lấy danh sách các dịch vụ đang được khách hàng quản lý.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Con trỏ tới đầu danh sách được liên kết của tất cả dịch vụ hoặc NULL nếu danh sách này trống.
|
otSrpClientGetTtl
uint32_t otSrpClientGetTtl( otInstance *aInstance )
Lấy giá trị TTL trong mọi bản ghi có trong yêu cầu cập nhật SRP.
Xin lưu ý rằng đây là TTL mà ứng dụng SRP yêu cầu. Máy chủ có thể chọn chấp nhận một TTL khác.
Theo mặc định, TTL sẽ bằng khoảng thời gian thuê. Việc truyền 0 hoặc một giá trị lớn hơn khoảng thời gian thuê qua otSrpClientSetTtl()
cũng sẽ làm cho TTL bằng khoảng thời gian thuê.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
TTL (tính bằng giây).
|
otSrpClientIsAutoStartModeEnabled
bool otSrpClientIsAutoStartModeEnabled( otInstance *aInstance )
Cho biết trạng thái hiện tại của chế độ tự động bắt đầu (bật hoặc tắt).
Chức năng này chỉ hoạt động khi bạn bật tính năng tự động bắt đầu OPENTHREAD_CONFIG_SRP_CLIENT_AUTO_START_API_ENABLE
.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Giá trị là TRUE nếu chế độ tự động bắt đầu được bật, nếu không thì sẽ là FALSE.
|
otSrpClientIsRunning
bool otSrpClientIsRunning( otInstance *aInstance )
Cho biết ứng dụng SRP có đang chạy hay không.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
TRUE nếu ứng dụng SRP đang chạy, nếu không sẽ là FALSE.
|
otSrpClientIsServiceKeyRecordEnabled
bool otSrpClientIsServiceKeyRecordEnabled( otInstance *aInstance )
Cho biết chế độ "bao gồm bản ghi khoá dịch vụ" được bật hay tắt.
Có sẵn khi cấu hình OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
được bật.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Giá trị là TRUE nếu chế độ "bao gồm bản ghi khoá dịch vụ" đang bật, nếu không thì sẽ là FALSE.
|
otSrpClientItemStateToString
const char * otSrpClientItemStateToString( otSrpClientItemState aItemState )
Chuyển đổi otSrpClientItemState
thành một chuỗi.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Chuỗi đại diện của
aItemState . |
otSrpClientRemoveHostAndServices
otError otSrpClientRemoveHostAndServices( otInstance *aInstance, bool aRemoveKeyLease, bool aSendUnregToServer )
Bắt đầu quá trình xoá thông tin máy chủ lưu trữ và tất cả các dịch vụ.
Sau khi trả về từ hàm này, otSrpClientCallback
sẽ được gọi để báo cáo trạng thái xoá yêu cầu qua máy chủ SRP.
Nếu thông tin máy chủ lưu trữ bị xoá vĩnh viễn khỏi máy chủ, bạn phải đặt aRemoveKeyLease
thành true
. Thao tác này sẽ xoá hợp đồng thuê khoá liên kết với máy chủ lưu trữ trên máy chủ. Nếu không, bản ghi thuê khoá sẽ được lưu giữ như trước đây để đảm bảo rằng máy chủ giữ tên máy chủ lưu trữ để dự trữ khi máy khách có thể cung cấp và đăng ký(các) dịch vụ một lần nữa.
aSendUnregToServer
xác định hành vi khi thông tin máy chủ lưu trữ chưa được đăng ký với máy chủ. Nếu bạn đặt aSendUnregToServer
thành false
(là giá trị mặc định/dự kiến), thì ứng dụng SRP sẽ ngay lập tức xoá thông tin và dịch vụ của máy chủ lưu trữ mà không cần gửi thông báo cập nhật đến máy chủ (không cần cập nhật máy chủ nếu chưa có thông tin nào được đăng ký với máy chủ). Nếu bạn đặt aSendUnregToServer
thành true
, thì ứng dụng SRP sẽ gửi thông báo cập nhật đến máy chủ. Lưu ý rằng nếu thông tin máy chủ được đăng ký thì giá trị của aSendUnregToServer
sẽ không quan trọng và máy khách SRP sẽ luôn gửi thông báo cập nhật đến máy chủ để yêu cầu xoá tất cả thông tin.
Một trường hợp aSendUnregToServer
có thể hữu ích là khi đặt lại/khởi động lại thiết bị, phương thức gọi có thể muốn xoá mọi dịch vụ đã đăng ký trước đó với máy chủ. Trong trường hợp này, phương thức gọi có thể otSrpClientSetHostName()
rồi yêu cầu otSrpClientRemoveHostAndServices()
với aSendUnregToServer
dưới dạng true
.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
||||||
Giá trị trả về |
|
otSrpClientRemoveService
otError otSrpClientRemoveService( otInstance *aInstance, otSrpClientService *aService )
Yêu cầu huỷ đăng ký một dịch vụ với máy chủ.
Sau khi gọi hàm này thành công, otSrpClientCallback
sẽ được gọi để báo cáo trạng thái của yêu cầu xoá qua máy chủ SRP.
Thực thể otSrpClientService
được aService
trỏ đến PHẢI duy trì và không thay đổi sau khi trở về từ hàm này (bằng OT_ERROR_NONE
). OpenThread sẽ giữ thực thể dịch vụ trong quá trình xoá. Chỉ sau khi otSrpClientCallback
được gọi, qua đó chỉ ra thực thể dịch vụ bị xoá khỏi danh sách dịch vụ ứng dụng SRP và có thể được giải phóng/sử dụng lại.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otSrpClientSetCallback
void otSrpClientSetCallback( otInstance *aInstance, otSrpClientCallback aCallback, void *aContext )
Thiết lập lệnh gọi lại để thông báo cho phương thức gọi về các sự kiện/thay đổi từ ứng dụng SRP.
Ứng dụng SRP cho phép đăng ký một lệnh gọi lại. Vì vậy, các lệnh gọi liên tiếp đến hàm này sẽ ghi đè mọi hàm callback đã đặt trước đó.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
otSrpClientSetDomainName
otError otSrpClientSetDomainName( otInstance *aInstance, const char *aName )
Đặt tên miền mà ứng dụng SRP sẽ sử dụng.
Bạn cần bật OPENTHREAD_CONFIG_SRP_CLIENT_DOMAIN_NAME_API_ENABLE
.
Nếu bạn không đặt chính sách này, hệ thống sẽ sử dụng "default.service.arpa".
Vùng đệm chuỗi tên do aName
trỏ đến PHẢI duy trì và không thay đổi sau khi trả về từ hàm này. OpenThread sẽ giữ con trỏ tới chuỗi.
Bạn có thể đặt tên miền trước hoặc sau khi khởi động ứng dụng, nhưng trước khi thông tin máy chủ lưu trữ được đăng ký với máy chủ (thông tin máy chủ phải ở dạng STATE_TO_ADD
hoặc STATE_TO_REMOVE
).
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otSrpClientSetHostAddresses
otError otSrpClientSetHostAddresses( otInstance *aInstance, const otIp6Address *aIp6Addresses, uint8_t aNumAddresses )
Đặt/cập nhật danh sách địa chỉ IPv6 của máy chủ.
Bạn có thể đặt/thay đổi địa chỉ IPv6 máy chủ trước khi bắt đầu hoặc trong khi vận hành ứng dụng SRP (ví dụ: để thêm/xoá hoặc thay đổi địa chỉ máy chủ đã đăng ký trước đó), trừ phi thông tin máy chủ đang bị xoá (máy khách đang bận xử lý yêu cầu xoá từ lệnh gọi trước đó đến otSrpClientRemoveHostAndServices()
và thông tin máy chủ vẫn đang ở trạng thái STATE_TO_REMOVE
hoặc STATE_REMOVING
).
Mảng địa chỉ IPv6 máy chủ do aIp6Addresses
trỏ đến PHẢI duy trì và không thay đổi sau khi trở về từ hàm này (bằng OT_ERROR_NONE
). OpenThread sẽ lưu con trỏ vào mảng.
Sau khi gọi hàm này thành công, otSrpClientCallback
sẽ được gọi để báo cáo trạng thái đăng ký địa chỉ với máy chủ SRP.
Khi gọi hàm này, chế độ địa chỉ máy chủ lưu trữ tự động sẽ bị vô hiệu hoá nếu trước đó chế độ này đã được bật từ lệnh gọi thành công đến otSrpClientEnableAutoHostAddress()
.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
||||||
Giá trị trả về |
|
otSrpClientSetHostName
otError otSrpClientSetHostName( otInstance *aInstance, const char *aName )
Đặt nhãn tên máy chủ lưu trữ.
Sau khi gọi hàm này thành công, otSrpClientCallback
sẽ được gọi để báo cáo trạng thái đăng ký thông tin máy chủ lưu trữ với máy chủ SRP.
Vùng đệm chuỗi tên do aName
trỏ đến PHẢI duy trì và không thay đổi sau khi trả về từ hàm này. OpenThread sẽ giữ con trỏ tới chuỗi.
Bạn có thể đặt tên máy chủ trước khi máy khách khởi động hoặc sau khi khởi động, nhưng trước khi thông tin máy chủ được đăng ký với máy chủ (thông tin máy chủ phải ở dạng STATE_TO_ADD
hoặc STATE_REMOVED
).
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
||||||
Giá trị trả về |
|
otSrpClientSetKeyLeaseInterval
void otSrpClientSetKeyLeaseInterval( otInstance *aInstance, uint32_t aInterval )
Đặt khoảng thời gian thuê khoá mặc định dùng trong các yêu cầu cập nhật SRP.
Khoảng thời gian mặc định chỉ được dùng cho các thực thể otSrpClientService
có mKeyLease
được đặt thành 0.
Thay đổi khoảng thời gian thuê không ảnh hưởng đến khoảng thời gian thuê được chấp nhận của các dịch vụ/thông tin máy chủ đã đăng ký. Việc thay đổi chỉ ảnh hưởng đến mọi thông báo cập nhật SRP trong tương lai (tức là thêm dịch vụ mới và/hoặc làm mới dịch vụ hiện có).
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
otSrpClientSetLeaseInterval
void otSrpClientSetLeaseInterval( otInstance *aInstance, uint32_t aInterval )
Đặt khoảng thời gian thuê mặc định dùng trong các yêu cầu cập nhật SRP.
Khoảng thời gian mặc định chỉ được dùng cho các thực thể otSrpClientService
có mLease
được đặt thành 0.
Thay đổi khoảng thời gian thuê không ảnh hưởng đến khoảng thời gian thuê được chấp nhận của các dịch vụ/thông tin máy chủ đã đăng ký. Việc thay đổi chỉ ảnh hưởng đến mọi thông báo cập nhật SRP trong tương lai (tức là thêm dịch vụ mới và/hoặc làm mới dịch vụ hiện có).
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
otSrpClientSetServiceKeyRecordEnabled
void otSrpClientSetServiceKeyRecordEnabled( otInstance *aInstance, bool aEnabled )
Bật/tắt chế độ "bao gồm bản ghi khoá dịch vụ".
Khi được bật, ứng dụng SRP sẽ đưa bản ghi KEY vào Hướng dẫn mô tả dịch vụ trong thông báo cập nhật SRP mà ứng dụng gửi.
Có sẵn khi cấu hình OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
được bật.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
otSrpClientSetTtl
void otSrpClientSetTtl( otInstance *aInstance, uint32_t aTtl )
Đặt giá trị TTL trong mọi bản ghi có trong yêu cầu cập nhật SRP.
Việc thay đổi TTL không ảnh hưởng đến TTL của các dịch vụ/thông tin máy chủ đã đăng ký, mà chỉ ảnh hưởng đến các thông báo cập nhật SRP sau này (tức là thêm dịch vụ mới và/hoặc làm mới dịch vụ hiện có).
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
otSrpClientStart
otError otSrpClientStart( otInstance *aInstance, const otSockAddr *aServerSockAddr )
Bắt đầu thao tác ứng dụng SRP.
Máy khách SRP sẽ chuẩn bị và gửi thông báo "Cập nhật SRP" đến máy chủ SRP sau khi tất cả các điều kiện sau được đáp ứng:
- Ứng dụng SRP đã bắt đầu –
otSrpClientStart()
được gọi. - Đã đặt tên máy chủ và gọi
otSrpClientSetHostName()
. - Ít nhất một địa chỉ IPv6 máy chủ được đặt –
otSrpClientSetHostName()
sẽ được gọi. - Ít nhất một dịch vụ được thêm –
otSrpClientAddService()
sẽ được gọi.
Không quan trọng thứ tự gọi các hàm này. Khi tất cả điều kiện được đáp ứng, máy khách SRP sẽ chờ một khoảng thời gian trễ ngắn trước khi chuẩn bị thông báo "Cập nhật SRP" và gửi đến máy chủ. Độ trễ này cho phép người dùng thêm nhiều dịch vụ và/hoặc địa chỉ IPv6 trước khi thông báo Cập nhật SRP đầu tiên được gửi (đảm bảo gửi một Bản cập nhật SRP chứa tất cả thông tin). Cấu hình OPENTHREAD_CONFIG_SRP_CLIENT_UPDATE_TX_DELAY
sẽ chỉ định khoảng thời gian trễ.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
||||||
Giá trị trả về |
|
otSrpClientStop
void otSrpClientStop( otInstance *aInstance )
Dừng hoạt động của ứng dụng SRP.
Dừng mọi hoạt động tương tác khác với máy chủ SRP. Xin lưu ý rằng thao tác này không xoá hoặc xoá thông tin về máy chủ và/hoặc danh sách dịch vụ. Trường này đánh dấu tất cả dịch vụ cần được thêm/xoá lại sau khi ứng dụng khởi động (lại).
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
otSrpServerGetAddressMode
otSrpServerAddressMode otSrpServerGetAddressMode( otInstance *aInstance )
Trả về chế độ địa chỉ mà máy chủ SRP đang sử dụng.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Chế độ địa chỉ của máy chủ SRP.
|
otSrpServerGetAnycastModeSequenceNumber
uint8_t otSrpServerGetAnycastModeSequenceNumber( otInstance *aInstance )
Trả về số thứ tự dùng với chế độ địa chỉ Anycast.
Số thứ tự được đưa vào mục "Địa chỉ Anycast của Dịch vụ DNS/SRP" được xuất bản trong mục Dữ liệu mạng.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Số thứ tự Anycast.
|
otSrpServerGetDomain
const char * otSrpServerGetDomain( otInstance *aInstance )
Trả về miền được uỷ quyền cho máy chủ SRP.
Nếu miền không được thiết lập bằng SetDomain, thì giá trị "default.service.arpa." sẽ được trả về. Dấu chấm ở cuối luôn được thêm vào ngay cả khi miền được đặt mà không có dấu chấm.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Con trỏ đến chuỗi miền đã kết hợp bằng dấu chấm.
|
otSrpServerGetLeaseConfig
void otSrpServerGetLeaseConfig( otInstance *aInstance, otSrpServerLeaseConfig *aLeaseConfig )
Trả về cấu hình LEASE và KEY-LEASE của máy chủ SRP.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
otSrpServerGetNextHost
const otSrpServerHost * otSrpServerGetNextHost( otInstance *aInstance, const otSrpServerHost *aHost )
Trả về máy chủ đã đăng ký tiếp theo trên máy chủ SRP.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Trả về |
Con trỏ đến máy chủ đã đăng ký. NULL (Rỗng) nếu không tìm thấy thêm máy chủ nào.
|
otSrpServerGetPort
uint16_t otSrpServerGetPort( otInstance *aInstance )
Trả về cổng mà máy chủ SRP đang nghe.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Cổng của máy chủ SRP. Giá trị này sẽ trả về 0 nếu máy chủ không chạy.
|
otSrpServerGetResponseCounters
const otSrpServerResponseCounters * otSrpServerGetResponseCounters( otInstance *aInstance )
Trả về bộ đếm phản hồi của máy chủ SRP.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Con trỏ đến bộ đếm phản hồi của máy chủ SRP.
|
otSrpServerGetState
otSrpServerState otSrpServerGetState( otInstance *aInstance )
Trả về trạng thái của máy chủ SRP.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Trạng thái hiện tại của máy chủ SRP.
|
otSrpServerGetTtlConfig
void otSrpServerGetTtlConfig( otInstance *aInstance, otSrpServerTtlConfig *aTtlConfig )
Trả về cấu hình TTL của máy chủ SRP.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
otSrpServerHandleServiceUpdateResult
void otSrpServerHandleServiceUpdateResult( otInstance *aInstance, otSrpServerServiceUpdateId aId, otError aError )
Báo cáo kết quả xử lý bản cập nhật SRP cho máy chủ SRP.
Trình xử lý cập nhật dịch vụ sẽ gọi hàm này để trả về kết quả xử lý bản cập nhật SRP.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
otSrpServerHostGetAddresses
const otIp6Address * otSrpServerHostGetAddresses( const otSrpServerHost *aHost, uint8_t *aAddressesNum )
Trả về địa chỉ của máy chủ đã cho.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Trả về |
Con trỏ đến mảng Địa chỉ IPv6.
|
otSrpServerHostGetFullName
const char * otSrpServerHostGetFullName( const otSrpServerHost *aHost )
Trả về tên đầy đủ của máy chủ lưu trữ.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Con trỏ đến chuỗi tên máy chủ đã kết thúc rỗng.
|
otSrpServerHostGetLeaseInfo
void otSrpServerHostGetLeaseInfo( const otSrpServerHost *aHost, otSrpServerLeaseInfo *aLeaseInfo )
Trả về thông tin LEASE và KEY-LEASE của một máy chủ lưu trữ cụ thể.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
otSrpServerHostGetNextService
const otSrpServerService * otSrpServerHostGetNextService( const otSrpServerHost *aHost, const otSrpServerService *aService )
Trả về dịch vụ tiếp theo của máy chủ đã chọn.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Trả về |
Con trỏ đến dịch vụ tiếp theo hoặc giá trị NULL nếu không có dịch vụ nào khác.
|
otSrpServerHostIsDeleted
bool otSrpServerHostIsDeleted( const otSrpServerHost *aHost )
Cho biết liệu máy chủ dịch vụ SRP đã bị xoá hay chưa.
Máy chủ lưu trữ dịch vụ SRP có thể bị xoá nhưng vẫn giữ tên để sử dụng trong tương lai. Trong trường hợp này, thực thể máy chủ lưu trữ sẽ không bị xoá khỏi máy chủ/hệ thống đăng ký SRP.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
TRUE nếu máy chủ đã bị xoá, FALSE nếu chưa bị xoá.
|
otSrpServerHostMatchesFullName
bool otSrpServerHostMatchesFullName( const otSrpServerHost *aHost, const char *aFullName )
Cho biết liệu máy chủ có khớp với một tên máy chủ được cung cấp hay không.
Việc so khớp tên DNS được thực hiện bằng cách sử dụng phép so sánh chuỗi không phân biệt chữ hoa chữ thường (ví dụ: "Abc" và "aBc" được coi là giống nhau).
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otSrpServerIsAutoEnableMode
bool otSrpServerIsAutoEnableMode( otInstance *aInstance )
Cho biết liệu chế độ tự động bật được bật hay tắt.
Cần có tính năng của OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE
.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otSrpServerParseSubTypeServiceName
otError otSrpServerParseSubTypeServiceName( const char *aSubTypeServiceName, char *aLabel, uint8_t aLabelSize )
Phân tích cú pháp tên dịch vụ loại phụ (tên đầy đủ) và trích xuất nhãn loại phụ.
Tên dịch vụ đầy đủ của một dịch vụ loại phụ nằm ở phần sau "
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
||||||
Giá trị trả về |
|
otSrpServerServiceGetHost
const otSrpServerHost * otSrpServerServiceGetHost( const otSrpServerService *aService )
Trả về máy chủ lưu trữ có thực thể dịch vụ.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Con trỏ đến thực thể máy chủ.
|
otSrpServerServiceGetInstanceLabel
const char * otSrpServerServiceGetInstanceLabel( const otSrpServerService *aService )
Trả về nhãn thực thể dịch vụ (nhãn đầu tiên trong tên thực thể) của dịch vụ.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Con trỏ đến chuỗi nhãn của thực thể dịch vụ đã kết thúc rỗng.
|
otSrpServerServiceGetInstanceName
const char * otSrpServerServiceGetInstanceName( const otSrpServerService *aService )
Trả về tên phiên bản dịch vụ đầy đủ của dịch vụ.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Con trỏ đến chuỗi tên của thực thể dịch vụ đã kết thúc rỗng.
|
otSrpServerServiceGetLeaseInfo
void otSrpServerServiceGetLeaseInfo( const otSrpServerService *aService, otSrpServerLeaseInfo *aLeaseInfo )
Trả về thông tin LEASE và KEY-LEASE của một dịch vụ cụ thể.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
otSrpServerServiceGetNumberOfSubTypes
uint16_t otSrpServerServiceGetNumberOfSubTypes( const otSrpServerService *aService )
Lấy số lượng loại phụ của dịch vụ.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Số lượng loại phụ của
aService . |
otSrpServerServiceGetPort
uint16_t otSrpServerServiceGetPort( const otSrpServerService *aService )
Trả về cổng của thực thể dịch vụ.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Cổng dịch vụ.
|
otSrpServerServiceGetPriority
uint16_t otSrpServerServiceGetPriority( const otSrpServerService *aService )
Trả về mức độ ưu tiên của thực thể dịch vụ.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Mức độ ưu tiên của dịch vụ.
|
otSrpServerServiceGetServiceName
const char * otSrpServerServiceGetServiceName( const otSrpServerService *aService )
Trả về tên dịch vụ đầy đủ của dịch vụ.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Con trỏ đến chuỗi tên dịch vụ đã kết thúc rỗng.
|
otSrpServerServiceGetSubTypeServiceNameAt
const char * otSrpServerServiceGetSubTypeServiceNameAt( const otSrpServerService *aService, uint16_t aIndex )
Lấy tên dịch vụ loại phụ (tên đầy đủ) của dịch vụ tại một chỉ mục nhất định.
Tên dịch vụ đầy đủ của một dịch vụ loại phụ nằm ở phần sau "
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Trả về |
Con trỏ tới tên dịch vụ loại phụ tại
aIndex hoặc NULL nếu không có loại phụ nào tại chỉ mục này. |
otSrpServerServiceGetTtl
uint32_t otSrpServerServiceGetTtl( const otSrpServerService *aService )
Trả về TTL của thực thể dịch vụ.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
TTL của thực thể dịch vụ.
|
otSrpServerServiceGetTxtData
const uint8_t * otSrpServerServiceGetTxtData( const otSrpServerService *aService, uint16_t *aDataLength )
Trả về dữ liệu bản ghi TXT của thực thể dịch vụ.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Trả về |
Con trỏ đến vùng đệm chứa dữ liệu bản ghi TXT (độ dài dữ liệu TXT được trả về trong
aDataLength ). |
otSrpServerServiceGetWeight
uint16_t otSrpServerServiceGetWeight( const otSrpServerService *aService )
Trả về trọng số của thực thể dịch vụ.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Trọng lượng của dịch vụ.
|
otSrpServerServiceHasSubTypeServiceName
bool otSrpServerServiceHasSubTypeServiceName( const otSrpServerService *aService, const char *aSubTypeServiceName )
Cho biết dịch vụ có một loại phụ cụ thể hay không.
Việc so khớp tên DNS được thực hiện bằng cách sử dụng phép so sánh chuỗi không phân biệt chữ hoa chữ thường (ví dụ: "Abc" và "aBc" được coi là giống nhau).
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otSrpServerServiceIsDeleted
bool otSrpServerServiceIsDeleted( const otSrpServerService *aService )
Cho biết dịch vụ SRP đã bị xoá hay chưa.
Dịch vụ SRP có thể bị xoá nhưng vẫn giữ tên dịch vụ để sử dụng trong tương lai. Trong trường hợp này, thực thể dịch vụ sẽ không bị xoá khỏi máy chủ/tên đăng ký SRP. Đảm bảo rằng tất cả các dịch vụ đều bị xoá nếu máy chủ bị xoá.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
TRUE nếu dịch vụ đã bị xóa, FALSE nếu không.
|
otSrpServerServiceMatchesInstanceName
bool otSrpServerServiceMatchesInstanceName( const otSrpServerService *aService, const char *aInstanceName )
Cho biết liệu dịch vụ này có khớp với tên phiên bản dịch vụ đã cho hay không.
Việc so khớp tên DNS được thực hiện bằng cách sử dụng phép so sánh chuỗi không phân biệt chữ hoa chữ thường (ví dụ: "Abc" và "aBc" được coi là giống nhau).
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otSrpServerServiceMatchesServiceName
bool otSrpServerServiceMatchesServiceName( const otSrpServerService *aService, const char *aServiceName )
Cho biết liệu dịch vụ này có khớp với một tên dịch vụ cụ thể hay không.
Việc so khớp tên DNS được thực hiện bằng cách sử dụng phép so sánh chuỗi không phân biệt chữ hoa chữ thường (ví dụ: "Abc" và "aBc" được coi là giống nhau).
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otSrpServerSetAddressMode
otError otSrpServerSetAddressMode( otInstance *aInstance, otSrpServerAddressMode aMode )
Đặt chế độ địa chỉ mà máy chủ SRP sẽ sử dụng.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otSrpServerSetAnycastModeSequenceNumber
otError otSrpServerSetAnycastModeSequenceNumber( otInstance *aInstance, uint8_t aSequenceNumber )
Đặt số thứ tự dùng với chế độ địa chỉ Anycast.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otSrpServerSetAutoEnableMode
void otSrpServerSetAutoEnableMode( otInstance *aInstance, bool aEnabled )
Bật/tắt chế độ tự động bật trên máy chủ SRP.
Cần có tính năng của OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE
.
Khi chế độ này được bật, Trình quản lý định tuyến biên giới sẽ kiểm soát xem có nên bật hoặc tắt máy chủ SRP hay không. Máy chủ SRP được tự động bật nếu/khi Định tuyến đường biên bắt đầu và được thực hiện với tiền tố và cấu hình tuyến ban đầu (khi OMR và tiền tố trên liên kết được xác định, được quảng cáo trong thông báo Quảng cáo bộ định tuyến phát ra ở phía cơ sở hạ tầng và được xuất bản trong Dữ liệu mạng luồng). Máy chủ SRP tự động bị tắt nếu/khi BR bị ngừng (ví dụ: nếu giao diện mạng cơ sở hạ tầng bị gỡ xuống hoặc nếu BR bị tách).
Bạn có thể tắt chế độ này bằng lệnh gọi otSrpServerSetAutoEnableMode()
với aEnabled
được đặt thành false
hoặc nếu máy chủ SRP được bật/tắt một cách rõ ràng bằng lệnh gọi đến hàm otSrpServerSetEnabled()
. Việc tắt chế độ tự động bật bằng cách sử dụng otSrpServerSetAutoEnableMode(false)
sẽ không thay đổi trạng thái hiện tại của máy chủ SRP (ví dụ: nếu được bật, máy chủ sẽ vẫn bật).
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
otSrpServerSetDomain
otError otSrpServerSetDomain( otInstance *aInstance, const char *aDomain )
Thiết lập miền trên máy chủ SRP.
Dấu chấm ở cuối sẽ được nối vào aDomain
nếu dấu chấm chưa có ở đó. Chỉ nên gọi trước khi bật máy chủ SRP.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Thông số |
|
||||||||
Giá trị trả về |
|
otSrpServerSetEnabled
void otSrpServerSetEnabled( otInstance *aInstance, bool aEnabled )
Bật/tắt máy chủ SRP.
Trên Bộ định tuyến biên (Biên giới), bạn nên sử dụng otSrpServerSetAutoEnableMode()
.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
otSrpServerSetLeaseConfig
otError otSrpServerSetLeaseConfig( otInstance *aInstance, const otSrpServerLeaseConfig *aLeaseConfig )
Đặt cấu hình LEASE và KEY-LEASE cho máy chủ SRP.
Khi ứng dụng yêu cầu thời gian LEASE khác 0, giá trị đã cấp sẽ bị giới hạn trong phạm vi [aMinL chịu, aMaxL Android]; và giá trị KEY-LEASE khác 0 sẽ được cấp trong phạm vi [aMinKeyLcho, aMaxKeyL Android. Đối với thời gian LEASE hoặc KEY-LEASE bằng 0, sẽ không được cấp.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otSrpServerSetServiceUpdateHandler
void otSrpServerSetServiceUpdateHandler( otInstance *aInstance, otSrpServerServiceUpdateHandler aServiceHandler, void *aContext )
Đặt trình xử lý cập nhật dịch vụ SRP trên máy chủ SRP.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
otSrpServerSetTtlConfig
otError otSrpServerSetTtlConfig( otInstance *aInstance, const otSrpServerTtlConfig *aTtlConfig )
Đặt cấu hình TTL của máy chủ SRP.
TTL được cấp sẽ luôn không lớn hơn khoảng thời gian thuê tối đa được định cấu hình qua otSrpServerSetLeaseConfig()
, bất kể cấu hình TTL tối thiểu và tối đa.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
Tài nguyên
Các chủ đề tham khảo API OpenThread bắt nguồn từ mã nguồn, có trên GitHub. Để biết thêm thông tin hoặc để đóng góp cho tài liệu của chúng tôi, hãy tham khảo Tài nguyên.