| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
RewindableIndex.Storable
Synopsis
- data Config
- memoryBufferSize :: Iso' Config Int
- data State h
- handle :: forall h. Lens' (State h) h
- config :: forall h. Lens' (State h) Config
- emptyState :: PrimMonad (StorableMonad h) => Int -> h -> StorableMonad h (State h)
- data Storage h
- storage :: forall h. Lens' (State h) (Storage h)
- events :: forall h h. Lens (Storage h) (Storage h) (MVector (PrimState (StorableMonad h)) (StorableEvent h)) (MVector (PrimState (StorableMonad h)) (StorableEvent h))
- cursor :: forall h. Lens' (Storage h) Int
- getMemoryEvents :: Storage h -> MVector (PrimState (StorableMonad h)) (StorableEvent h)
- getEvents :: Buffered h => PrimMonad (StorableMonad h) => State h -> StorableMonad h [StorableEvent h]
- filterWithQueryInterval :: forall h. HasPoint (StorableEvent h) (StorablePoint h) => Ord (StorablePoint h) => QueryInterval (StorablePoint h) -> [StorableEvent h] -> [StorableEvent h]
- data family StorableEvent h
- type family StorablePoint h
- data family StorableQuery h
- data family StorableResult h
- type family StorableMonad h :: * -> *
- data QueryInterval p
- = QEverything
- | QInterval p p
- class Buffered h where
- persistToStorage :: Foldable f => f (StorableEvent h) -> h -> StorableMonad h h
- getStoredEvents :: h -> StorableMonad h [StorableEvent h]
- class Queryable h where
- queryStorage :: Foldable f => QueryInterval (StorablePoint h) -> f (StorableEvent h) -> h -> StorableQuery h -> StorableMonad h (StorableResult h)
- class Resumable h where
- resumeFromStorage :: h -> StorableMonad h [StorablePoint h]
- class Rewindable h where
- rewindStorage :: StorablePoint h -> h -> StorableMonad h (Maybe h)
- class HasPoint e p where
- getPoint :: e -> p
- insert :: Buffered h => PrimMonad (StorableMonad h) => StorableEvent h -> State h -> StorableMonad h (State h)
- insertMany :: Foldable f => Buffered h => PrimMonad (StorableMonad h) => f (StorableEvent h) -> State h -> StorableMonad h (State h)
- rewind :: forall h. Rewindable h => HasPoint (StorableEvent h) (StorablePoint h) => PrimMonad (StorableMonad h) => Eq (StorablePoint h) => StorablePoint h -> State h -> StorableMonad h (Maybe (State h))
- resume :: Resumable h => State h -> StorableMonad h [StorablePoint h]
- query :: HasPoint (StorableEvent h) (StorablePoint h) => Ord (StorablePoint h) => Queryable h => PrimMonad (StorableMonad h) => QueryInterval (StorablePoint h) -> State h -> StorableQuery h -> StorableMonad h (StorableResult h)
State
emptyState :: PrimMonad (StorableMonad h) => Int -> h -> StorableMonad h (State h) Source #
events :: forall h h. Lens (Storage h) (Storage h) (MVector (PrimState (StorableMonad h)) (StorableEvent h)) (MVector (PrimState (StorableMonad h)) (StorableEvent h)) Source #
getMemoryEvents :: Storage h -> MVector (PrimState (StorableMonad h)) (StorableEvent h) Source #
getEvents :: Buffered h => PrimMonad (StorableMonad h) => State h -> StorableMonad h [StorableEvent h] Source #
filterWithQueryInterval :: forall h. HasPoint (StorableEvent h) (StorablePoint h) => Ord (StorablePoint h) => QueryInterval (StorablePoint h) -> [StorableEvent h] -> [StorableEvent h] Source #
data family StorableEvent h Source #
type family StorablePoint h Source #
data family StorableQuery h Source #
data family StorableResult h Source #
type family StorableMonad h :: * -> * Source #
API
data QueryInterval p Source #
Constructors
| QEverything | |
| QInterval p p |
Instances
class Buffered h where Source #
Methods
persistToStorage :: Foldable f => f (StorableEvent h) -> h -> StorableMonad h h Source #
getStoredEvents :: h -> StorableMonad h [StorableEvent h] Source #
class Queryable h where Source #
Methods
queryStorage :: Foldable f => QueryInterval (StorablePoint h) -> f (StorableEvent h) -> h -> StorableQuery h -> StorableMonad h (StorableResult h) Source #
class Resumable h where Source #
Methods
resumeFromStorage :: h -> StorableMonad h [StorablePoint h] Source #
class Rewindable h where Source #
Methods
rewindStorage :: StorablePoint h -> h -> StorableMonad h (Maybe h) Source #
insert :: Buffered h => PrimMonad (StorableMonad h) => StorableEvent h -> State h -> StorableMonad h (State h) Source #
insertMany :: Foldable f => Buffered h => PrimMonad (StorableMonad h) => f (StorableEvent h) -> State h -> StorableMonad h (State h) Source #
rewind :: forall h. Rewindable h => HasPoint (StorableEvent h) (StorablePoint h) => PrimMonad (StorableMonad h) => Eq (StorablePoint h) => StorablePoint h -> State h -> StorableMonad h (Maybe (State h)) Source #
resume :: Resumable h => State h -> StorableMonad h [StorablePoint h] Source #
query :: HasPoint (StorableEvent h) (StorablePoint h) => Ord (StorablePoint h) => Queryable h => PrimMonad (StorableMonad h) => QueryInterval (StorablePoint h) -> State h -> StorableQuery h -> StorableMonad h (StorableResult h) Source #