2020-06-04 05:26:08 +02:00
|
|
|
// The Construct
|
|
|
|
//
|
|
|
|
// Copyright (C) The Construct Developers, Authors & Contributors
|
|
|
|
// Copyright (C) 2016-2020 Jason Volk <jason@zemos.net>
|
|
|
|
//
|
|
|
|
// Permission to use, copy, modify, and/or distribute this software for any
|
|
|
|
// purpose with or without fee is hereby granted, provided that the above
|
|
|
|
// copyright notice and this permission notice is present in all copies. The
|
|
|
|
// full license for this software is available in the LICENSE file.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
#define HAVE_IRCD_M_SYNC_SINCE_H
|
|
|
|
|
|
|
|
namespace ircd::m::sync
|
|
|
|
{
|
2020-06-04 06:35:42 +02:00
|
|
|
using since = std::tuple<event::idx, event::idx, string_view>;
|
2020-06-04 05:26:08 +02:00
|
|
|
|
2020-11-15 12:09:34 +01:00
|
|
|
event::idx sequence(const since &);
|
|
|
|
since make_since(const string_view &);
|
2020-06-04 06:35:42 +02:00
|
|
|
string_view make_since(const mutable_buffer &, const m::events::range &, const string_view &flags = {});
|
|
|
|
string_view make_since(const mutable_buffer &, const int64_t &, const string_view &flags = {});
|
2020-11-15 12:09:34 +01:00
|
|
|
}
|
2020-06-04 05:26:08 +02:00
|
|
|
|
2020-11-15 12:09:34 +01:00
|
|
|
inline ircd::m::event::idx
|
|
|
|
ircd::m::sync::sequence(const since &since)
|
|
|
|
{
|
|
|
|
const auto &[token, snapshot, flags]
|
|
|
|
{
|
|
|
|
since
|
|
|
|
};
|
|
|
|
|
|
|
|
return snapshot?: token?: -1UL;
|
2020-06-04 05:26:08 +02:00
|
|
|
}
|