fix encapsulate/decapsulated
All checks were successful
Linux arm64 / Build (push) Successful in 14s
All checks were successful
Linux arm64 / Build (push) Successful in 14s
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user