V0 #1

Closed
RusticMaple wants to merge 105 commits from v0 into main
Showing only changes of commit 58c9e43fa3 - Show all commits

add fragments to v0 outgoing packets

Maple 2026-04-25 12:59:49 +02:00

View file

@ -106,17 +106,21 @@ impl<C: Crypto> Server<C> {
.expect("packet malformed in creation"), .expect("packet malformed in creation"),
);*/ );*/
let mut inner = conn.inner.lock().await; let mut inner = conn.inner.lock().await;
let pieces = data.chunks(1000);
let max_piece = pieces.len() - 1;
let mut frag_num = 1;
for (i, piece) in pieces.enumerate() {
let seq = inner.server_packet_counter; let seq = inner.server_packet_counter;
let packet = new_data_packet( let packet = new_data_packet(
NEED_ACK | RELIABLE, NEED_ACK | RELIABLE,
self.param.virtual_port, (&self).param.virtual_port,
conn.addr.virtual_port, conn.addr.virtual_port,
data, piece,
inner.server_packet_counter, inner.server_packet_counter,
conn.session_id, conn.session_id,
0, if i == max_piece { 0 } else { frag_num },
&mut inner.crypto_instance, &mut inner.crypto_instance,
&self.crypto, &(&self).crypto,
); );
inner.server_packet_counter += 1; inner.server_packet_counter += 1;
@ -125,8 +129,6 @@ impl<C: Crypto> Server<C> {
inner.unacknowledged_packets.insert(seq, packet); inner.unacknowledged_packets.insert(seq, packet);
drop(inner);
let conn = Arc::downgrade(&conn); let conn = Arc::downgrade(&conn);
let this = Arc::downgrade(&self); let this = Arc::downgrade(&self);
@ -150,6 +152,9 @@ impl<C: Crypto> Server<C> {
break; break;
} }
}); });
frag_num += 1;
}
drop(inner);
} }
async fn connection_thread( async fn connection_thread(
self: Arc<Self>, self: Arc<Self>,