Ver código fonte

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

Yay for less arrows!
Sergey Bugaev 6 anos atrás
pai
commit
d06f4291a8
3 arquivos alterados com 14 adições e 14 exclusões
  1. 11 11
      Kernel/FileSystem/ProcFS.cpp
  2. 2 2
      Kernel/Net/TCPSocket.cpp
  3. 1 1
      Kernel/Net/TCPSocket.h

+ 11 - 11
Kernel/FileSystem/ProcFS.cpp

@@ -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>();

+ 2 - 2
Kernel/Net/TCPSocket.cpp

@@ -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()

+ 1 - 1
Kernel/Net/TCPSocket.h

@@ -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;