[Yunq] Move message parser to shared internal function.

This commit is contained in:
Drew Galbraith 2024-01-11 20:47:39 -08:00
parent a71d5e9d24
commit 984d8b143e
10 changed files with 109 additions and 155 deletions

View file

@ -38,16 +38,15 @@ glcr::Status KeyboardListener::ParseFromBytesInternal(const yunq::MessageView& m
uint64_t KeyboardListener::SerializeToBytes(glcr::ByteBuffer& bytes, uint64_t offset) const {
yunq::Serializer serializer(bytes, offset, 1);
// Write port_capability.
serializer.WriteCapability(0, port_capability_);
serializer.WriteHeader();
return serializer.size();
return SerializeInternal(serializer);
}
uint64_t KeyboardListener::SerializeToBytes(glcr::ByteBuffer& bytes, uint64_t offset, glcr::CapBuffer& caps) const {
yunq::Serializer serializer(bytes, offset, 1, caps);
return SerializeInternal(serializer);
}
uint64_t KeyboardListener::SerializeInternal(yunq::Serializer& serializer) const {
// Write port_capability.
serializer.WriteCapability(0, port_capability_);

View file

@ -7,6 +7,7 @@
#include <glacier/container/vector.h>
#include <glacier/string/string.h>
#include <yunq/message_view.h>
#include <yunq/serialize.h>
#include <ztypes.h>
@ -29,5 +30,7 @@ class KeyboardListener {
// Parses everything except for caps.
glcr::Status ParseFromBytesInternal(const yunq::MessageView& message);
uint64_t SerializeInternal(yunq::Serializer& serializer) const;
};