1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-23 19:05:08 +00:00

Net: Let Socket have read/write wrappers around sendto/recvfrom

The situations in IPv4Socket and LocalSocket were mirrors of each other
where one had implemented read/write as wrappers and the other had
sendto/recvfrom as wrappers.

Instead of this silliness, move read and write up to the Socket base.
Then mark them final, so subclasses have no choice but to implement
sendto and recvfrom.
This commit is contained in:
Andreas Kling 2019-08-05 10:03:19 +02:00
parent 9111d3626a
commit 6347e3aa51
6 changed files with 37 additions and 47 deletions

View file

@ -146,3 +146,13 @@ String Socket::absolute_path(const FileDescription& description) const
{
return String::format("socket:%x (role: %s)", this, to_string(description.socket_role()));
}
ssize_t Socket::read(FileDescription& description, u8* buffer, ssize_t size)
{
return recvfrom(description, buffer, size, 0, nullptr, 0);
}
ssize_t Socket::write(FileDescription& description, const u8* data, ssize_t size)
{
return sendto(description, data, size, 0, nullptr, 0);
}