pub trait QueryIcebox {
// Required methods
fn past_dependents(
&self,
cursors: &[Cursor],
) -> Result<Vec<OrphanedEnvelope>, ConnectionError>;
fn future_dependents(
&self,
cursors: &[Cursor],
) -> Result<Vec<OrphanedEnvelope>, ConnectionError>;
fn ice(
&self,
orphans: Vec<OrphanedEnvelope>,
) -> Result<usize, ConnectionError>;
fn prune_icebox(&self) -> Result<usize, ConnectionError>;
}Required Methods§
Sourcefn past_dependents(
&self,
cursors: &[Cursor],
) -> Result<Vec<OrphanedEnvelope>, ConnectionError>
fn past_dependents( &self, cursors: &[Cursor], ) -> Result<Vec<OrphanedEnvelope>, ConnectionError>
Returns the envelopes (if they exist) plus all their dependencies, and dependencies of dependencies, along with each envelope’s own dependencies. This could be useful for resolving issues where a commit that could have been processed, was accidentally committed to the icebox. Generally, if an envelope has a dependency on something in the icebox already it means its dependency could not be processed, so it must also be iceboxed.
Sourcefn future_dependents(
&self,
cursors: &[Cursor],
) -> Result<Vec<OrphanedEnvelope>, ConnectionError>
fn future_dependents( &self, cursors: &[Cursor], ) -> Result<Vec<OrphanedEnvelope>, ConnectionError>
Returns envelopes that depend on any of the specified cursors, along with each envelope’s own dependencies. Does not return the cursors themselves, if they exist in the chain.
Sourcefn ice(&self, orphans: Vec<OrphanedEnvelope>) -> Result<usize, ConnectionError>
fn ice(&self, orphans: Vec<OrphanedEnvelope>) -> Result<usize, ConnectionError>
cache the orphans until its parent(s) may be found.
Sourcefn prune_icebox(&self) -> Result<usize, ConnectionError>
fn prune_icebox(&self) -> Result<usize, ConnectionError>
Removes icebox entries that have been processed according to refresh_state. Deletes entries where the refresh_state cursor for the group is at or beyond the icebox entry’s sequence_id, indicating the envelope has been processed.