46 const std::string
datatype = DataType().value();
48 const std::string md5 = Md5().
value();
49 md5sum_matches_ = collection_->initialize(datatype, md5);
65 char* data = (
char*)buffer.get();
67 collection_->insert(data, serial_size, metadata);
72 const std::string& sort_by,
bool ascending)
const 74 if (!md5sum_matches_ && !metadata_only)
84 const std::string& sort_by,
88 return std::vector<typename MessageWithMetadata<M>::ConstPtr>(res.first, res.second);
93 const bool metadata_only)
const 96 if (res.first == res.second)
116 return collection_->
count();
122 return md5sum_matches_;
Different md5 sum for messages.
unsigned removeMessages(Query::ConstPtr query)
Remove messages matching query.
Query::Ptr createQuery() const
MessageCollection()=default
Default constructor.
std::pair< ResultIterator< M >, ResultIterator< M > > range_t
unsigned count()
Count messages in collection.
void serialize(Stream &stream, const T &t)
Metadata::Ptr createMetadata() const
static const char * value()
Couldn't find matching message in collection.
void modifyMetadata(Query::ConstPtr q, Metadata::ConstPtr m)
Modify metadata Find message matching q and update its metadata using m In other words, overwrite keys in the message using m, but keep keys that don't occur in m.
uint32_t serializationLength(const T &t)