我正在将 actix-web 嵌入到绑定库中。我想HttpServer
在结构中声明 a 以便我可以轻松调用.start()
and .system_exit()
。根据我对源代码的非常基本的阅读,它已经实现为具有两个依赖项的结构:<H, F>
. 它还带有一个工厂来实例化自己。
如果我正确理解这一点,那么我将不得不HttpServer
在我的新结构中实现依赖项并在其中添加我自己的特征。我之前的想法是创建一个新结构并在HttpServer
其中声明为属性。对于需要在其中声明的泛型来说,这似乎很麻烦。
到目前为止,我想出的是:
struct CustomServer<T> {
srv: T,
}
impl<T> CustomServer<T>
where
T: HttpServer,
{
fn init() {
self.srv = HttpServer::new(|| App /* etc. */)
}
}
我不确定我是在抓住稻草还是在正确的方向。
问题是:我应该/如何定义一个具有 HttpServer 的结构,并且它的功能可以在我的结构中访问?