mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 22:57:34 +00:00
Kernel: Stop using NonnullLockRefPtrVector
This commit is contained in:
parent
21db2b7b90
commit
7369d0ab5f
41 changed files with 90 additions and 109 deletions
|
@ -472,7 +472,7 @@ ErrorOr<void> LocalSocket::chown(Credentials const& credentials, OpenFileDescrip
|
|||
return {};
|
||||
}
|
||||
|
||||
NonnullLockRefPtrVector<OpenFileDescription>& LocalSocket::recvfd_queue_for(OpenFileDescription const& description)
|
||||
Vector<NonnullLockRefPtr<OpenFileDescription>>& LocalSocket::recvfd_queue_for(OpenFileDescription const& description)
|
||||
{
|
||||
auto role = this->role(description);
|
||||
if (role == Role::Connected)
|
||||
|
@ -482,7 +482,7 @@ NonnullLockRefPtrVector<OpenFileDescription>& LocalSocket::recvfd_queue_for(Open
|
|||
VERIFY_NOT_REACHED();
|
||||
}
|
||||
|
||||
NonnullLockRefPtrVector<OpenFileDescription>& LocalSocket::sendfd_queue_for(OpenFileDescription const& description)
|
||||
Vector<NonnullLockRefPtr<OpenFileDescription>>& LocalSocket::sendfd_queue_for(OpenFileDescription const& description)
|
||||
{
|
||||
auto role = this->role(description);
|
||||
if (role == Role::Connected)
|
||||
|
@ -520,10 +520,10 @@ ErrorOr<NonnullLockRefPtr<OpenFileDescription>> LocalSocket::recvfd(OpenFileDesc
|
|||
return queue.take_first();
|
||||
}
|
||||
|
||||
ErrorOr<NonnullLockRefPtrVector<OpenFileDescription>> LocalSocket::recvfds(OpenFileDescription const& socket_description, int n)
|
||||
ErrorOr<Vector<NonnullLockRefPtr<OpenFileDescription>>> LocalSocket::recvfds(OpenFileDescription const& socket_description, int n)
|
||||
{
|
||||
MutexLocker locker(mutex());
|
||||
NonnullLockRefPtrVector<OpenFileDescription> fds;
|
||||
Vector<NonnullLockRefPtr<OpenFileDescription>> fds;
|
||||
|
||||
auto role = this->role(socket_description);
|
||||
if (role != Role::Connected && role != Role::Accepted)
|
||||
|
|
|
@ -28,7 +28,7 @@ public:
|
|||
|
||||
ErrorOr<void> sendfd(OpenFileDescription const& socket_description, NonnullLockRefPtr<OpenFileDescription> passing_description);
|
||||
ErrorOr<NonnullLockRefPtr<OpenFileDescription>> recvfd(OpenFileDescription const& socket_description);
|
||||
ErrorOr<NonnullLockRefPtrVector<OpenFileDescription>> recvfds(OpenFileDescription const& socket_description, int n);
|
||||
ErrorOr<Vector<NonnullLockRefPtr<OpenFileDescription>>> recvfds(OpenFileDescription const& socket_description, int n);
|
||||
|
||||
static void for_each(Function<void(LocalSocket const&)>);
|
||||
static ErrorOr<void> try_for_each(Function<ErrorOr<void>(LocalSocket const&)>);
|
||||
|
@ -60,8 +60,8 @@ private:
|
|||
bool has_attached_peer(OpenFileDescription const&) const;
|
||||
DoubleBuffer* receive_buffer_for(OpenFileDescription&);
|
||||
DoubleBuffer* send_buffer_for(OpenFileDescription&);
|
||||
NonnullLockRefPtrVector<OpenFileDescription>& sendfd_queue_for(OpenFileDescription const&);
|
||||
NonnullLockRefPtrVector<OpenFileDescription>& recvfd_queue_for(OpenFileDescription const&);
|
||||
Vector<NonnullLockRefPtr<OpenFileDescription>>& sendfd_queue_for(OpenFileDescription const&);
|
||||
Vector<NonnullLockRefPtr<OpenFileDescription>>& recvfd_queue_for(OpenFileDescription const&);
|
||||
|
||||
void set_connect_side_role(Role connect_side_role, bool force_evaluate_block_conditions = false)
|
||||
{
|
||||
|
@ -101,8 +101,8 @@ private:
|
|||
NonnullOwnPtr<DoubleBuffer> m_for_client;
|
||||
NonnullOwnPtr<DoubleBuffer> m_for_server;
|
||||
|
||||
NonnullLockRefPtrVector<OpenFileDescription> m_fds_for_client;
|
||||
NonnullLockRefPtrVector<OpenFileDescription> m_fds_for_server;
|
||||
Vector<NonnullLockRefPtr<OpenFileDescription>> m_fds_for_client;
|
||||
Vector<NonnullLockRefPtr<OpenFileDescription>> m_fds_for_server;
|
||||
|
||||
IntrusiveListNode<LocalSocket> m_list_node;
|
||||
|
||||
|
|
|
@ -229,7 +229,7 @@ void handle_icmp(EthernetFrameHeader const& eth, IPv4Packet const& ipv4_packet,
|
|||
dbgln_if(ICMP_DEBUG, "handle_icmp: source={}, destination={}, type={:#02x}, code={:#02x}", ipv4_packet.source().to_string(), ipv4_packet.destination().to_string(), icmp_header.type(), icmp_header.code());
|
||||
|
||||
{
|
||||
NonnullLockRefPtrVector<IPv4Socket> icmp_sockets;
|
||||
Vector<NonnullLockRefPtr<IPv4Socket>> icmp_sockets;
|
||||
IPv4Socket::all_sockets().with_exclusive([&](auto& sockets) {
|
||||
for (auto& socket : sockets) {
|
||||
if (socket.protocol() == (unsigned)IPv4Protocol::ICMP)
|
||||
|
@ -237,7 +237,7 @@ void handle_icmp(EthernetFrameHeader const& eth, IPv4Packet const& ipv4_packet,
|
|||
}
|
||||
});
|
||||
for (auto& socket : icmp_sockets)
|
||||
socket.did_receive(ipv4_packet.source(), 0, { &ipv4_packet, sizeof(IPv4Packet) + ipv4_packet.payload_size() }, packet_timestamp);
|
||||
socket->did_receive(ipv4_packet.source(), 0, { &ipv4_packet, sizeof(IPv4Packet) + ipv4_packet.payload_size() }, packet_timestamp);
|
||||
}
|
||||
|
||||
auto adapter = NetworkingManagement::the().from_ipv4_address(ipv4_packet.destination());
|
||||
|
@ -657,7 +657,7 @@ void retransmit_tcp_packets()
|
|||
{
|
||||
// We must keep the sockets alive until after we've unlocked the hash table
|
||||
// in case retransmit_packets() realizes that it wants to close the socket.
|
||||
NonnullLockRefPtrVector<TCPSocket, 16> sockets;
|
||||
Vector<NonnullLockRefPtr<TCPSocket>, 16> sockets;
|
||||
TCPSocket::sockets_for_retransmit().for_each_shared([&](auto const& socket) {
|
||||
// We ignore allocation failures above the first 16 guaranteed socket slots, as
|
||||
// we will just retransmit their packets the next time around
|
||||
|
@ -665,8 +665,8 @@ void retransmit_tcp_packets()
|
|||
});
|
||||
|
||||
for (auto& socket : sockets) {
|
||||
MutexLocker socket_locker(socket.mutex());
|
||||
socket.retransmit_packets();
|
||||
MutexLocker socket_locker(socket->mutex());
|
||||
socket->retransmit_packets();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -64,7 +64,7 @@ LockRefPtr<NetworkAdapter> NetworkingManagement::from_ipv4_address(IPv4Address c
|
|||
return m_loopback_adapter;
|
||||
return m_adapters.with([&](auto& adapters) -> LockRefPtr<NetworkAdapter> {
|
||||
for (auto& adapter : adapters) {
|
||||
if (adapter.ipv4_address() == address || adapter.ipv4_broadcast() == address)
|
||||
if (adapter->ipv4_address() == address || adapter->ipv4_broadcast() == address)
|
||||
return adapter;
|
||||
}
|
||||
return nullptr;
|
||||
|
@ -75,7 +75,7 @@ LockRefPtr<NetworkAdapter> NetworkingManagement::lookup_by_name(StringView name)
|
|||
{
|
||||
return m_adapters.with([&](auto& adapters) -> LockRefPtr<NetworkAdapter> {
|
||||
for (auto& adapter : adapters) {
|
||||
if (adapter.name() == name)
|
||||
if (adapter->name() == name)
|
||||
return adapter;
|
||||
}
|
||||
return nullptr;
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
#include <AK/Types.h>
|
||||
#include <Kernel/Bus/PCI/Definitions.h>
|
||||
#include <Kernel/Library/NonnullLockRefPtr.h>
|
||||
#include <Kernel/Library/NonnullLockRefPtrVector.h>
|
||||
#include <Kernel/Locking/SpinlockProtected.h>
|
||||
#include <Kernel/Memory/Region.h>
|
||||
#include <Kernel/Net/NetworkAdapter.h>
|
||||
|
@ -42,7 +41,7 @@ public:
|
|||
private:
|
||||
ErrorOr<NonnullLockRefPtr<NetworkAdapter>> determine_network_device(PCI::DeviceIdentifier const&) const;
|
||||
|
||||
SpinlockProtected<NonnullLockRefPtrVector<NetworkAdapter>, LockRank::None> m_adapters {};
|
||||
SpinlockProtected<Vector<NonnullLockRefPtr<NetworkAdapter>>, LockRank::None> m_adapters {};
|
||||
LockRefPtr<NetworkAdapter> m_loopback_adapter;
|
||||
};
|
||||
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
#include <AK/Time.h>
|
||||
#include <Kernel/FileSystem/File.h>
|
||||
#include <Kernel/Library/LockRefPtr.h>
|
||||
#include <Kernel/Library/NonnullLockRefPtrVector.h>
|
||||
#include <Kernel/Locking/Mutex.h>
|
||||
#include <Kernel/Net/NetworkAdapter.h>
|
||||
#include <Kernel/UnixTypes.h>
|
||||
|
@ -182,7 +181,7 @@ private:
|
|||
|
||||
Optional<ErrnoCode> m_so_error;
|
||||
|
||||
NonnullLockRefPtrVector<Socket> m_pending;
|
||||
Vector<NonnullLockRefPtr<Socket>> m_pending;
|
||||
};
|
||||
|
||||
// This is a special variant of TRY() that also updates the socket's SO_ERROR field on error.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue