fix encapsulate/decapsulated
All checks were successful
Linux arm64 / Build (push) Successful in 14s

This commit is contained in:
2025-03-04 10:59:18 +01:00
parent 680f72f881
commit d501c0181d

View File

@@ -48,11 +48,12 @@ Stream<IOTag, MessageDispatcher, MessageFactory, TOptions...>::Stream(
template <typename IOTag, typename MessageDispatcher, typename MessageFactory, typename... TOptions> template <typename IOTag, typename MessageDispatcher, typename MessageFactory, typename... TOptions>
void Stream<IOTag, MessageDispatcher, MessageFactory, TOptions...>::SendMessage(const MessageBase& a_Message) { void Stream<IOTag, MessageDispatcher, MessageFactory, TOptions...>::SendMessage(const MessageBase& a_Message) {
DataBuffer data = a_Message.Write(); DataBuffer data = a_Message.Write();
DataBuffer encapsulated = std::apply([&data](const auto&... a_Options) { TupleForEach([&data](const auto&... a_Options) {
return Encapsulate(data, a_Options...); data = Encapsulate(data, a_Options...);
}, m_Options); }, m_Options);
DataBuffer finalData; DataBuffer finalData;
finalData << VarInt{encapsulated.GetSize()} << encapsulated; finalData.Reserve(data.GetSize() + sizeof(VarInt::MAX_VALUE));
finalData << VarInt{data.GetSize()} << data;
m_Interface.Write(finalData); m_Interface.Write(finalData);
} }
@@ -93,8 +94,8 @@ void Stream<IOTag, MessageDispatcher, MessageFactory, TOptions...>::RecieveMessa
DataBuffer buffer; DataBuffer buffer;
buffer = m_Interface.Read(lenghtValue); buffer = m_Interface.Read(lenghtValue);
buffer = std::apply([&buffer, lenghtValue](const auto&... a_Options) { TupleForEach([&buffer, lenghtValue](const auto&... a_Options) {
return Decapsulate(buffer, a_Options...); buffer = Decapsulate(buffer, a_Options...);
}, m_Options); }, m_Options);
VarInt packetType; VarInt packetType;