@@ -2,7 +2,7 @@ use bytes::{BufMut, Bytes};
22use rand:: Rng ;
33use tracing:: { trace, trace_span} ;
44
5- use super :: { Connection , SentFrames , TransmitBuilder , spaces:: SentPacket } ;
5+ use super :: { Connection , DatagramBuffer , SentFrames , spaces:: SentPacket } ;
66use crate :: {
77 ConnectionId , Instant , TransportError , TransportErrorCode ,
88 connection:: ConnectionSide ,
@@ -36,7 +36,7 @@ impl PacketBuilder {
3636 now : Instant ,
3737 space_id : SpaceId ,
3838 dst_cid : ConnectionId ,
39- transmits : & mut TransmitBuilder < ' _ > ,
39+ datagram : & mut DatagramBuffer < ' _ > ,
4040 ack_eliciting : bool ,
4141 conn : & mut Connection ,
4242 ) -> Option < Self > {
@@ -120,9 +120,9 @@ impl PacketBuilder {
120120 version,
121121 } ) ,
122122 } ;
123- let partial_encode = header. encode ( & mut transmits . datagram_mut ( ) ) ;
123+ let partial_encode = header. encode ( datagram ) ;
124124 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 ;
126126 }
127127
128128 let ( sample_size, tag_len) = if let Some ( ref crypto) = space. crypto {
@@ -146,10 +146,10 @@ impl PacketBuilder {
146146 // pn_len + payload_len + tag_len >= sample_size + 4
147147 // payload_len >= sample_size + 4 - pn_len - tag_len
148148 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) ,
150150 partial_encode. start + dst_cid. len ( ) + 6 ,
151151 ) ;
152- let max_size = transmits . datagram_mut ( ) . capacity ( ) - tag_len;
152+ let max_size = datagram . capacity ( ) - tag_len;
153153 debug_assert ! ( max_size >= min_size) ;
154154
155155 Some ( Self {
@@ -179,12 +179,12 @@ impl PacketBuilder {
179179 now : Instant ,
180180 conn : & mut Connection ,
181181 sent : Option < SentFrames > ,
182- transmits : & mut TransmitBuilder < ' _ > ,
182+ datagram : & mut DatagramBuffer < ' _ > ,
183183 ) {
184184 let ack_eliciting = self . ack_eliciting ;
185185 let exact_number = self . exact_number ;
186186 let space_id = self . space ;
187- let ( size, padded) = self . finish ( conn, transmits ) ;
187+ let ( size, padded) = self . finish ( conn, datagram ) ;
188188 let sent = match sent {
189189 Some ( sent) => sent,
190190 None => return ,
@@ -225,13 +225,13 @@ impl PacketBuilder {
225225 pub ( super ) fn finish (
226226 self ,
227227 conn : & mut Connection ,
228- transmits : & mut TransmitBuilder < ' _ > ,
228+ datagram : & mut DatagramBuffer < ' _ > ,
229229 ) -> ( usize , bool ) {
230- let pad = self . min_size > transmits . datagram ( ) . len ( ) ;
230+ let pad = self . min_size > datagram. len ( ) ;
231231 if pad {
232- let padding_bytes = self . min_size - transmits . datagram ( ) . len ( ) ;
232+ let padding_bytes = self . min_size - datagram. len ( ) ;
233233 trace ! ( "PADDING * {padding_bytes}" ) ;
234- transmits . datagram_mut ( ) . put_bytes ( 0 , padding_bytes) ;
234+ datagram . put_bytes ( 0 , padding_bytes) ;
235235 }
236236
237237 let space = & conn. spaces [ self . space ] ;
@@ -250,18 +250,15 @@ impl PacketBuilder {
250250 "Mismatching crypto tag len"
251251 ) ;
252252
253- transmits
254- . datagram_mut ( )
255- . put_bytes ( 0 , packet_crypto. tag_len ( ) ) ;
253+ datagram. put_bytes ( 0 , packet_crypto. tag_len ( ) ) ;
256254 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..] ;
259256 self . partial_encode . finish (
260257 packet_buf,
261258 header_crypto,
262259 Some ( ( self . exact_number , packet_crypto) ) ,
263260 ) ;
264261
265- ( transmits . datagram ( ) . len ( ) - encode_start, pad)
262+ ( datagram. len ( ) - encode_start, pad)
266263 }
267264}
0 commit comments