mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 21:27:45 +00:00
LibCore: Move Stream-based sockets into the Core
namespace
This commit is contained in:
parent
d43a7eae54
commit
a96339b72b
123 changed files with 1157 additions and 1100 deletions
|
@ -21,7 +21,7 @@ struct CoreEventLoopDeferredInvoker final : public DeferredInvoker {
|
|||
}
|
||||
};
|
||||
|
||||
ConnectionBase::ConnectionBase(IPC::Stub& local_stub, NonnullOwnPtr<Core::Stream::LocalSocket> socket, u32 local_endpoint_magic)
|
||||
ConnectionBase::ConnectionBase(IPC::Stub& local_stub, NonnullOwnPtr<Core::LocalSocket> socket, u32 local_endpoint_magic)
|
||||
: m_local_stub(local_stub)
|
||||
, m_socket(move(socket))
|
||||
, m_local_endpoint_magic(local_endpoint_magic)
|
||||
|
@ -35,12 +35,12 @@ void ConnectionBase::set_deferred_invoker(NonnullOwnPtr<DeferredInvoker> deferre
|
|||
m_deferred_invoker = move(deferred_invoker);
|
||||
}
|
||||
|
||||
void ConnectionBase::set_fd_passing_socket(NonnullOwnPtr<Core::Stream::LocalSocket> socket)
|
||||
void ConnectionBase::set_fd_passing_socket(NonnullOwnPtr<Core::LocalSocket> socket)
|
||||
{
|
||||
m_fd_passing_socket = move(socket);
|
||||
}
|
||||
|
||||
Core::Stream::LocalSocket& ConnectionBase::fd_passing_socket()
|
||||
Core::LocalSocket& ConnectionBase::fd_passing_socket()
|
||||
{
|
||||
if (m_fd_passing_socket)
|
||||
return *m_fd_passing_socket;
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#include <LibCore/Event.h>
|
||||
#include <LibCore/EventLoop.h>
|
||||
#include <LibCore/Notifier.h>
|
||||
#include <LibCore/Socket.h>
|
||||
#include <LibCore/Stream.h>
|
||||
#include <LibCore/Timer.h>
|
||||
#include <LibIPC/Forward.h>
|
||||
|
@ -39,7 +40,7 @@ class ConnectionBase : public Core::Object {
|
|||
public:
|
||||
virtual ~ConnectionBase() override = default;
|
||||
|
||||
void set_fd_passing_socket(NonnullOwnPtr<Core::Stream::LocalSocket>);
|
||||
void set_fd_passing_socket(NonnullOwnPtr<Core::LocalSocket>);
|
||||
void set_deferred_invoker(NonnullOwnPtr<DeferredInvoker>);
|
||||
DeferredInvoker& deferred_invoker() { return *m_deferred_invoker; }
|
||||
|
||||
|
@ -49,11 +50,11 @@ public:
|
|||
void shutdown();
|
||||
virtual void die() { }
|
||||
|
||||
Core::Stream::LocalSocket& socket() { return *m_socket; }
|
||||
Core::Stream::LocalSocket& fd_passing_socket();
|
||||
Core::LocalSocket& socket() { return *m_socket; }
|
||||
Core::LocalSocket& fd_passing_socket();
|
||||
|
||||
protected:
|
||||
explicit ConnectionBase(IPC::Stub&, NonnullOwnPtr<Core::Stream::LocalSocket>, u32 local_endpoint_magic);
|
||||
explicit ConnectionBase(IPC::Stub&, NonnullOwnPtr<Core::LocalSocket>, u32 local_endpoint_magic);
|
||||
|
||||
virtual void may_have_become_unresponsive() { }
|
||||
virtual void did_become_responsive() { }
|
||||
|
@ -70,8 +71,8 @@ protected:
|
|||
|
||||
IPC::Stub& m_local_stub;
|
||||
|
||||
NonnullOwnPtr<Core::Stream::LocalSocket> m_socket;
|
||||
OwnPtr<Core::Stream::LocalSocket> m_fd_passing_socket;
|
||||
NonnullOwnPtr<Core::LocalSocket> m_socket;
|
||||
OwnPtr<Core::LocalSocket> m_fd_passing_socket;
|
||||
|
||||
RefPtr<Core::Timer> m_responsiveness_timer;
|
||||
|
||||
|
@ -86,7 +87,7 @@ protected:
|
|||
template<typename LocalEndpoint, typename PeerEndpoint>
|
||||
class Connection : public ConnectionBase {
|
||||
public:
|
||||
Connection(IPC::Stub& local_stub, NonnullOwnPtr<Core::Stream::LocalSocket> socket)
|
||||
Connection(IPC::Stub& local_stub, NonnullOwnPtr<Core::LocalSocket> socket)
|
||||
: ConnectionBase(local_stub, move(socket), LocalEndpoint::static_magic())
|
||||
{
|
||||
m_socket->on_ready_to_read = [this] {
|
||||
|
|
|
@ -26,7 +26,7 @@ public:
|
|||
using ServerStub = typename ServerEndpoint::Stub;
|
||||
using IPCProxy = typename ClientEndpoint::template Proxy<ServerEndpoint>;
|
||||
|
||||
ConnectionFromClient(ServerStub& stub, NonnullOwnPtr<Core::Stream::LocalSocket> socket, int client_id)
|
||||
ConnectionFromClient(ServerStub& stub, NonnullOwnPtr<Core::LocalSocket> socket, int client_id)
|
||||
: IPC::Connection<ServerEndpoint, ClientEndpoint>(stub, move(socket))
|
||||
, ClientEndpoint::template Proxy<ServerEndpoint>(*this, {})
|
||||
, m_client_id(client_id)
|
||||
|
|
|
@ -19,7 +19,7 @@ public:
|
|||
static ErrorOr<NonnullRefPtr<klass>> try_create(Args&&... args) \
|
||||
{ \
|
||||
auto parsed_socket_path = TRY(Core::SessionManagement::parse_path_with_sid(socket_path)); \
|
||||
auto socket = TRY(Core::Stream::LocalSocket::connect(move(parsed_socket_path))); \
|
||||
auto socket = TRY(Core::LocalSocket::connect(move(parsed_socket_path))); \
|
||||
/* We want to rate-limit our clients */ \
|
||||
TRY(socket->set_blocking(true)); \
|
||||
\
|
||||
|
@ -34,7 +34,7 @@ public:
|
|||
using ClientStub = typename ClientEndpoint::Stub;
|
||||
using IPCProxy = typename ServerEndpoint::template Proxy<ClientEndpoint>;
|
||||
|
||||
ConnectionToServer(ClientStub& local_endpoint, NonnullOwnPtr<Core::Stream::LocalSocket> socket)
|
||||
ConnectionToServer(ClientStub& local_endpoint, NonnullOwnPtr<Core::LocalSocket> socket)
|
||||
: Connection<ClientEndpoint, ServerEndpoint>(local_endpoint, move(socket))
|
||||
, ServerEndpoint::template Proxy<ClientEndpoint>(*this, {})
|
||||
{
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include <LibCore/AnonymousBuffer.h>
|
||||
#include <LibCore/DateTime.h>
|
||||
#include <LibCore/Proxy.h>
|
||||
#include <LibCore/Socket.h>
|
||||
#include <LibIPC/Decoder.h>
|
||||
#include <LibIPC/Dictionary.h>
|
||||
#include <LibIPC/File.h>
|
||||
|
|
|
@ -32,7 +32,7 @@ inline ErrorOr<T> decode(Decoder&)
|
|||
|
||||
class Decoder {
|
||||
public:
|
||||
Decoder(AK::Stream& stream, Core::Stream::LocalSocket& socket)
|
||||
Decoder(AK::Stream& stream, Core::LocalSocket& socket)
|
||||
: m_stream(stream)
|
||||
, m_socket(socket)
|
||||
{
|
||||
|
@ -56,11 +56,11 @@ public:
|
|||
|
||||
ErrorOr<size_t> decode_size();
|
||||
|
||||
Core::Stream::LocalSocket& socket() { return m_socket; }
|
||||
Core::LocalSocket& socket() { return m_socket; }
|
||||
|
||||
private:
|
||||
AK::Stream& m_stream;
|
||||
Core::Stream::LocalSocket& m_socket;
|
||||
Core::LocalSocket& m_socket;
|
||||
};
|
||||
|
||||
template<Arithmetic T>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue