![]() |
用于异步解析DNS
#include "EuvDns.hpp"
Public 类型 | |
| enum class | TypeE : uint8_t { Ipv4 , Ipv6 , UnSpec } |
| DNS解析类型 更多... | |
| using | OnResolved = std::function< void(Emx::ErrCodeE e, addrinfo *addr, void *arg)> |
| 获取到解析结果后触发的回调函数 更多... | |
Public 成员函数 | |
| EuvDns () | |
| ErrCodeE | Create (EuvLoop *loop) |
| 创建DNS解析 更多... | |
| void | Destroy () |
| 销毁DNS解析,如果任务未执行则立刻返回,如果任务在执行中则以阻塞方式等待任务执行完毕 更多... | |
| ErrCodeE | Run (const char *server, OnResolved cb, void *arg=nullptr, TypeE type=TypeE::UnSpec) |
| 开始运行地址解析 更多... | |
| using Emx::EuvDns::OnResolved = std::function<void(Emx::ErrCodeE e, addrinfo *addr, void *arg)> |
| e | [in] 解析结果是否正确 |
| addr | [in] 解析到的地址 |
| arg | [in] 调用run函数的时候传入的用户自定义私有数据指针 |
|
strong |
|
inline |
| void Emx::EuvDns::Destroy | ( | ) |
!
| ErrCodeE Emx::EuvDns::Run | ( | const char * | server, |
| OnResolved | cb, | ||
| void * | arg = nullptr, |
||
| TypeE | type = TypeE::UnSpec |
||
| ) |
| server | [in] 需要解析的url |
| cb | [in] 注册一个解析完成后的回调函数 |
| arg | [in] 用户自定义私有数据指针 |
| type | [in] 解析类型 |