mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 04:52:45 +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
	
	 Sergey Bugaev
						Sergey Bugaev