ladybird/Libraries/LibIPC
Andreas Kling 9103471863 LibIPC: Handle partial messages
Since we're using byte streamed Unix sockets for the IPC protocols,
it's possible for the kernel to run out of socket buffer space with
a partial message near the end of the buffer.

Handle this situation in IPC::Connection by buffering the bytes of
what may be a partial message, and prepending them to the incoming
data next time we receive from the peer.

This fixes WindowServer asserting when a peer is spamming it hard.
2020-10-25 11:37:42 +01:00
..
ClientConnection.h LibIPC: Remove unused DisconnectedEvent mechanism 2020-09-12 14:49:29 +02:00
CMakeLists.txt Build: Switch to CMake :^) 2020-05-14 20:15:18 +02:00
Connection.h LibIPC: Handle partial messages 2020-10-25 11:37:42 +01:00
Decoder.cpp LibIPC: Silence a warning when compiling with gcc -O0 2020-10-01 19:16:35 +02:00
Decoder.h LibIPC: Make IPC::encode() and ::decode() fail at compiletime when used 2020-10-04 23:12:28 +02:00
Dictionary.h Clipboard: Add a key-value map alongside the clipboard storage 2020-09-05 16:52:24 +02:00
Encoder.cpp LibIPC+Services: Support URL as a native IPC type 2020-06-07 22:55:33 +02:00
Encoder.h LibIPC: Make IPC::encode() and ::decode() fail at compiletime when used 2020-10-04 23:12:28 +02:00
Endpoint.cpp LibIPC: Remove leading I from filenames 2020-02-06 14:54:09 +01:00
Endpoint.h LibIPC: Remove leading I from filenames 2020-02-06 14:54:09 +01:00
Forward.h LibIPC: Add a simple IPC::Dictionary type (String key -> String value) 2020-05-03 23:01:58 +02:00
Message.cpp LibIPC: Remove leading I from filenames 2020-02-06 14:54:09 +01:00
Message.h LibIPC+IPCCompiler: Remove some unused members from generated messages 2020-02-15 12:10:48 +01:00
ServerConnection.h LibIPC: Move notifier handling entirely to IPC::Connection base class 2020-09-12 14:49:29 +02:00