4个稳定版本
1.1.1 | 2019年6月10日 |
---|---|
1.1.0 | 2019年5月12日 |
1.0.1 | 2019年4月4日 |
#1 in #stopped
在mooncell中使用
19KB
282 行代码(不含注释)
srvzio - 实现服务的实用crate
服务?什么服务?
这个crate受到了我对Google的Java库Guava的钦佩和喜爱,尤其是其Services。
一个 Service
是指一种实体,当它启动时会执行工作,当它停止时则不会。这听起来非常模糊,对吧?好的,以下是Guava维基页面上关于这个主题的定义
Service代表一个具有操作状态的实体,具有启动和停止的方法。例如,web服务器、RPC服务器和计时器可以是服务。管理这些服务的状态,这些服务需要适当的启动和关闭管理,可能非常复杂,尤其是如果涉及多个线程或调度时。
srvzio旨在提供这种功能的Rust版本。但由于Java和Rust之间存在巨大差异,我们将从小处着手,使用少量简单的抽象,然后希望随着时间的推移逐步扩展crate(也许会有你的贡献?)。
构建模块
Service
:表示可以启动和停止的实体的TraitServiceStatusFlag
:一种类型,用于表示Service
实现的内状态ServiceManager
:具体Service
的组合
许可
依赖
~2–9MB
~81K SLoC