-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Please see the README on Github at -- https://github.com/packetloop/asif#readme @package asif @version 3.2.0 module Arbor.File.Format.Asif module Arbor.File.Format.Asif.ByIndex newtype ByIndex a ByIndex :: [a] -> ByIndex a [unByIndex] :: ByIndex a -> [a] instance GHC.Show.Show a => GHC.Show.Show (Arbor.File.Format.Asif.ByIndex.ByIndex a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Arbor.File.Format.Asif.ByIndex.ByIndex a) instance (GHC.Base.Monoid a, GHC.Base.Semigroup a) => GHC.Base.Semigroup (Arbor.File.Format.Asif.ByIndex.ByIndex a) instance (GHC.Base.Monoid a, GHC.Base.Semigroup a) => GHC.Base.Monoid (Arbor.File.Format.Asif.ByIndex.ByIndex a) module Arbor.File.Format.Asif.ByteString chunkBy :: Int -> ByteString -> [ByteString] module Arbor.File.Format.Asif.ByteString.Lazy chunkBy :: Int64 -> ByteString -> [ByteString] module Arbor.File.Format.Asif.Data.Read stringToAnyDigits :: (Read a, Show a) => String -> Maybe a module Arbor.File.Format.Asif.Data.Ip stringToIpv4 :: String -> Maybe IPv4 stringToIpv6 :: String -> Maybe IPv6 ipv4ToString :: IPv4 -> String ipv6ToString :: IPv6 -> String word32ToIpv4 :: Word32 -> IPv4 word32x4ToIpv6 :: (Word32, Word32, Word32, Word32) -> IPv6 ipv4ToWord32 :: IPv4 -> Word32 ipv6ToWord32x4 :: IPv6 -> (Word32, Word32, Word32, Word32) ipv4ToIpv6 :: IPv4 -> IPv6 module Arbor.File.Format.Asif.IO withFileOrStd :: FilePath -> IOMode -> (Handle -> IO r) -> IO r hGetAndResetOffset :: MonadIO m => Handle -> m Int64 openFileOrStd :: MonadResource m => FilePath -> IOMode -> m (ReleaseKey, Handle) module Arbor.File.Format.Asif.Lookup binarySearch :: (Ord a, Unbox a) => a -> Vector a -> Maybe Int binarySearchExact :: (Ord a, Unbox a) => a -> Vector a -> Maybe Int lookupSegment :: Text -> Map Text ByteString -> (ByteString -> [a]) -> [a] module Arbor.File.Format.Asif.Whatever data Whatever a Known :: a -> Whatever a Unknown :: Text -> Whatever a showWhatever :: Show a => Whatever a -> String readWhatever :: Read a => String -> Whatever a tShowWhatever :: Show a => Whatever a -> Text tReadWhatever :: Read a => Text -> Whatever a instance GHC.Generics.Generic (Arbor.File.Format.Asif.Whatever.Whatever a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Arbor.File.Format.Asif.Whatever.Whatever a) instance GHC.Show.Show a => GHC.Show.Show (Arbor.File.Format.Asif.Whatever.Whatever a) module Arbor.File.Format.Asif.Type data SegmentMeta SegmentMeta :: Maybe POSIXTime -> Maybe Text -> Maybe (Whatever Format) -> SegmentMeta [createTime] :: SegmentMeta -> Maybe POSIXTime [filename] :: SegmentMeta -> Maybe Text [format] :: SegmentMeta -> Maybe (Whatever Format) data Segment a Segment :: SegmentMeta -> a -> Segment a [meta] :: Segment a -> SegmentMeta [payload] :: Segment a -> a segment :: a -> SegmentMeta -> Segment a metaCreateTime :: POSIXTime -> SegmentMeta metaFilename :: Text -> SegmentMeta metaFormat :: Whatever Format -> SegmentMeta metaMaybeFormat :: Maybe (Whatever Format) -> SegmentMeta instance GHC.Generics.Generic (Arbor.File.Format.Asif.Type.Segment a) instance GHC.Generics.Generic Arbor.File.Format.Asif.Type.SegmentMeta instance GHC.Show.Show Arbor.File.Format.Asif.Type.SegmentMeta instance GHC.Classes.Eq Arbor.File.Format.Asif.Type.SegmentMeta instance GHC.Base.Semigroup Arbor.File.Format.Asif.Type.SegmentMeta instance GHC.Base.Monoid Arbor.File.Format.Asif.Type.SegmentMeta module Arbor.File.Format.Asif.Extract formats :: ByteString -> [Maybe (Whatever Format)] list :: Get a -> ByteString -> [a] map :: Ord a => ByteString -> Get a -> ByteString -> Get b -> Map a b vectorBoxed :: Get a -> ByteString -> Vector a vectorUnboxed :: Unbox a => Get a -> ByteString -> Vector a module Arbor.File.Format.Asif.ByteString.Builder magicString :: String -> ByteString withSize :: ByteString -> (Int64, ByteString) segmentsC :: (MonadIO m, MonadResource m) => String -> Maybe POSIXTime -> [Segment Handle] -> m (ConduitT () ByteString m ()) segmentsRawC :: MonadIO m => String -> [Handle] -> ConduitT () ByteString m () makeMagic :: String -> Builder magicLength :: Int64 module Arbor.File.Format.Asif.Get getMagic :: Parser ByteString -> Get () getSegmentLength :: Get Int getSegmentPosition :: Get (Int, Int) getSegmentPositions :: Get [(Int, Int)] getHeader :: Parser ByteString -> Get [(Int, Int)] getTimeMicro64 :: Get POSIXTime getTextUtf8Z :: Get Text module Arbor.File.Format.Asif.Segment data Segment a Segment :: SegmentMeta -> a -> Segment a [meta] :: Segment a -> SegmentMeta [payload] :: Segment a -> a mkDefaultSegment :: ByteString -> Segment ByteString extractSegments :: Parser ByteString -> ByteString -> Either String [Segment ByteString] extractNamedSegments :: Parser ByteString -> ByteString -> Either String (Map Text (Segment ByteString)) extractHeader :: Parser ByteString -> ByteString -> Either String [(Int, Int)] extractSegmentByteStringsWithHeader :: ByteString -> [(Int, Int)] -> Either String [ByteString] segmentNamed :: String -> Map Text (Segment ByteString) -> Either String ByteString module Arbor.File.Format.Asif.Format.Text segmentValueToText :: SegmentValue -> Text module Arbor.File.Format.Asif.Format data Format Binary :: Format Bitmap :: Format BitString :: Format Char :: Format Int8 :: Format Int16LE :: Format Int32LE :: Format Int64LE :: Format Ipv4 :: Format Ipv6 :: Format Repeat :: Word -> Format -> Format StringZ :: Format Text :: Format TimeMicros64LE :: Format TimeMillis64LE :: Format Word8 :: Format Word16LE :: Format Word32LE :: Format Word64LE :: Format data SegmentValue SString :: ByteString -> SegmentValue SChar :: Char -> SegmentValue STime :: UTCTime -> SegmentValue SIpv4 :: IPv4 -> SegmentValue SIpv6 :: IPv6 -> SegmentValue SInt64 :: Int64 -> SegmentValue SInt32 :: Int32 -> SegmentValue SInt16 :: Int16 -> SegmentValue SInt8 :: Int8 -> SegmentValue SWord64 :: Word64 -> SegmentValue SWord32 :: Word32 -> SegmentValue SWord16 :: Word16 -> SegmentValue SWord8 :: Word8 -> SegmentValue SText :: ByteString -> SegmentValue SBitString :: ByteString -> SegmentValue SBitmap :: ByteString -> SegmentValue SBinary :: ByteString -> SegmentValue SList :: [SegmentValue] -> SegmentValue SUnknown :: Text -> ByteString -> SegmentValue segmentValues :: Segment ByteString -> [SegmentValue] extractValues :: (SegmentValue -> a) -> Segment ByteString -> [a]