Cargo Features
[dependencies]
fastsend = { version = "1.2.3", default-features = false, features = ["pause_on_start", "ticket", "uuid", "auto_increment", "random62"] }
- default = pause_on_start
-
默认会开启
pause_on_start
特性,以期在极大程度上保证生成 ID 或序列号的唯一性(但也只是极大程度上)。 - pause_on_start default
-
"pause_on_start" 目前应用于两个场合:
BlockFrame::new
方法,由于BlockFrame
通常用作全局变量,因此将pause_on_start
置于 构建方法中,用于在程序启动时暂停至下一个时间节点(秒);TimeSerialer
的全局 slot,在lazy_static
中初始化时,使用Curosr::next
完成时间停顿, 以到达下一个时间节点(秒)。
以上两处 pause 的目的都在于抵达下一个时间节点,避免与已生成的 ID 或序列号重复。 如果使用 '--no-default-features' 参数去除
pause_on_start
,则需要使用者自己完成对生成 ID 或序列号 的唯一性校验,一般只在构建命令行(cli)应用时会去掉 pause_on_start 特性。 - ticket = thiserror
-
Affects
serial::ticket
… - uuid = itertools, md5, rand_chacha, sha-1
-
Affects
serial::uuid
… - auto_increment
-
Affects
serial::auto_increment
… - random62 = rand_chacha
-
Affects
serial::random62
…
Features from optional dependencies
In crates that don't use the dep:
syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.