-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Sequence ID production and consumption -- @package seqid @version 0.3.2 module Data.SequenceId -- | If the difference between the sequence IDs is not 1 then the -- appropriate error is returned. checkSeqId :: SequenceId -> SequenceId -> Maybe SequenceIdError -- | Increment to the next sequense ID incrementSeqId :: SequenceId -> SequenceId -- | If the current sequence ID is greater than 1 more than the last -- sequence ID then the appropriate error is returned. checkSeqIdM :: Monad m => SequenceId -> (SequenceIdT m) (Maybe SequenceIdError) -- | Update to the next sequense ID incrementSeqIdM :: Monad m => SequenceIdT m SequenceId -- | Last seen sequense ID lastSeqIdM :: Monad m => SequenceIdT m SequenceId type SequenceIdT = StateT SequenceId evalSequenceIdT :: Monad m => SequenceIdT m b -> SequenceId -> m b data SequenceIdError SequenceIdError :: !SequenceIdErrorType -> !SequenceId -> !SequenceId -> SequenceIdError errType :: SequenceIdError -> !SequenceIdErrorType lastSeqId :: SequenceIdError -> !SequenceId currSeqId :: SequenceIdError -> !SequenceId data SequenceIdErrorType SequenceIdDropped :: SequenceIdErrorType SequenceIdDuplicated :: SequenceIdErrorType type SequenceId = Word32 instance Eq SequenceIdErrorType instance Show SequenceIdErrorType instance Eq SequenceIdError instance Show SequenceIdError