made basic TCP connection to receive data

somewhat
This commit is contained in:
Andrew Rioux
2023-12-05 00:27:02 -05:00
parent 0bb2871568
commit 8c0ae083fe
13 changed files with 349 additions and 173 deletions

View File

@@ -104,7 +104,9 @@ pub fn spawn_connection_handler(
use packets::*;
let packet = connection_packet.pkt();
let Layer3Pkt::IPv4Pkt(ip_pkt) = packet.get_layer3_pkt()?;
let Layer3Pkt::IPv4Pkt(ip_pkt) = packet.get_layer3_pkt()? else {
todo!()
};
let Layer4Pkt::UDP(udp_pkt) = ip_pkt.get_layer4_packet()? else {
todo!()
};
@@ -199,7 +201,9 @@ fn authenticate<F: Fn()>(
Ok(p) => {
use packets::*;
let p = p.pkt();
let Layer3Pkt::IPv4Pkt(ip_pkt) = p.get_layer3_pkt()?;
let Layer3Pkt::IPv4Pkt(ip_pkt) = p.get_layer3_pkt()? else {
todo!()
};
let Layer4Pkt::UDP(udp_pkt) = ip_pkt.get_layer4_packet()? else {
todo!()
};
@@ -249,7 +253,9 @@ where
let msg = packet_handler.recv()?;
let pkt = msg.pkt();
let Layer3Pkt::IPv4Pkt(ip_pkt) = pkt.get_layer3_pkt()?;
let Layer3Pkt::IPv4Pkt(ip_pkt) = pkt.get_layer3_pkt()? else {
todo!()
};
let Layer4Pkt::UDP(udp_pkt) = ip_pkt.get_layer4_packet()? else {
todo!()
};

View File

@@ -110,7 +110,9 @@ impl InterfaceSender {
Self::RawUdp(interf) => Ok(interf.sendpacket(packet)?),
Self::Udp(interf) => {
use packets::*;
let Layer3Pkt::IPv4Pkt(ip_pkt) = packet.get_layer3_pkt()?;
let Layer3Pkt::IPv4Pkt(ip_pkt) = packet.get_layer3_pkt()? else {
todo!()
};
let Layer4Pkt::UDP(udp_pkt) = ip_pkt.get_layer4_packet()? else {
todo!()
};

View File

@@ -74,7 +74,9 @@ fn main() -> anyhow::Result<()> {
let pkt = pkt.pkt();
let Layer3Pkt::IPv4Pkt(ip_pkt) = pkt.get_layer3_pkt()?;
let Layer3Pkt::IPv4Pkt(ip_pkt) = pkt.get_layer3_pkt()? else {
todo!()
};
let Layer4Pkt::UDP(udp_pkt) = ip_pkt.get_layer4_packet()? else {
todo!()
};