4个稳定版本

1.1.1 2019年6月10日
1.1.0 2019年5月12日
1.0.1 2019年4月4日

#1 in #stopped


mooncell中使用

BSD-3-Clause许可

19KB
282 行代码(不含注释)

Build Status License Doc.rs

srvzio - 实现服务的实用crate

服务?什么服务?

这个crate受到了我对Google的Java库Guava的钦佩和喜爱,尤其是其Services

一个 Service 是指一种实体,当它启动时会执行工作,当它停止时则不会。这听起来非常模糊,对吧?好的,以下是Guava维基页面上关于这个主题的定义

Service代表一个具有操作状态的实体,具有启动和停止的方法。例如,web服务器、RPC服务器和计时器可以是服务。

管理这些服务的状态,这些服务需要适当的启动和关闭管理,可能非常复杂,尤其是如果涉及多个线程或调度时。

srvzio旨在提供这种功能的Rust版本。但由于Java和Rust之间存在巨大差异,我们将从小处着手,使用少量简单的抽象,然后希望随着时间的推移逐步扩展crate(也许会有你的贡献?)。

构建模块

  • Service:表示可以启动和停止的实体的Trait
  • ServiceStatusFlag:一种类型,用于表示Service实现的内状态
  • ServiceManager:具体Service组合

许可

BSD 3-Clause许可

依赖

~2–9MB
~81K SLoC