add syncedBy and remote state components
This commit is contained in:
parent
d0a53a6366
commit
4ae7c4068f
@ -5,8 +5,11 @@
|
|||||||
//fwd
|
//fwd
|
||||||
struct FileI;
|
struct FileI;
|
||||||
|
|
||||||
#include <string>
|
#include <entt/container/dense_map.hpp>
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
namespace Message::Components {
|
namespace Message::Components {
|
||||||
|
|
||||||
@ -18,15 +21,17 @@ namespace Message::Components {
|
|||||||
Contact3 c;
|
Contact3 c;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// best guess as to how this should be displayed in the global order
|
||||||
struct Timestamp {
|
struct Timestamp {
|
||||||
uint64_t ts {0};
|
uint64_t ts {0};
|
||||||
};
|
};
|
||||||
|
|
||||||
struct TimestampProcessed {
|
struct TimestampWritten {
|
||||||
uint64_t ts {0};
|
uint64_t ts {0};
|
||||||
};
|
};
|
||||||
|
|
||||||
struct TimestampWritten {
|
// local start TODO: namespace ?
|
||||||
|
struct TimestampProcessed {
|
||||||
uint64_t ts {0};
|
uint64_t ts {0};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -36,6 +41,29 @@ namespace Message::Components {
|
|||||||
// TODO: too much?
|
// TODO: too much?
|
||||||
uint64_t ts {0};
|
uint64_t ts {0};
|
||||||
};
|
};
|
||||||
|
// local end
|
||||||
|
|
||||||
|
namespace Remote {
|
||||||
|
// TODO: milliseconds sound excessive
|
||||||
|
|
||||||
|
struct TimestampReceived {
|
||||||
|
// Due to a lack of info with most protocols,
|
||||||
|
// this is often the timestamp we heard they already have the message.
|
||||||
|
entt::dense_map<Contact3, uint64_t> ts;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct TimestampRead {
|
||||||
|
// Due to a lack of info with most protocols,
|
||||||
|
// this is often the timestamp we heard they have read it the message.
|
||||||
|
entt::dense_map<Contact3, uint64_t> ts;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // Remote
|
||||||
|
|
||||||
|
struct SyncedBy {
|
||||||
|
// ts is not updated once set
|
||||||
|
entt::dense_map<Contact3, uint64_t> ts;
|
||||||
|
};
|
||||||
|
|
||||||
struct MessageText {
|
struct MessageText {
|
||||||
std::string text;
|
std::string text;
|
||||||
|
@ -19,6 +19,9 @@ DEFINE_COMP_ID(Message::Components::TimestampProcessed)
|
|||||||
DEFINE_COMP_ID(Message::Components::TimestampWritten)
|
DEFINE_COMP_ID(Message::Components::TimestampWritten)
|
||||||
DEFINE_COMP_ID(Message::Components::TagUnread)
|
DEFINE_COMP_ID(Message::Components::TagUnread)
|
||||||
DEFINE_COMP_ID(Message::Components::Read)
|
DEFINE_COMP_ID(Message::Components::Read)
|
||||||
|
DEFINE_COMP_ID(Message::Components::Remote::TimestampReceived)
|
||||||
|
DEFINE_COMP_ID(Message::Components::Remote::TimestampRead)
|
||||||
|
DEFINE_COMP_ID(Message::Components::SyncedBy)
|
||||||
DEFINE_COMP_ID(Message::Components::MessageText)
|
DEFINE_COMP_ID(Message::Components::MessageText)
|
||||||
DEFINE_COMP_ID(Message::Components::TagMessageIsAction)
|
DEFINE_COMP_ID(Message::Components::TagMessageIsAction)
|
||||||
|
|
||||||
|
@ -36,6 +36,7 @@ namespace Events {
|
|||||||
} // Events
|
} // Events
|
||||||
|
|
||||||
// get unix time in milliseconds
|
// get unix time in milliseconds
|
||||||
|
// TODO: move to util
|
||||||
uint64_t getTimeMS(void);
|
uint64_t getTimeMS(void);
|
||||||
|
|
||||||
} // Message
|
} // Message
|
||||||
|
Loading…
Reference in New Issue
Block a user