Compare commits
2 Commits
v1.0.3
...
d501c0181d
| Author | SHA1 | Date | |
|---|---|---|---|
| d501c0181d | |||
| 680f72f881 |
@@ -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;
|
||||
|
||||
@@ -31,7 +31,7 @@ struct ArrayFiller<TBase, TMessage, TMessages...> {
|
||||
template <typename TBase, typename TMessage>
|
||||
struct ArrayFiller<TBase, TMessage> {
|
||||
static void ArrayAppend(details::ArrayType<TBase>& array) {
|
||||
array.push_back([]() -> std::unique_ptr<TBase> { return std::make_unique<TMessage>(); });
|
||||
array.emplace_back([]() -> std::unique_ptr<TBase> { return std::make_unique<TMessage>(); });
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user