Skip to main content

Sequencer

Trait Sequencer 

Source
pub trait Sequencer: Send + Sync {
    // Required methods
    fn next(&self) -> i64;
    fn publish(&self, sequence: i64);
    fn get_cursor(&self) -> i64;
    fn add_gating_sequences(&self, sequences: Vec<Arc<Sequence>>);
    fn get_highest_published_sequence(
        &self,
        next_sequence: i64,
        available_sequence: i64,
    ) -> i64;
}
Expand description

Sequencer trait for claiming and publishing slots.

Required Methods§

Source

fn next(&self) -> i64

Claims the next sequence.

Source

fn publish(&self, sequence: i64)

Publishes the given sequence.

Source

fn get_cursor(&self) -> i64

Gets the current cursor value (highest published sequence).

Source

fn add_gating_sequences(&self, sequences: Vec<Arc<Sequence>>)

Adds gating sequences.

Source

fn get_highest_published_sequence( &self, next_sequence: i64, available_sequence: i64, ) -> i64

Gets the highest published sequence that is safe to read.

Implementors§