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>
|
||||
void Stream<IOTag, MessageDispatcher, MessageFactory, TOptions...>::SendMessage(const MessageBase& a_Message) {
|
||||
DataBuffer data = a_Message.Write();
|
||||
DataBuffer encapsulated = std::apply([&data](const auto&... a_Options) {
|
||||
return Encapsulate(data, a_Options...);
|
||||
TupleForEach([&data](const auto&... a_Options) {
|
||||
data = Encapsulate(data, a_Options...);
|
||||
}, m_Options);
|
||||
DataBuffer finalData;
|
||||
finalData << VarInt{encapsulated.GetSize()} << encapsulated;
|
||||
finalData.Reserve(data.GetSize() + sizeof(VarInt::MAX_VALUE));
|
||||
finalData << VarInt{data.GetSize()} << data;
|
||||
m_Interface.Write(finalData);
|
||||
}
|
||||
|
||||
@@ -93,8 +94,8 @@ void Stream<IOTag, MessageDispatcher, MessageFactory, TOptions...>::RecieveMessa
|
||||
DataBuffer buffer;
|
||||
buffer = m_Interface.Read(lenghtValue);
|
||||
|
||||
buffer = std::apply([&buffer, lenghtValue](const auto&... a_Options) {
|
||||
return Decapsulate(buffer, a_Options...);
|
||||
TupleForEach([&buffer, lenghtValue](const auto&... a_Options) {
|
||||
buffer = Decapsulate(buffer, a_Options...);
|
||||
}, m_Options);
|
||||
|
||||
VarInt packetType;
|
||||
|
||||
Reference in New Issue
Block a user