blob: 8abb23859bfdb9986efb7a2e4e846e60b2368941 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
use crate::imp::RouteManagerCommand;
use futures::{channel::mpsc, stream::StreamExt};
/// Stub error type for routing errors on Android.
#[derive(Debug, thiserror::Error)]
#[error("Failed to send shutdown result")]
pub struct Error;
/// Stub route manager for Android
pub struct RouteManagerImpl {}
impl RouteManagerImpl {
#[allow(clippy::unused_async)]
pub async fn new() -> Result<Self, Error> {
Ok(RouteManagerImpl {})
}
pub(crate) async fn run(
self,
manage_rx: mpsc::UnboundedReceiver<RouteManagerCommand>,
) -> Result<(), Error> {
let mut manage_rx = manage_rx.fuse();
while let Some(command) = manage_rx.next().await {
match command {
RouteManagerCommand::Shutdown(tx) => {
tx.send(()).map_err(|()| Error)?;
break;
}
RouteManagerCommand::AddRoutes(_routes, tx) => {
let _ = tx.send(Ok(()));
}
RouteManagerCommand::ClearRoutes => (),
}
}
Ok(())
}
}
|