mirror of
https://github.com/RGBCube/serenity
synced 2025-05-24 01:25:07 +00:00
Kernel: Make TCPSocket::for_each() callback accept a reference
Yay for less arrows!
This commit is contained in:
parent
84a54c7cf7
commit
d06f4291a8
3 changed files with 14 additions and 14 deletions
|
@ -295,17 +295,17 @@ Optional<KBuffer> procfs$net_tcp(InodeIdentifier)
|
||||||
JsonArray json;
|
JsonArray json;
|
||||||
TCPSocket::for_each([&json](auto& socket) {
|
TCPSocket::for_each([&json](auto& socket) {
|
||||||
JsonObject obj;
|
JsonObject obj;
|
||||||
obj.set("local_address", socket->local_address().to_string());
|
obj.set("local_address", socket.local_address().to_string());
|
||||||
obj.set("local_port", socket->local_port());
|
obj.set("local_port", socket.local_port());
|
||||||
obj.set("peer_address", socket->peer_address().to_string());
|
obj.set("peer_address", socket.peer_address().to_string());
|
||||||
obj.set("peer_port", socket->peer_port());
|
obj.set("peer_port", socket.peer_port());
|
||||||
obj.set("state", TCPSocket::to_string(socket->state()));
|
obj.set("state", TCPSocket::to_string(socket.state()));
|
||||||
obj.set("ack_number", socket->ack_number());
|
obj.set("ack_number", socket.ack_number());
|
||||||
obj.set("sequence_number", socket->sequence_number());
|
obj.set("sequence_number", socket.sequence_number());
|
||||||
obj.set("packets_in", socket->packets_in());
|
obj.set("packets_in", socket.packets_in());
|
||||||
obj.set("bytes_in", socket->bytes_in());
|
obj.set("bytes_in", socket.bytes_in());
|
||||||
obj.set("packets_out", socket->packets_out());
|
obj.set("packets_out", socket.packets_out());
|
||||||
obj.set("bytes_out", socket->bytes_out());
|
obj.set("bytes_out", socket.bytes_out());
|
||||||
json.append(obj);
|
json.append(obj);
|
||||||
});
|
});
|
||||||
return json.serialized<KBufferBuilder>();
|
return json.serialized<KBufferBuilder>();
|
||||||
|
|
|
@ -8,11 +8,11 @@
|
||||||
|
|
||||||
//#define TCP_SOCKET_DEBUG
|
//#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());
|
LOCKER(sockets_by_tuple().lock());
|
||||||
for (auto& it : sockets_by_tuple().resource())
|
for (auto& it : sockets_by_tuple().resource())
|
||||||
callback(it.value);
|
callback(*it.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
Lockable<HashMap<IPv4SocketTuple, TCPSocket*>>& TCPSocket::sockets_by_tuple()
|
Lockable<HashMap<IPv4SocketTuple, TCPSocket*>>& TCPSocket::sockets_by_tuple()
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
class TCPSocket final : public IPv4Socket {
|
class TCPSocket final : public IPv4Socket {
|
||||||
public:
|
public:
|
||||||
static void for_each(Function<void(TCPSocket*&)>);
|
static void for_each(Function<void(TCPSocket&)>);
|
||||||
static NonnullRefPtr<TCPSocket> create(int protocol);
|
static NonnullRefPtr<TCPSocket> create(int protocol);
|
||||||
virtual ~TCPSocket() override;
|
virtual ~TCPSocket() override;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue