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; | ||||
|     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>(); | ||||
|  |  | |||
|  | @ -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() | ||||
|  |  | |||
|  | @ -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; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Sergey Bugaev
						Sergey Bugaev