lbry-rocksdb/rocksdb/backup.pxd
2020-09-03 08:50:24 +02:00

36 lines
1.2 KiB
Cython

from libcpp cimport bool as cpp_bool
from libcpp.string cimport string
from libcpp.vector cimport vector
from libc.stdint cimport uint32_t
from libc.stdint cimport int64_t
from libc.stdint cimport uint64_t
from .status cimport Status
from .db cimport DB
from .env cimport Env
cdef extern from "rocksdb/utilities/backupable_db.h" namespace "rocksdb":
ctypedef uint32_t BackupID
cdef cppclass BackupableDBOptions:
BackupableDBOptions(const string& backup_dir)
cdef struct BackupInfo:
BackupID backup_id
int64_t timestamp
uint64_t size
cdef cppclass BackupEngine:
Status CreateNewBackup(DB*, cpp_bool) nogil except+
Status PurgeOldBackups(uint32_t) nogil except+
Status DeleteBackup(BackupID) nogil except+
void StopBackup() nogil except+
void GetBackupInfo(vector[BackupInfo]*) nogil except+
Status RestoreDBFromBackup(BackupID, string&, string&) nogil except+
Status RestoreDBFromLatestBackup(string&, string&) nogil except+
cdef Status BackupEngine_Open "rocksdb::BackupEngine::Open"(
Env*,
BackupableDBOptions&,
BackupEngine**)