mirror of
https://github.com/RGBCube/serenity
synced 2026-01-14 11:51:00 +00:00
This change unfortunately cannot be atomically made without a single commit changing everything. Most of the important changes are in LibIPC/Connection.cpp, LibIPC/ServerConnection.cpp and LibCore/LocalServer.cpp. The notable changes are: - IPCCompiler now generates the decode and decode_message functions such that they take a Core::Stream::LocalSocket instead of the socket fd. - IPC::Decoder now uses the receive_fd method of LocalSocket instead of doing system calls directly on the fd. - IPC::ConnectionBase and related classes now use the Stream API functions. - IPC::ServerConnection no longer constructs the socket itself; instead, a convenience macro, IPC_CLIENT_CONNECTION, is used in place of C_OBJECT and will generate a static try_create factory function for the ServerConnection subclass. The subclass is now responsible for passing the socket constructed in this function to its ServerConnection base; the socket is passed as the first argument to the constructor (as a NonnullOwnPtr<Core::Stream::LocalServer>) before any other arguments. - The functionality regarding taking over sockets from SystemServer has been moved to LibIPC/SystemServerTakeover.cpp. The Core::LocalSocket implementation of this functionality hasn't been deleted due to my intention of removing this class in the near future and to reduce noise on this (already quite noisy) PR. |
||
|---|---|---|
| .. | ||
| ClientConnection.cpp | ||
| ClientConnection.h | ||
| CMakeLists.txt | ||
| ConnectionCache.cpp | ||
| ConnectionCache.h | ||
| Forward.h | ||
| GeminiProtocol.cpp | ||
| GeminiProtocol.h | ||
| GeminiRequest.cpp | ||
| GeminiRequest.h | ||
| HttpCommon.h | ||
| HttpProtocol.cpp | ||
| HttpProtocol.h | ||
| HttpRequest.cpp | ||
| HttpRequest.h | ||
| HttpsProtocol.cpp | ||
| HttpsProtocol.h | ||
| HttpsRequest.cpp | ||
| HttpsRequest.h | ||
| main.cpp | ||
| Protocol.cpp | ||
| Protocol.h | ||
| Request.cpp | ||
| Request.h | ||
| RequestClient.ipc | ||
| RequestServer.ipc | ||