DNS - 平台
本模块包含用于向上游 DNS 服务器发送递归 DNS 查询的平台抽象。
摘要
类型定义符 |
|
---|---|
otPlatDnsUpstreamQuery
|
typedefstruct otPlatDnsUpstreamQuery
此不透明类型表示上游 DNS 查询事务。 |
函数 |
|
---|---|
otPlatDnsCancelUpstreamQuery(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn)
|
void
取消上游查询的事务。
|
otPlatDnsStartUpstreamQuery(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn, const otMessage *aQuery)
|
void
启动一项上游查询事务。
|
otPlatDnsUpstreamQueryDone(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn, otMessage *aResponse)
|
void
平台会调用此函数来完成 DNS 查询。
|
类型定义符
函数
otPlatDnsCancelUpstreamQuery
void otPlatDnsCancelUpstreamQuery( otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn )
取消上游查询的事务。
平台必须调用 otPlatDnsUpstreamQueryDone
才能释放资源。
具体说明 | |||||
---|---|---|---|---|---|
参数 |
|
otPlatDnsStartUpstreamQuery
void otPlatDnsStartUpstreamQuery( otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn, const otMessage *aQuery )
启动一项上游查询事务。
- 如果成功(以及 DNS 协议消息表示的错误),平台应调用
otPlatDnsUpstreamQueryDone
。 - OpenThread 核心可通过调用
otPlatDnsCancelUpstreamQuery
取消(可能超时)查询事务,但平台不得对已取消的事务调用otPlatDnsUpstreamQueryDone
。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
otPlatDnsUpstreamQueryDone
void otPlatDnsUpstreamQueryDone( otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn, otMessage *aResponse )
平台会调用此函数来完成 DNS 查询。
事务将被释放,因此平台不得对同一事务调用两次。此函数将 aResponse
的所有权传递给 OpenThread 堆栈。
平台可以传递 nullptr,在没有响应的情况下关闭事务。
具体说明 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
资源
OpenThread API 参考文档源自 GitHub 上提供的源代码。如需了解详情,或者为我们的文档做贡献,请参阅资源。