mirror of
https://github.com/matrix-construct/construct
synced 2024-11-12 13:01:07 +01:00
ircd::db::database::snapshot: Minor cleanup; inline, noexcept.
This commit is contained in:
parent
4edf7f0052
commit
d48e6ccb8d
2 changed files with 36 additions and 13 deletions
|
@ -19,8 +19,8 @@ namespace rocksdb
|
||||||
|
|
||||||
namespace ircd::db
|
namespace ircd::db
|
||||||
{
|
{
|
||||||
uint64_t sequence(const database::snapshot &); // Sequence of a snapshot
|
uint64_t sequence(const database::snapshot &) noexcept; // Sequence of a snapshot
|
||||||
uint64_t sequence(const rocksdb::Snapshot *const &);
|
uint64_t sequence(const rocksdb::Snapshot *) noexcept;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Database snapshot object. Maintaining this object will maintain a
|
/// Database snapshot object. Maintaining this object will maintain a
|
||||||
|
@ -31,12 +31,41 @@ struct ircd::db::database::snapshot
|
||||||
std::shared_ptr<const rocksdb::Snapshot> s;
|
std::shared_ptr<const rocksdb::Snapshot> s;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
operator const rocksdb::Snapshot *() const { return s.get(); }
|
operator const rocksdb::Snapshot *() const;
|
||||||
|
|
||||||
explicit operator bool() const { return bool(s); }
|
explicit operator bool() const;
|
||||||
bool operator !() const { return !s; }
|
bool operator !() const;
|
||||||
|
|
||||||
explicit snapshot(database &);
|
explicit snapshot(database &);
|
||||||
snapshot() = default;
|
snapshot() = default;
|
||||||
~snapshot() noexcept;
|
~snapshot() noexcept;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
inline bool
|
||||||
|
ircd::db::database::snapshot::operator!()
|
||||||
|
const
|
||||||
|
{
|
||||||
|
return !s;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline ircd::db::database::snapshot::operator
|
||||||
|
bool()
|
||||||
|
const
|
||||||
|
{
|
||||||
|
return bool(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline ircd::db::database::snapshot::operator
|
||||||
|
const rocksdb::Snapshot *()
|
||||||
|
const
|
||||||
|
{
|
||||||
|
return s.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
inline uint64_t
|
||||||
|
ircd::db::sequence(const database::snapshot &s)
|
||||||
|
noexcept
|
||||||
|
{
|
||||||
|
const rocksdb::Snapshot *const rs(s);
|
||||||
|
return sequence(rs);
|
||||||
|
}
|
||||||
|
|
|
@ -2109,14 +2109,8 @@ const noexcept
|
||||||
//
|
//
|
||||||
|
|
||||||
uint64_t
|
uint64_t
|
||||||
ircd::db::sequence(const database::snapshot &s)
|
ircd::db::sequence(const rocksdb::Snapshot *const rs)
|
||||||
{
|
noexcept
|
||||||
const rocksdb::Snapshot *const rs(s);
|
|
||||||
return sequence(rs);
|
|
||||||
}
|
|
||||||
|
|
||||||
uint64_t
|
|
||||||
ircd::db::sequence(const rocksdb::Snapshot *const &rs)
|
|
||||||
{
|
{
|
||||||
return likely(rs)? rs->GetSequenceNumber() : 0ULL;
|
return likely(rs)? rs->GetSequenceNumber() : 0ULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue