pub trait DiskFormatUpgrade {
// Required methods
fn version(&self) -> Version;
fn description(&self) -> &'static str;
fn run(
&self,
initial_tip_height: Height,
db: &ZebraDb,
cancel_receiver: &Receiver<CancelFormatChange>,
) -> Result<(), CancelFormatChange>;
// Provided methods
fn validate(
&self,
_db: &ZebraDb,
_cancel_receiver: &Receiver<CancelFormatChange>,
) -> Result<Result<(), String>, CancelFormatChange> { ... }
fn prepare(
&self,
_initial_tip_height: Height,
_upgrade_db: &ZebraDb,
_cancel_receiver: &Receiver<CancelFormatChange>,
_older_disk_version: &Version,
) -> Result<(), CancelFormatChange> { ... }
fn needs_migration(&self) -> bool { ... }
}
Expand description
Defines method signature for running disk format upgrades.
Required Methods§
Sourcefn description(&self) -> &'static str
fn description(&self) -> &'static str
Returns the description of this upgrade.
Sourcefn run(
&self,
initial_tip_height: Height,
db: &ZebraDb,
cancel_receiver: &Receiver<CancelFormatChange>,
) -> Result<(), CancelFormatChange>
fn run( &self, initial_tip_height: Height, db: &ZebraDb, cancel_receiver: &Receiver<CancelFormatChange>, ) -> Result<(), CancelFormatChange>
Runs disk format upgrade.
Provided Methods§
Sourcefn validate(
&self,
_db: &ZebraDb,
_cancel_receiver: &Receiver<CancelFormatChange>,
) -> Result<Result<(), String>, CancelFormatChange>
fn validate( &self, _db: &ZebraDb, _cancel_receiver: &Receiver<CancelFormatChange>, ) -> Result<Result<(), String>, CancelFormatChange>
Check that state has been upgraded to this format correctly.
The outer Result
indicates whether the validation was cancelled (due to e.g. node shutdown).
The inner Result
indicates whether the validation itself failed or not.
Sourcefn prepare(
&self,
_initial_tip_height: Height,
_upgrade_db: &ZebraDb,
_cancel_receiver: &Receiver<CancelFormatChange>,
_older_disk_version: &Version,
) -> Result<(), CancelFormatChange>
fn prepare( &self, _initial_tip_height: Height, _upgrade_db: &ZebraDb, _cancel_receiver: &Receiver<CancelFormatChange>, _older_disk_version: &Version, ) -> Result<(), CancelFormatChange>
Prepare for disk format upgrade.
Sourcefn needs_migration(&self) -> bool
fn needs_migration(&self) -> bool
Returns true if the DiskFormatUpgrade
needs to run a migration on existing data in the db.