aboutsummaryrefslogtreecommitdiff
path: root/src/endpoint.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/endpoint.rs')
-rw-r--r--src/endpoint.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/endpoint.rs b/src/endpoint.rs
index 31500aa..588f7e3 100644
--- a/src/endpoint.rs
+++ b/src/endpoint.rs
@@ -52,7 +52,10 @@ where
T: EndpointHandler<M>,
M: Message + 'static,
{
- async fn handle(self: &Arc<Self>, m: Req<M>, from: NodeID) -> Resp<M> {
+ async fn handle(self: &Arc<Self>, mut m: Req<M>, from: NodeID) -> Resp<M> {
+ // Immediately drop stream to avoid backpressure if a stream was sent
+ // (this will make all data sent to the stream be ignored immediately)
+ drop(m.take_stream());
Resp::new(EndpointHandler::handle(self, m.msg(), from).await)
}
}