1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:18:11 +00:00

IPv4: Remove an unnecessary copy of each outgoing IPv4 payload

There's no need for send_ipv4() to take a ByteBuffer&&, the data is
immediately cooked into a packet and transmitted. Instead, just pass
it the address+length of whatever buffer we've been using locally.

The more we can reduce the pressure on kmalloc the better. :^)
This commit is contained in:
Andreas Kling 2019-08-05 10:37:09 +02:00
parent 6347e3aa51
commit 52cfe9ebae
6 changed files with 9 additions and 9 deletions

View file

@ -70,7 +70,7 @@ int UDPSocket::protocol_send(const void* data, int data_length)
local_port(),
peer_address().to_string().characters(),
peer_port());
adapter->send_ipv4(MACAddress(), peer_address(), IPv4Protocol::UDP, move(buffer));
adapter->send_ipv4(MACAddress(), peer_address(), IPv4Protocol::UDP, buffer.data(), buffer.size());
return data_length;
}