1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-24 21:57:35 +00:00

LibIPC: Add support for passing around ByteBuffers and HashMap<K, V>

It should be noted that using a shared buffer should still be preferred
over passing a raw ByteBuffer over the wire.
This commit is contained in:
AnotherTest 2020-11-07 23:09:45 +03:30 committed by Andreas Kling
parent 705ad670f3
commit c930e02624
4 changed files with 59 additions and 0 deletions

View file

@ -112,6 +112,25 @@ bool Decoder::decode(String& value)
return !m_stream.handle_any_error();
}
bool Decoder::decode(ByteBuffer& value)
{
i32 length = 0;
m_stream >> length;
if (m_stream.handle_any_error())
return false;
if (length < 0) {
value = {};
return true;
}
if (length == 0) {
value = ByteBuffer::create_uninitialized(0);
return true;
}
value = ByteBuffer::create_uninitialized(length);
m_stream >> value.bytes();
return !m_stream.handle_any_error();
}
bool Decoder::decode(URL& value)
{
String string;