Everett
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
everett::merge_publication Struct Reference

#include <durability.h>

Public Member Functions

 merge_publication (merge_identity identity, std::string old_manifest, std::string output_generation)
 
publication_stage stage () const noexcept
 
std::string const & durable_manifest () const noexcept
 
std::string const & output_generation () const noexcept
 
std::string const & pending_manifest () const noexcept
 
std::optional< merge_checkpoint > const & checkpoint () const noexcept
 
bool old_pins_retained () const noexcept
 
bool can_release_old_pins () const noexcept
 
void complete_checkpoint (merge_checkpoint candidate, persistence_result result)
 
void complete_output (persistence_result result)
 
void prepare_manifest (std::string exact_id)
 
void complete_manifest (persistence_result result)
 
void report_io_failure ()
 
void resume (std::string fresh_generation, recovery_evidence evidence, std::optional< merge_checkpoint > retained=std::nullopt, selector_recovery selector=selector_recovery::unresolved)
 
void accept_recovered_publication (recovery_evidence evidence)
 
bool release_old_pins ()
 

Private Member Functions

void require_stage (publication_stage wanted) const
 
void validate_checkpoint (merge_checkpoint const &candidate) const
 

Static Private Member Functions

static void require_evidence (recovery_evidence evidence)
 

Private Attributes

merge_identity identity_
 
std::string durable_manifest_
 
std::string generation_
 
std::string pending_manifest_
 
std::vector< std::string > generations_
 
std::vector< std::string > manifests_
 
std::optional< merge_checkpoint > checkpoint_
 
publication_stage stage_ = publication_stage::building
 
bool old_pins_retained_ = true
 

Constructor & Destructor Documentation

◆ merge_publication()

everett::merge_publication::merge_publication ( merge_identity  identity,
std::string  old_manifest,
std::string  output_generation 
)
inline

Member Function Documentation

◆ accept_recovered_publication()

void everett::merge_publication::accept_recovered_publication ( recovery_evidence  evidence)
inline

◆ can_release_old_pins()

bool everett::merge_publication::can_release_old_pins ( ) const
inlinenoexcept

◆ checkpoint()

std::optional< merge_checkpoint > const & everett::merge_publication::checkpoint ( ) const
inlinenoexcept

◆ complete_checkpoint()

void everett::merge_publication::complete_checkpoint ( merge_checkpoint  candidate,
persistence_result  result 
)
inline

◆ complete_manifest()

void everett::merge_publication::complete_manifest ( persistence_result  result)
inline

◆ complete_output()

void everett::merge_publication::complete_output ( persistence_result  result)
inline

◆ durable_manifest()

std::string const & everett::merge_publication::durable_manifest ( ) const
inlinenoexcept

◆ old_pins_retained()

bool everett::merge_publication::old_pins_retained ( ) const
inlinenoexcept

◆ output_generation()

std::string const & everett::merge_publication::output_generation ( ) const
inlinenoexcept

◆ pending_manifest()

std::string const & everett::merge_publication::pending_manifest ( ) const
inlinenoexcept

◆ prepare_manifest()

void everett::merge_publication::prepare_manifest ( std::string  exact_id)
inline

◆ release_old_pins()

bool everett::merge_publication::release_old_pins ( )
inline

◆ report_io_failure()

void everett::merge_publication::report_io_failure ( )
inline

◆ require_evidence()

static void everett::merge_publication::require_evidence ( recovery_evidence  evidence)
inlinestaticprivate

◆ require_stage()

void everett::merge_publication::require_stage ( publication_stage  wanted) const
inlineprivate

◆ resume()

void everett::merge_publication::resume ( std::string  fresh_generation,
recovery_evidence  evidence,
std::optional< merge_checkpoint >  retained = std::nullopt,
selector_recovery  selector = selector_recovery::unresolved 
)
inline

◆ stage()

publication_stage everett::merge_publication::stage ( ) const
inlinenoexcept

◆ validate_checkpoint()

void everett::merge_publication::validate_checkpoint ( merge_checkpoint const &  candidate) const
inlineprivate

Member Data Documentation

◆ checkpoint_

std::optional<merge_checkpoint> everett::merge_publication::checkpoint_
private

◆ durable_manifest_

std::string everett::merge_publication::durable_manifest_
private

◆ generation_

std::string everett::merge_publication::generation_
private

◆ generations_

std::vector<std::string> everett::merge_publication::generations_
private

◆ identity_

merge_identity everett::merge_publication::identity_
private

◆ manifests_

std::vector<std::string> everett::merge_publication::manifests_
private

◆ old_pins_retained_

bool everett::merge_publication::old_pins_retained_ = true
private

◆ pending_manifest_

std::string everett::merge_publication::pending_manifest_
private

◆ stage_

publication_stage everett::merge_publication::stage_ = publication_stage::building
private

The documentation for this struct was generated from the following file: