mirror of
https://github.com/wichtounet/thor-os.git
synced 2025-09-17 16:51:33 -04:00
Review initialization of local ports
This commit is contained in:
parent
76b4264192
commit
ad7a4f41cf
@ -19,6 +19,8 @@ namespace network {
|
|||||||
|
|
||||||
namespace tcp {
|
namespace tcp {
|
||||||
|
|
||||||
|
void init_layer();
|
||||||
|
|
||||||
void decode(network::interface_descriptor& interface, network::ethernet::packet& packet);
|
void decode(network::interface_descriptor& interface, network::ethernet::packet& packet);
|
||||||
|
|
||||||
//TODO The parameters should be set in a descriptor
|
//TODO The parameters should be set in a descriptor
|
||||||
|
@ -25,6 +25,8 @@ struct header {
|
|||||||
uint16_t checksum;
|
uint16_t checksum;
|
||||||
} __attribute__((packed));
|
} __attribute__((packed));
|
||||||
|
|
||||||
|
void init_layer();
|
||||||
|
|
||||||
void decode(network::interface_descriptor& interface, network::ethernet::packet& packet);
|
void decode(network::interface_descriptor& interface, network::ethernet::packet& packet);
|
||||||
|
|
||||||
std::expected<network::ethernet::packet> user_prepare_packet(char* buffer, network::socket& sock, const packet_descriptor* descriptor);
|
std::expected<network::ethernet::packet> user_prepare_packet(char* buffer, network::socket& sock, const packet_descriptor* descriptor);
|
||||||
|
@ -183,6 +183,11 @@ void network::init(){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Initialize the necessary network layers
|
||||||
|
|
||||||
|
network::udp::init_layer();
|
||||||
|
network::tcp::init_layer();
|
||||||
}
|
}
|
||||||
|
|
||||||
void network::finalize(){
|
void network::finalize(){
|
||||||
|
@ -125,6 +125,10 @@ size_t tcp_payload_len(const network::ethernet::packet& packet){
|
|||||||
|
|
||||||
} //end of anonymous namespace
|
} //end of anonymous namespace
|
||||||
|
|
||||||
|
void network::tcp::init_layer(){
|
||||||
|
local_port = 1023;
|
||||||
|
}
|
||||||
|
|
||||||
void network::tcp::decode(network::interface_descriptor& interface, network::ethernet::packet& packet) {
|
void network::tcp::decode(network::interface_descriptor& interface, network::ethernet::packet& packet) {
|
||||||
packet.tag(2, packet.index);
|
packet.tag(2, packet.index);
|
||||||
|
|
||||||
@ -360,11 +364,6 @@ std::expected<void> network::tcp::finalize_packet(network::interface_descriptor&
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::expected<size_t> network::tcp::connect(network::socket& sock, network::interface_descriptor& interface, size_t server_port, network::ip::address server) {
|
std::expected<size_t> network::tcp::connect(network::socket& sock, network::interface_descriptor& interface, size_t server_port, network::ip::address server) {
|
||||||
// TODO This is terrible
|
|
||||||
if(!local_port.load()){
|
|
||||||
local_port = 1024;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create the connection
|
// Create the connection
|
||||||
|
|
||||||
auto& connection = connections.create_connection();
|
auto& connection = connections.create_connection();
|
||||||
|
@ -72,6 +72,10 @@ void prepare_packet(network::ethernet::packet& packet, size_t source, size_t tar
|
|||||||
|
|
||||||
} //end of anonymous namespace
|
} //end of anonymous namespace
|
||||||
|
|
||||||
|
void network::udp::init_layer(){
|
||||||
|
local_port = 1023;
|
||||||
|
}
|
||||||
|
|
||||||
void network::udp::decode(network::interface_descriptor& interface, network::ethernet::packet& packet){
|
void network::udp::decode(network::interface_descriptor& interface, network::ethernet::packet& packet){
|
||||||
packet.tag(2, packet.index);
|
packet.tag(2, packet.index);
|
||||||
|
|
||||||
@ -146,11 +150,6 @@ std::expected<void> network::udp::finalize_packet(network::interface_descriptor&
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::expected<size_t> network::udp::client_bind(network::socket& sock, size_t server_port, network::ip::address server){
|
std::expected<size_t> network::udp::client_bind(network::socket& sock, size_t server_port, network::ip::address server){
|
||||||
// TODO This is terrible
|
|
||||||
if(!local_port.load()){
|
|
||||||
local_port = 1024;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create the connection
|
// Create the connection
|
||||||
|
|
||||||
auto& connection = connections.create_connection();
|
auto& connection = connections.create_connection();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user