| Portability | unknown |
|---|---|
| Stability | unstable |
| Maintainer | Conrad Parker <conrad@metadecks.org> |
Data.ZoomCache.Types
Description
ZoomCache packet and summary types and interfaces
- class ZoomReadable a where
- data SummaryData a :: *
- readRaw :: (Functor m, MonadIO m) => Iteratee [Word8] m a
- readSummary :: (Functor m, MonadIO m) => Iteratee [Word8] m (SummaryData a)
- prettyRaw :: a -> String
- prettySummaryData :: SummaryData a -> String
- class ZoomWritable a where
- data SummaryWork a :: *
- fromRaw :: a -> Builder
- fromSummaryData :: SummaryData a -> Builder
- initSummaryWork :: TimeStamp -> SummaryWork a
- updateSummaryData :: Int -> TimeStamp -> a -> SummaryWork a -> SummaryWork a
- toSummaryData :: Double -> SummaryWork a -> SummaryData a
- appendSummaryData :: Double -> SummaryData a -> Double -> SummaryData a -> SummaryData a
- data ZoomRaw = forall a . ZoomReadable a => ZoomRaw [a]
- data ZoomSummary = forall a . ZoomReadable a => ZoomSummary (Summary a)
- data ZoomWork = forall a . (Typeable a, ZoomWritable a) => ZoomWork {}
- data Packet = Packet {}
- data Summary a = Summary {}
- summaryDuration :: Summary a -> Int64
Classes
class ZoomReadable a whereSource
A codec instance must specify a SummaryData type,
and implement all methods of this class.
Associated Types
data SummaryData a :: *Source
Methods
readRaw :: (Functor m, MonadIO m) => Iteratee [Word8] m aSource
An iteratee to read one value of type a from a stream of '[Word8]'.
readSummary :: (Functor m, MonadIO m) => Iteratee [Word8] m (SummaryData a)Source
An iteratee to read one value of type 'SummaryData a' from a stream of '[Word8]'.
prettyRaw :: a -> StringSource
Pretty printing, used for dumping values of type a.
prettySummaryData :: SummaryData a -> StringSource
Pretty printing for values of type 'SummaryData a'.
Instances
class ZoomWritable a whereSource
A codec instance must additionally specify a SummaryWork type
Methods
Serialize a value of type a
fromSummaryData :: SummaryData a -> BuilderSource
Serialize a 'SummaryData a'
initSummaryWork :: TimeStamp -> SummaryWork aSource
Generate a new 'SummaryWork a', given an initial timestamp.
updateSummaryData :: Int -> TimeStamp -> a -> SummaryWork a -> SummaryWork aSource
Update a SummaryData with the value of a occuring at the
given TimeStamp.
toSummaryData :: Double -> SummaryWork a -> SummaryData aSource
Finalize a 'SummaryWork a', generating a 'SummaryData a'.
appendSummaryData :: Double -> SummaryData a -> Double -> SummaryData a -> SummaryData aSource
Append two SummaryData
Instances
Constructors
| forall a . ZoomReadable a => ZoomRaw [a] |
data ZoomSummary Source
Constructors
| forall a . ZoomReadable a => ZoomSummary (Summary a) |
Constructors
| forall a . (Typeable a, ZoomWritable a) => ZoomWork | |
Types
Constructors
| Packet | |
Fields
| |
A recorded block of summary data
Constructors
| Summary | |
Fields | |
summaryDuration :: Summary a -> Int64Source
The duration covered by a summary, in units of 1 / the track's datarate