We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent ad6f239 commit 171bb7fCopy full SHA for 171bb7f
1 file changed
crates/hyperqueue/src/server/client/mod.rs
@@ -82,8 +82,16 @@ async fn stream_history_events<Tx: Sink<ToClientMessage, Error = HqError> + Unpi
82
mut history: mpsc::UnboundedReceiver<Event>,
83
) {
84
log::debug!("Resending history started");
85
- while let Some(e) = history.recv().await {
86
- if tx.send(ToClientMessage::Event(e)).await.is_err() {
+
+ let mut events = Vec::with_capacity(1024);
87
+ let capacity = events.capacity();
88
+ while history.recv_many(&mut events, capacity).await != 0 {
89
+ let events = std::mem::replace(&mut events, Vec::with_capacity(capacity));
90
+ if tx
91
+ .send_all(&mut futures::stream::iter(events).map(|e| Ok(ToClientMessage::Event(e))))
92
+ .await
93
+ .is_err()
94
+ {
95
return;
96
}
97
0 commit comments