Class: CDC::SolidQueue::Checkpoint
- Inherits:
-
Object
- Object
- CDC::SolidQueue::Checkpoint
- Defined in:
- lib/cdc/solid_queue/checkpoint.rb
Overview
Minimal in-memory checkpoint store.
Applications that need durable replay safety should provide a persistent object that responds to #advance(event, result).
Instance Attribute Summary collapse
- #position ⇒ Object? readonly
Instance Method Summary collapse
-
#advance(event, result = nil) ⇒ Object?
Advance to the best known source position for an enqueued event.
-
#initialize ⇒ Checkpoint
constructor
Build an empty checkpoint.
Constructor Details
#initialize ⇒ Checkpoint
Build an empty checkpoint.
14 15 16 |
# File 'lib/cdc/solid_queue/checkpoint.rb', line 14 def initialize @position = nil end |
Instance Attribute Details
#position ⇒ Object? (readonly)
11 12 13 |
# File 'lib/cdc/solid_queue/checkpoint.rb', line 11 def position @position end |
Instance Method Details
#advance(event, result = nil) ⇒ Object?
Advance to the best known source position for an enqueued event.
23 24 25 |
# File 'lib/cdc/solid_queue/checkpoint.rb', line 23 def advance(event, result = nil) @position = position_for(event) || result_position(result) || @position end |