marconi-core-1.2.0.0: Modular indexing for rewindable ledger
Safe HaskellSafe-Inferred
LanguageHaskell2010

Marconi.Core.Indexer.ListIndexer

Description

In-memory indexer backed by a list.

See Marconi.Core for documentation.

Synopsis

Documentation

data ListIndexer event #

The constructor is not exposed, use listIndexer instead.

Instances

Instances details
Applicative m => Closeable m ListIndexer # 
Instance details

Defined in Marconi.Core.Indexer.ListIndexer

Methods

close :: ListIndexer event -> m () #

Monad m => IsIndex m event ListIndexer # 
Instance details

Defined in Marconi.Core.Indexer.ListIndexer

Methods

index :: Timed (Point event) (Maybe event) -> ListIndexer event -> m (ListIndexer event) #

indexAll :: (Eq (Point event), Traversable f) => f (Timed (Point event) (Maybe event)) -> ListIndexer event -> m (ListIndexer event) #

indexAllDescending :: (Eq (Point event), Traversable f) => f (Timed (Point event) (Maybe event)) -> ListIndexer event -> m (ListIndexer event) #

rollback :: Point event -> ListIndexer event -> m (ListIndexer event) #

setLastStablePoint :: Point event -> ListIndexer event -> m (ListIndexer event) #

Applicative m => IsSync m event ListIndexer # 
Instance details

Defined in Marconi.Core.Indexer.ListIndexer

Methods

lastStablePoint :: ListIndexer event -> m (Point event) #

lastSyncPoint :: ListIndexer event -> m (Point event) #

(HasGenesis (Point event), Applicative m) => Resetable m event ListIndexer # 
Instance details

Defined in Marconi.Core.Indexer.ListIndexer

Methods

reset :: ListIndexer event -> m (ListIndexer event) #

(Applicative m, Ord (Point event)) => Flushable m event ListIndexer # 
Instance details

Defined in Marconi.Core.Indexer.MixedIndexer

Associated Types

type Container ListIndexer :: Type -> Type #

Methods

memorySize :: ListIndexer event -> m Word #

flushMemory :: Point event -> ListIndexer event -> m (Container ListIndexer (Timed (Point event) event), ListIndexer event) #

(AppendResult m event query ListIndexer, Queryable m event query store) => Queryable m event query (MixedIndexer store ListIndexer) # 
Instance details

Defined in Marconi.Core.Indexer.MixedIndexer

Methods

query :: Point event -> query -> MixedIndexer store ListIndexer event -> m (Result query) #

queryLatest :: query -> MixedIndexer store ListIndexer event -> m (Result query) #

MonadError (QueryError (EventAtQuery event)) m => AppendResult m event (EventAtQuery event) ListIndexer # 
Instance details

Defined in Marconi.Core.Query

Methods

appendResult :: Point event -> EventAtQuery event -> ListIndexer event -> m (Result (EventAtQuery event)) -> m (Result (EventAtQuery event)) #

MonadError (QueryError (EventsFromQuery event)) m => AppendResult m event (EventsFromQuery event) ListIndexer # 
Instance details

Defined in Marconi.Core.Query

Methods

appendResult :: Point event -> EventsFromQuery event -> ListIndexer event -> m (Result (EventsFromQuery event)) -> m (Result (EventsFromQuery event)) #

MonadError (QueryError (EventsMatchingQuery event)) m => AppendResult m event (EventsMatchingQuery event) ListIndexer # 
Instance details

Defined in Marconi.Core.Query

Methods

appendResult :: Point event -> EventsMatchingQuery event -> ListIndexer event -> m (Result (EventsMatchingQuery event)) -> m (Result (EventsMatchingQuery event)) #

MonadError (QueryError (EventAtQuery event)) m => Queryable m event (EventAtQuery event) ListIndexer # 
Instance details

Defined in Marconi.Core.Query

Methods

query :: Point event -> EventAtQuery event -> ListIndexer event -> m (Result (EventAtQuery event)) #

queryLatest :: EventAtQuery event -> ListIndexer event -> m (Result (EventAtQuery event)) #

MonadError (QueryError (EventsFromQuery event)) m => Queryable m event (EventsFromQuery event) ListIndexer # 
Instance details

Defined in Marconi.Core.Query

Methods

query :: Point event -> EventsFromQuery event -> ListIndexer event -> m (Result (EventsFromQuery event)) #

queryLatest :: EventsFromQuery event -> ListIndexer event -> m (Result (EventsFromQuery event)) #

MonadError (QueryError (EventsMatchingQuery event)) m => Queryable m event (EventsMatchingQuery event) ListIndexer # 
Instance details

Defined in Marconi.Core.Query

Methods

query :: Point event -> EventsMatchingQuery event -> ListIndexer event -> m (Result (EventsMatchingQuery event)) #

queryLatest :: EventsMatchingQuery event -> ListIndexer event -> m (Result (EventsMatchingQuery event)) #

MonadError (QueryError (LatestEventsQuery event)) m => Queryable m event (LatestEventsQuery event) ListIndexer # 
Instance details

Defined in Marconi.Core.Query

Methods

query :: Point event -> LatestEventsQuery event -> ListIndexer event -> m (Result (LatestEventsQuery event)) #

queryLatest :: LatestEventsQuery event -> ListIndexer event -> m (Result (LatestEventsQuery event)) #

(Show event, Show (Point event)) => Show (ListIndexer event) # 
Instance details

Defined in Marconi.Core.Indexer.ListIndexer

type Container ListIndexer # 
Instance details

Defined in Marconi.Core.Indexer.MixedIndexer

events :: forall event. Lens' (ListIndexer event) [Timed (Point event) event] #

latestPoint :: forall event. Lens' (ListIndexer event) (Point event) #

mkListIndexer :: HasGenesis (Point event) => ListIndexer event #

A smart constructor for list indexer, starting at genesis with an empty list.