telegram_bot_fork/
future.rs

1use futures::{Future, Poll};
2
3use errors::Error;
4
5/// Represent a future that resolves into Telegram API response.
6#[must_use = "futures do nothing unless polled"]
7pub struct TelegramFuture<T> {
8    inner: Box<Future<Item = T, Error = Error>>,
9}
10
11pub trait NewTelegramFuture<T> {
12    fn new(inner: Box<Future<Item = T, Error = Error>>) -> Self;
13}
14
15impl<T> NewTelegramFuture<T> for TelegramFuture<T> {
16    fn new(inner: Box<Future<Item = T, Error = Error>>) -> Self {
17        Self { inner }
18    }
19}
20
21impl<T> Future for TelegramFuture<T> {
22    type Item = T;
23    type Error = Error;
24
25    fn poll(&mut self) -> Poll<Self::Item, Self::Error> {
26        self.inner.poll()
27    }
28}