Skip to content

Commit 0e8d3c2

Browse files
committed
Add except() call to handle unexpectedly closed channels
1 parent c10072a commit 0e8d3c2

File tree

1 file changed

+19
-10
lines changed

1 file changed

+19
-10
lines changed

src/parse.rs

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ pub(crate) async fn handle_unilateral(
291291

292292
match res.parsed() {
293293
Response::MailboxData(MailboxDatum::Status { mailbox, status }) => {
294-
let _ = unsolicited
294+
unsolicited
295295
.send(UnsolicitedResponse::Status {
296296
mailbox: (*mailbox).into(),
297297
attributes: status
@@ -307,23 +307,32 @@ pub(crate) async fn handle_unilateral(
307307
})
308308
.collect(),
309309
})
310-
.await; //TODO: decide what to do with result
310+
.await
311+
.expect("Channel closed unexpectedly");
311312
}
312313
Response::MailboxData(MailboxDatum::Recent(n)) => {
313-
//TODO: decide what to do with result
314-
let _ = unsolicited.send(UnsolicitedResponse::Recent(*n)).await;
314+
unsolicited
315+
.send(UnsolicitedResponse::Recent(*n))
316+
.await
317+
.expect("Channel closed unexpectedly");
315318
}
316319
Response::MailboxData(MailboxDatum::Exists(n)) => {
317-
//TODO: decide what to do with result
318-
let _ = unsolicited.send(UnsolicitedResponse::Exists(*n)).await;
320+
unsolicited
321+
.send(UnsolicitedResponse::Exists(*n))
322+
.await
323+
.expect("Channel closed unexpectedly");
319324
}
320325
Response::Expunge(n) => {
321-
//TODO: decide what to do with result
322-
let _ = unsolicited.send(UnsolicitedResponse::Expunge(*n)).await;
326+
unsolicited
327+
.send(UnsolicitedResponse::Expunge(*n))
328+
.await
329+
.expect("Channel closed unexpectedly");
323330
}
324331
_ => {
325-
//TODO: decide what to do with result
326-
let _ = unsolicited.send(UnsolicitedResponse::Other(res)).await;
332+
unsolicited
333+
.send(UnsolicitedResponse::Other(res))
334+
.await
335+
.expect("Channel closed unexpectedly");
327336
}
328337
}
329338
}

0 commit comments

Comments
 (0)