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

Kernel: Make TCPSocket::for_each() callback accept a reference

Yay for less arrows!
This commit is contained in:
Sergey Bugaev 2019-08-09 13:26:29 +03:00 committed by Andreas Kling
parent 84a54c7cf7
commit d06f4291a8
3 changed files with 14 additions and 14 deletions

View file

@ -295,17 +295,17 @@ Optional<KBuffer> procfs$net_tcp(InodeIdentifier)
JsonArray json;
TCPSocket::for_each([&json](auto& socket) {
JsonObject obj;
obj.set("local_address", socket->local_address().to_string());
obj.set("local_port", socket->local_port());
obj.set("peer_address", socket->peer_address().to_string());
obj.set("peer_port", socket->peer_port());
obj.set("state", TCPSocket::to_string(socket->state()));
obj.set("ack_number", socket->ack_number());
obj.set("sequence_number", socket->sequence_number());
obj.set("packets_in", socket->packets_in());
obj.set("bytes_in", socket->bytes_in());
obj.set("packets_out", socket->packets_out());
obj.set("bytes_out", socket->bytes_out());
obj.set("local_address", socket.local_address().to_string());
obj.set("local_port", socket.local_port());
obj.set("peer_address", socket.peer_address().to_string());
obj.set("peer_port", socket.peer_port());
obj.set("state", TCPSocket::to_string(socket.state()));
obj.set("ack_number", socket.ack_number());
obj.set("sequence_number", socket.sequence_number());
obj.set("packets_in", socket.packets_in());
obj.set("bytes_in", socket.bytes_in());
obj.set("packets_out", socket.packets_out());
obj.set("bytes_out", socket.bytes_out());
json.append(obj);
});
return json.serialized<KBufferBuilder>();

View file

@ -8,11 +8,11 @@
//#define TCP_SOCKET_DEBUG
void TCPSocket::for_each(Function<void(TCPSocket*&)> callback)
void TCPSocket::for_each(Function<void(TCPSocket&)> callback)
{
LOCKER(sockets_by_tuple().lock());
for (auto& it : sockets_by_tuple().resource())
callback(it.value);
callback(*it.value);
}
Lockable<HashMap<IPv4SocketTuple, TCPSocket*>>& TCPSocket::sockets_by_tuple()

View file

@ -6,7 +6,7 @@
class TCPSocket final : public IPv4Socket {
public:
static void for_each(Function<void(TCPSocket*&)>);
static void for_each(Function<void(TCPSocket&)>);
static NonnullRefPtr<TCPSocket> create(int protocol);
virtual ~TCPSocket() override;