Skip to content

Commit 71ed10b

Browse files
committed
Fix the logic
1 parent 59bafcc commit 71ed10b

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

iroh/src/magicsock/transports/relay.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,16 +104,19 @@ impl RelayTransport {
104104
};
105105

106106
// This *tries* to make the datagrams fit into our buffer by re-batching them.
107-
let num_segments =
108-
buf_out.len() / dm.datagrams.segment_size.map_or(0, u16::from) as usize;
107+
let num_segments = dm
108+
.datagrams
109+
.segment_size
110+
.map_or(1, |ss| buf_out.len() / u16::from(ss) as usize);
109111
let datagrams = dm.datagrams.take_segments(num_segments);
112+
let empty_after = dm.datagrams.contents.is_empty();
110113
let dm = RelayRecvDatagram {
111114
datagrams,
112115
src: dm.src,
113116
url: dm.url.clone(),
114117
};
115118
// take_segments can leave `self.pending_item` empty, in that case we clear it
116-
if dm.datagrams.contents.is_empty() {
119+
if empty_after {
117120
self.pending_item = None;
118121
}
119122

0 commit comments

Comments
 (0)