| Portability | unknown |
|---|---|
| Stability | unstable |
| Maintainer | Conrad Parker <conrad@metadecks.org> |
| Safe Haskell | None |
Data.Iteratee.ZoomCache
Contents
Description
Iteratee reading of ZoomCache files.
A typical usage, using the iteratee iter to process the level 3 summaries
from the track called "rainfall":
I.fileDriverRandom (enumCacheFile standardIdentifiers .
I.joinI . filterTracksByName ["rainfall"] .
I.joinI . enumSummaryLevel 3 $ iter) filename
Similarly, using the iteratee rawIter to process the raw data from the
track called "rainfall":
I.fileDriverRandom (enumCacheFile standardIdentifiers .
I.joinI . filterTracksByName ["rainfall"] .
I.joinI . enumPackets $ rawIter) filename
- data Block = Block {}
- data BlockData
- enumCacheFile :: (Functor m, MonadIO m) => [IdentifyCodec] -> Enumeratee (Offset ByteString) [Offset Block] m a
- wholeTrackSummary :: (Functor m, MonadIO m) => TrackNo -> Iteratee [Offset Block] m (TrackSpec, ZoomSummary)
- wholeTrackSummaryUTC :: (Functor m, MonadIO m) => TrackNo -> Iteratee [Offset Block] m (TrackSpec, Maybe ZoomSummaryUTC)
- iterHeaders :: (Functor m, Monad m) => [IdentifyCodec] -> Iteratee (Offset ByteString) m CacheFile
- enumBlock :: (Functor m, MonadIO m) => CacheFile -> Enumeratee (Offset ByteString) [Offset Block] m a
- enumBlockIncomplete :: (Functor m, MonadIO m) => CacheFile -> Enumeratee (Offset ByteString) [Offset Block] m a
- enumBlockTrackNo :: (Functor m, MonadIO m) => CacheFile -> TrackNo -> Enumeratee (Offset ByteString) [Offset Block] m a
- seekTimeStamp :: (ListLike s el, Nullable s, NullPoint s, Timestampable el, Monad m) => CacheFile -> Maybe TimeStamp -> Iteratee s m ()
- seekUTCTime :: (ListLike s el, Nullable s, NullPoint s, UTCTimestampable el, Monad m) => Maybe UTCTime -> Iteratee s m ()
- enumPackets :: (Functor m, Monad m) => Enumeratee [Offset Block] [Packet] m a
- enumPacketsUTC :: (Functor m, Monad m) => Enumeratee [Offset Block] [PacketUTC] m a
- enumSummaryLevel :: (Functor m, Monad m) => Int -> Enumeratee [Offset Block] [ZoomSummary] m a
- enumSummaries :: (Functor m, Monad m) => Enumeratee [Offset Block] [ZoomSummary] m a
- enumSummaryUTCLevel :: (Functor m, Monad m) => Int -> Enumeratee [Offset Block] [ZoomSummaryUTC] m a
- enumSummariesUTC :: (Functor m, Monad m) => Enumeratee [Offset Block] [ZoomSummaryUTC] m a
- filterTracksByName :: (Functor m, Monad m) => CacheFile -> [ByteString] -> Enumeratee [Offset Block] [Offset Block] m a
- filterTracks :: (Functor m, Monad m) => [TrackNo] -> Enumeratee [Offset Block] [Offset Block] m a
- enumPacketSOs :: (Functor m, Monad m) => Enumeratee [Offset Block] [PacketSO] m a
- enumSummarySOLevel :: (Functor m, Monad m) => Int -> Enumeratee [Offset Block] [ZoomSummarySO] m a
- enumSummarySOs :: (Functor m, Monad m) => Enumeratee [Offset Block] [ZoomSummarySO] m a
- enumCTPSO :: (Functor m, Monad m) => Enumeratee [Offset Block] [(CacheFile, TrackNo, PacketSO)] m a
- enumCTSO :: (Functor m, Monad m) => Enumeratee [Offset Block] [(CacheFile, TrackNo, ZoomSummarySO)] m a
Types
Instances
Constructors
| BlockPacket !PacketSO | |
| BlockSummary !ZoomSummarySO |
Reading zoom-cache files and ByteStrings
enumCacheFile :: (Functor m, MonadIO m) => [IdentifyCodec] -> Enumeratee (Offset ByteString) [Offset Block] m aSource
wholeTrackSummary :: (Functor m, MonadIO m) => TrackNo -> Iteratee [Offset Block] m (TrackSpec, ZoomSummary)Source
Read the summary of an entire track.
wholeTrackSummaryUTC :: (Functor m, MonadIO m) => TrackNo -> Iteratee [Offset Block] m (TrackSpec, Maybe ZoomSummaryUTC)Source
Read the summary of an entire track.
iterHeaders :: (Functor m, Monad m) => [IdentifyCodec] -> Iteratee (Offset ByteString) m CacheFileSource
Parse only the global and track headers of a zoom-cache file, returning
a CacheFile
enumBlock :: (Functor m, MonadIO m) => CacheFile -> Enumeratee (Offset ByteString) [Offset Block] m aSource
An iteratee of zoom-cache data, after global and track headers
have been read, or if the CacheFile has been acquired elsewhere.
enumBlockIncomplete :: (Functor m, MonadIO m) => CacheFile -> Enumeratee (Offset ByteString) [Offset Block] m aSource
A version of enumBlock which won't fail with an EofException if the last bit is incomplete (perhaps still being written to).
enumBlockTrackNo :: (Functor m, MonadIO m) => CacheFile -> TrackNo -> Enumeratee (Offset ByteString) [Offset Block] m aSource
An enumeratee of zoom-cache data, after global and track headers
have been read, or if the CacheFile has been acquired elsewhere.
This version skips parsing of all tracks other than the specified TrackNo.
This function should only be used in applications where only one track is
used from a file; if you need to process multiple tracks independently then
give each an iteratee filtered by filterTracks or filterTracksByName, and
run these in parallel on the output of enumCacheFile or enumBlock.
Using this function multiple times in parallel will duplicate some parsing.
Seeking
seekTimeStamp :: (ListLike s el, Nullable s, NullPoint s, Timestampable el, Monad m) => CacheFile -> Maybe TimeStamp -> Iteratee s m ()Source
seekUTCTime :: (ListLike s el, Nullable s, NullPoint s, UTCTimestampable el, Monad m) => Maybe UTCTime -> Iteratee s m ()Source
Stream enumeratees
enumPackets :: (Functor m, Monad m) => Enumeratee [Offset Block] [Packet] m aSource
Filter just the raw data
enumPacketsUTC :: (Functor m, Monad m) => Enumeratee [Offset Block] [PacketUTC] m aSource
Filter just the raw data, timestamped by UTC
enumSummaryLevel :: (Functor m, Monad m) => Int -> Enumeratee [Offset Block] [ZoomSummary] m aSource
Filter summaries at a particular summary level
enumSummaries :: (Functor m, Monad m) => Enumeratee [Offset Block] [ZoomSummary] m aSource
Filter summaries at all levels
enumSummaryUTCLevel :: (Functor m, Monad m) => Int -> Enumeratee [Offset Block] [ZoomSummaryUTC] m aSource
Filter summaries at a particular summary level
enumSummariesUTC :: (Functor m, Monad m) => Enumeratee [Offset Block] [ZoomSummaryUTC] m aSource
Filter summaries at all levels
filterTracksByName :: (Functor m, Monad m) => CacheFile -> [ByteString] -> Enumeratee [Offset Block] [Offset Block] m aSource
Filter to a given list of track names
filterTracks :: (Functor m, Monad m) => [TrackNo] -> Enumeratee [Offset Block] [Offset Block] m aSource
Filter to a given list of track numbers
Low-level access to SampleOffsets
enumPacketSOs :: (Functor m, Monad m) => Enumeratee [Offset Block] [PacketSO] m aSource
Filter just the raw data
enumSummarySOLevel :: (Functor m, Monad m) => Int -> Enumeratee [Offset Block] [ZoomSummarySO] m aSource
Filter summaries at a particular summary level
enumSummarySOs :: (Functor m, Monad m) => Enumeratee [Offset Block] [ZoomSummarySO] m aSource
Filter summaries at all levels
enumCTPSO :: (Functor m, Monad m) => Enumeratee [Offset Block] [(CacheFile, TrackNo, PacketSO)] m aSource
Filter raw data
enumCTSO :: (Functor m, Monad m) => Enumeratee [Offset Block] [(CacheFile, TrackNo, ZoomSummarySO)] m aSource
Filter summaries