diff options
Diffstat (limited to 'libs/shared/src/redis.rs')
| -rw-r--r-- | libs/shared/src/redis.rs | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/libs/shared/src/redis.rs b/libs/shared/src/redis.rs index 5cae869..77aa97f 100644 --- a/libs/shared/src/redis.rs +++ b/libs/shared/src/redis.rs @@ -1,22 +1,18 @@ use redis::{aio::MultiplexedConnection, Client}; use serde::Deserialize; -use std::{ - future::{Future, IntoFuture}, - pin::Pin, -}; +use std::{future::Future, pin::Pin}; #[derive(Clone, Debug, Deserialize)] pub struct Configuration { pub url: String, } -impl IntoFuture for Configuration { - type Output = anyhow::Result<MultiplexedConnection>; - type IntoFuture = Pin<Box<dyn Future<Output = Self::Output> + Send>>; - - fn into_future(self) -> Self::IntoFuture { +impl From<Configuration> + for Pin<Box<dyn Future<Output = anyhow::Result<MultiplexedConnection>> + Send>> +{ + fn from(value: Configuration) -> Self { Box::pin(async move { - let con = Client::open(self.url)?; + let con = Client::open(value.url)?; let (multiplex, ready) = con.create_multiplexed_tokio_connection().await?; tokio::spawn(ready); |
