summaryrefslogtreecommitdiff
path: root/src/event/app.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/event/app.rs')
-rw-r--r--src/event/app.rs9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/event/app.rs b/src/event/app.rs
index b309245..8661c90 100644
--- a/src/event/app.rs
+++ b/src/event/app.rs
@@ -1,12 +1,11 @@
use futures::{
- future,
+ Stream, future,
stream::{self, StreamExt as _},
- Stream,
};
use itertools::Itertools as _;
use sqlx::sqlite::SqlitePool;
-use super::{broadcaster::Broadcaster, Event, Sequence, Sequenced};
+use super::{Event, Sequence, Sequenced, broadcaster::Broadcaster};
use crate::{
channel::{self, repo::Provider as _},
login::{self, repo::Provider as _},
@@ -27,7 +26,7 @@ impl<'a> Events<'a> {
pub async fn subscribe(
&self,
resume_at: Sequence,
- ) -> Result<impl Stream<Item = Event> + std::fmt::Debug, Error> {
+ ) -> Result<impl Stream<Item = Event> + std::fmt::Debug + use<>, Error> {
// Subscribe before retrieving, to catch messages broadcast while we're
// querying the DB. We'll prune out duplicates later.
let live_messages = self.events.subscribe();
@@ -76,7 +75,7 @@ impl<'a> Events<'a> {
Ok(replay.chain(live_messages))
}
- fn resume(resume_at: Sequence) -> impl for<'m> FnMut(&'m Event) -> future::Ready<bool> {
+ fn resume(resume_at: Sequence) -> impl for<'m> FnMut(&'m Event) -> future::Ready<bool> + use<> {
let filter = Sequence::after(resume_at);
move |event| future::ready(filter(event))
}