ladybird/Libraries/LibIPC
Aliaksandr Kalenik 4b04e97feb LibWeb: Send IPC messages exceeding socket buffer through shared memory
It turned out that some web applications want to send fairly large
messages to WebWorker through IPC (for example, MapLibre GL sends
~1200KiB), which led to failures (at least on macOS) because buffer size
of TransportSocket is limited to 128KiB. This change solves the problem
by wrapping messages that exceed socket buffer size into another message
that holds wrapped message content in shared memory.

Co-Authored-By: Luke Wilde <luke@ladybird.org>
2025-04-03 13:55:41 +02:00
..
CMakeLists.txt LibIPC: Port to Windows 2025-02-12 22:31:43 -07:00
Concepts.h LibIPC: Add a generic encoder for spans 2025-03-09 11:14:20 -04:00
Connection.cpp LibWeb: Send IPC messages exceeding socket buffer through shared memory 2025-04-03 13:55:41 +02:00
Connection.h LibWeb: Send IPC messages exceeding socket buffer through shared memory 2025-04-03 13:55:41 +02:00
ConnectionFromClient.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
ConnectionToServer.h LibCore: Remove SessionManagement utilities 2024-11-26 11:00:48 +01:00
Decoder.cpp LibIPC: Ensure only valid URLs are passed over IPC 2025-02-19 08:01:35 -05:00
Decoder.h LibWeb: Send IPC messages exceeding socket buffer through shared memory 2025-04-03 13:55:41 +02:00
Encoder.cpp LibIPC: Do not require constructing containers when sending IPC messages 2025-03-09 11:14:20 -04:00
Encoder.h LibIPC: Add a generic encoder for spans 2025-03-09 11:14:20 -04:00
File.cpp LibWeb: Send IPC messages exceeding socket buffer through shared memory 2025-04-03 13:55:41 +02:00
File.h LibCore: Implement System::set_close_on_exec 2025-03-19 20:25:24 -06:00
FileWindows.cpp LibCore: Implement System::set_close_on_exec 2025-03-19 20:25:24 -06:00
Forward.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
HandleType.h LibIPC: Port to Windows 2025-02-12 22:31:43 -07:00
Message.cpp LibWeb: Send IPC messages exceeding socket buffer through shared memory 2025-04-03 13:55:41 +02:00
Message.h LibWeb: Send IPC messages exceeding socket buffer through shared memory 2025-04-03 13:55:41 +02:00
MessageWindows.cpp LibIPC: Port to Windows 2025-02-12 22:31:43 -07:00
MultiServer.h LibCore: Remove SessionManagement utilities 2024-11-26 11:00:48 +01:00
SingleServer.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Stub.h LibIPC+Everywhere: Always pass ownership of transferred data to clients 2025-03-09 11:14:20 -04:00
Transport.h LibIPC: Port to Windows 2025-02-12 22:31:43 -07:00
TransportSocket.cpp LibWeb: Send IPC messages exceeding socket buffer through shared memory 2025-04-03 13:55:41 +02:00
TransportSocket.h LibWeb: Send IPC messages exceeding socket buffer through shared memory 2025-04-03 13:55:41 +02:00
TransportSocketWindows.cpp LibIPC: Port to Windows 2025-02-12 22:31:43 -07:00
TransportSocketWindows.h LibIPC: Port to Windows 2025-02-12 22:31:43 -07:00
UnprocessedFileDescriptors.h LibWeb: Send IPC messages exceeding socket buffer through shared memory 2025-04-03 13:55:41 +02:00