@@ -2,7 +2,7 @@ use bytes::{BufMut, Bytes};
2
2
use rand:: Rng ;
3
3
use tracing:: { trace, trace_span} ;
4
4
5
- use super :: { Connection , SentFrames , TransmitBuilder , spaces:: SentPacket } ;
5
+ use super :: { Connection , DatagramBuffer , SentFrames , spaces:: SentPacket } ;
6
6
use crate :: {
7
7
ConnectionId , Instant , TransportError , TransportErrorCode ,
8
8
connection:: ConnectionSide ,
@@ -36,7 +36,7 @@ impl PacketBuilder {
36
36
now : Instant ,
37
37
space_id : SpaceId ,
38
38
dst_cid : ConnectionId ,
39
- transmits : & mut TransmitBuilder < ' _ > ,
39
+ datagram : & mut DatagramBuffer < ' _ > ,
40
40
ack_eliciting : bool ,
41
41
conn : & mut Connection ,
42
42
) -> Option < Self > {
@@ -120,9 +120,9 @@ impl PacketBuilder {
120
120
version,
121
121
} ) ,
122
122
} ;
123
- let partial_encode = header. encode ( & mut transmits . datagram_mut ( ) ) ;
123
+ let partial_encode = header. encode ( datagram ) ;
124
124
if conn. peer_params . grease_quic_bit && conn. rng . random ( ) {
125
- transmits . datagram_mut ( ) [ partial_encode. start ] ^= FIXED_BIT ;
125
+ datagram [ partial_encode. start ] ^= FIXED_BIT ;
126
126
}
127
127
128
128
let ( sample_size, tag_len) = if let Some ( ref crypto) = space. crypto {
@@ -146,10 +146,10 @@ impl PacketBuilder {
146
146
// pn_len + payload_len + tag_len >= sample_size + 4
147
147
// payload_len >= sample_size + 4 - pn_len - tag_len
148
148
let min_size = Ord :: max (
149
- transmits . datagram ( ) . len ( ) + ( sample_size + 4 ) . saturating_sub ( number. len ( ) + tag_len) ,
149
+ datagram. len ( ) + ( sample_size + 4 ) . saturating_sub ( number. len ( ) + tag_len) ,
150
150
partial_encode. start + dst_cid. len ( ) + 6 ,
151
151
) ;
152
- let max_size = transmits . datagram_mut ( ) . capacity ( ) - tag_len;
152
+ let max_size = datagram . capacity ( ) - tag_len;
153
153
debug_assert ! ( max_size >= min_size) ;
154
154
155
155
Some ( Self {
@@ -179,12 +179,12 @@ impl PacketBuilder {
179
179
now : Instant ,
180
180
conn : & mut Connection ,
181
181
sent : Option < SentFrames > ,
182
- transmits : & mut TransmitBuilder < ' _ > ,
182
+ datagram : & mut DatagramBuffer < ' _ > ,
183
183
) {
184
184
let ack_eliciting = self . ack_eliciting ;
185
185
let exact_number = self . exact_number ;
186
186
let space_id = self . space ;
187
- let ( size, padded) = self . finish ( conn, transmits ) ;
187
+ let ( size, padded) = self . finish ( conn, datagram ) ;
188
188
let sent = match sent {
189
189
Some ( sent) => sent,
190
190
None => return ,
@@ -225,13 +225,13 @@ impl PacketBuilder {
225
225
pub ( super ) fn finish (
226
226
self ,
227
227
conn : & mut Connection ,
228
- transmits : & mut TransmitBuilder < ' _ > ,
228
+ datagram : & mut DatagramBuffer < ' _ > ,
229
229
) -> ( usize , bool ) {
230
- let pad = self . min_size > transmits . datagram ( ) . len ( ) ;
230
+ let pad = self . min_size > datagram. len ( ) ;
231
231
if pad {
232
- let padding_bytes = self . min_size - transmits . datagram ( ) . len ( ) ;
232
+ let padding_bytes = self . min_size - datagram. len ( ) ;
233
233
trace ! ( "PADDING * {padding_bytes}" ) ;
234
- transmits . datagram_mut ( ) . put_bytes ( 0 , padding_bytes) ;
234
+ datagram . put_bytes ( 0 , padding_bytes) ;
235
235
}
236
236
237
237
let space = & conn. spaces [ self . space ] ;
@@ -250,18 +250,15 @@ impl PacketBuilder {
250
250
"Mismatching crypto tag len"
251
251
) ;
252
252
253
- transmits
254
- . datagram_mut ( )
255
- . put_bytes ( 0 , packet_crypto. tag_len ( ) ) ;
253
+ datagram. put_bytes ( 0 , packet_crypto. tag_len ( ) ) ;
256
254
let encode_start = self . partial_encode . start ;
257
- let mut datagram_buf = transmits. datagram_mut ( ) ;
258
- let packet_buf = & mut datagram_buf[ encode_start..] ;
255
+ let packet_buf = & mut datagram[ encode_start..] ;
259
256
self . partial_encode . finish (
260
257
packet_buf,
261
258
header_crypto,
262
259
Some ( ( self . exact_number , packet_crypto) ) ,
263
260
) ;
264
261
265
- ( transmits . datagram ( ) . len ( ) - encode_start, pad)
262
+ ( datagram. len ( ) - encode_start, pad)
266
263
}
267
264
}
0 commit comments