1个不稳定版本
使用旧的Rust 2015
0.1.0 | 2017年12月5日 |
---|
#17 in #reduce-boilerplate
在2 crate中使用
12KB
180 行
NS Env Config
基于抽象-ns的,灵感来源于env_logger的名称解析一站式配置。
目标
- 使小型到中型应用的自举过程更容易
- 为Rust生态系统中的名称解析提供一种标准方式
特性
- 默认使用基于libc的标准名称解析(使用线程)
- [待办] 特性门控其他解析器(异步、consul等)
- 如果编译在内,解析器将通过
RUST_NS=resolver_name
启用 - 解析器的合理默认值
- 默认启用订阅(如果不可用则使用轮询)
- 一些选项从环境变量配置(
RUST_NS=resolver_name:option=value
) - [待办] 基于后缀的解析(《RUST_NS=std,consul=consul-resolver)
非目标
- 涵盖所有其他名称解析方式
- 涵盖每个解析器的所有设置
用法
标准解析器
$ RUST_NS=std ./your-app
由于标准库解析器不是异步的,我们将在线程池中运行解析器。
参数
poll_ivl
-- 订阅的轮询间隔(秒),默认1
threads
-- 名称解析的线程数,默认4
最大的声明类似于以下内容
$ RUST_NS=std:poll_ivl=10:threads=16 ./your-app
许可证
根据以下任一许可证授权
- Apache许可证,版本2.0,(./LICENSE-APACHE或http://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(./LICENSE-MIT或http://opensource.org/licenses/MIT),由您选择。
贡献
除非您明确表示,否则根据Apache-2.0许可证定义,您有意提交以包含在作品中的任何贡献,应按上述方式双许可,不附加任何额外条款或条件。
依赖项
~6.5MB
~105K SLoC