akka.persistence.journal.leveldb
Interface LeveldbRecovery

All Superinterfaces:
AsyncRecovery
All Known Subinterfaces:
LeveldbStore
All Known Implementing Classes:
LeveldbJournal, SharedLeveldbStore

public interface LeveldbRecovery
extends AsyncRecovery

INTERNAL API.

LevelDB backed message replay and sequence number recovery.


Method Summary
 scala.concurrent.Future<java.lang.Object> asyncReadHighestSequenceNr(java.lang.String persistenceId, long fromSequenceNr)
          Plugin API: asynchronously reads the highest stored sequence number for the given persistenceId.
 scala.concurrent.Future<scala.runtime.BoxedUnit> asyncReplayMessages(java.lang.String persistenceId, long fromSequenceNr, long toSequenceNr, long max, scala.Function1<PersistentRepr,scala.runtime.BoxedUnit> replayCallback)
          Plugin API: asynchronously replays persistent messages.
 long readHighestSequenceNr(int persistenceId)
           
 MessageDispatcher replayDispatcher()
           
 java.lang.String replayDispatcherId()
           
 void replayMessages(int persistenceId, long fromSequenceNr, long toSequenceNr, long max, scala.Function1<PersistentRepr,scala.runtime.BoxedUnit> replayCallback)
           
 

Method Detail

replayDispatcherId

java.lang.String replayDispatcherId()

replayDispatcher

MessageDispatcher replayDispatcher()

asyncReadHighestSequenceNr

scala.concurrent.Future<java.lang.Object> asyncReadHighestSequenceNr(java.lang.String persistenceId,
                                                                     long fromSequenceNr)
Description copied from interface: AsyncRecovery
Plugin API: asynchronously reads the highest stored sequence number for the given persistenceId.

Specified by:
asyncReadHighestSequenceNr in interface AsyncRecovery
Parameters:
persistenceId - persistent actor id.
fromSequenceNr - hint where to start searching for the highest sequence number.
Returns:
(undocumented)

asyncReplayMessages

scala.concurrent.Future<scala.runtime.BoxedUnit> asyncReplayMessages(java.lang.String persistenceId,
                                                                     long fromSequenceNr,
                                                                     long toSequenceNr,
                                                                     long max,
                                                                     scala.Function1<PersistentRepr,scala.runtime.BoxedUnit> replayCallback)
Description copied from interface: AsyncRecovery
Plugin API: asynchronously replays persistent messages. Implementations replay a message by calling replayCallback. The returned future must be completed when all messages (matching the sequence number bounds) have been replayed. The future must be completed with a failure if any of the persistent messages could not be replayed.

The replayCallback must also be called with messages that have been marked as deleted. In this case a replayed message's deleted method must return true.

The channel ids of delivery confirmations that are available for a replayed message must be contained in that message's confirms sequence.

Specified by:
asyncReplayMessages in interface AsyncRecovery
Parameters:
persistenceId - persistent actor id.
fromSequenceNr - sequence number where replay should start (inclusive).
toSequenceNr - sequence number where replay should end (inclusive).
max - maximum number of messages to be replayed.
replayCallback - called to replay a single message. Can be called from any thread.

Returns:
(undocumented)
See Also:
AsyncWriteJournal, SyncWriteJournal

replayMessages

void replayMessages(int persistenceId,
                    long fromSequenceNr,
                    long toSequenceNr,
                    long max,
                    scala.Function1<PersistentRepr,scala.runtime.BoxedUnit> replayCallback)

readHighestSequenceNr

long readHighestSequenceNr(int persistenceId)