File tree Expand file tree Collapse file tree 1 file changed +6
-3
lines changed
iroh/src/magicsock/transports Expand file tree Collapse file tree 1 file changed +6
-3
lines changed Original file line number Diff line number Diff line change @@ -104,16 +104,19 @@ impl RelayTransport {
104
104
} ;
105
105
106
106
// 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 ) ;
109
111
let datagrams = dm. datagrams . take_segments ( num_segments) ;
112
+ let empty_after = dm. datagrams . contents . is_empty ( ) ;
110
113
let dm = RelayRecvDatagram {
111
114
datagrams,
112
115
src : dm. src ,
113
116
url : dm. url . clone ( ) ,
114
117
} ;
115
118
// 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 {
117
120
self . pending_item = None ;
118
121
}
119
122
You can’t perform that action at this time.
0 commit comments