packages feed

asif 2.0.0 → 3.0.0

raw patch · 13 files changed

+40/−47 lines, 13 filesdep +hw-ipdep −arbor-ipnew-uploaderPVP ok

version bump matches the API change (PVP)

Dependencies added: hw-ip

Dependencies removed: arbor-ip

API changes (from Hackage documentation)

- Arbor.File.Format.Asif.ByteString.Builder: segmentsC :: (MonadIO m, MonadResource m) => String -> Maybe POSIXTime -> [Segment Handle] -> m (Source m ByteString)
+ Arbor.File.Format.Asif.ByteString.Builder: segmentsC :: (MonadIO m, MonadResource m) => String -> Maybe POSIXTime -> [Segment Handle] -> m (ConduitT () ByteString m ())
- Arbor.File.Format.Asif.ByteString.Builder: segmentsRawC :: MonadIO m => String -> [Handle] -> Source m ByteString
+ Arbor.File.Format.Asif.ByteString.Builder: segmentsRawC :: MonadIO m => String -> [Handle] -> ConduitT () ByteString m ()

Files

app/App/Commands.hs view
@@ -6,7 +6,7 @@ import App.Commands.EncodeFiles import App.Commands.ExtractFiles import App.Commands.ExtractSegments-import Data.Monoid+import Data.Monoid                  ((<>)) import Options.Applicative  globalOptions :: Parser (IO ())
app/App/Commands/Dump.hs view
@@ -18,7 +18,7 @@ import Data.Generics.Product.Any import Data.List import Data.Maybe-import Data.Monoid+import Data.Monoid                     ((<>)) import Data.Thyme.Clock import Data.Thyme.Clock.POSIX          (POSIXTime) import Data.Thyme.Format               (formatTime)@@ -95,7 +95,7 @@           Just (Known F.TimeMillis64LE) ->             forM_ (LBS.chunkBy 8 (segment ^. the @"payload")) $ \bs -> do               let w = G.runGet G.getInt64le (LBS.take 8 (bs <> LBS.replicate 8 0))-              let t :: POSIXTime = (w `div` 1000) ^. from microseconds+              let t :: POSIXTime = (w * 1000) ^. from microseconds               liftIO $ IO.hPutStrLn hOut $ showTime (posixSecondsToUTCTime t) <> " (" <> show w <> " ms)"           Just (Known F.TimeMicros64LE) ->             forM_ (LBS.chunkBy 8 (segment ^. the @"payload")) $ \bs -> do
app/App/Commands/EncodeFiles.hs view
@@ -13,7 +13,7 @@ import Control.Monad.IO.Class                    (liftIO) import Control.Monad.Trans.Resource              (MonadResource, runResourceT) import Data.Generics.Product.Any-import Data.Monoid+import Data.Monoid                               ((<>)) import Options.Applicative  import qualified Data.ByteString     as BS
app/App/Commands/ExtractFiles.hs view
@@ -14,7 +14,7 @@ import Data.Generics.Product.Any import Data.List import Data.Maybe-import Data.Monoid+import Data.Monoid                    ((<>)) import Options.Applicative import System.Directory 
app/App/Commands/ExtractSegments.hs view
@@ -12,7 +12,7 @@ import Control.Monad.IO.Class         (liftIO) import Control.Monad.Trans.Resource   (MonadResource, runResourceT) import Data.Generics.Product.Any-import Data.Monoid+import Data.Monoid                    ((<>)) import Options.Applicative import System.Directory import Text.Printf
app/Main.hs view
@@ -4,7 +4,7 @@  import App.Commands import Control.Monad-import Data.Semigroup+import Data.Semigroup      ((<>)) import Options.Applicative  import qualified System.IO as IO
asif.cabal view
@@ -1,11 +1,9 @@--- This file has been generated from package.yaml by hpack version 0.28.2.+-- This file has been generated from package.yaml by hpack version 0.18.1. -- -- see: https://github.com/sol/hpack------ hash: de051b0b916332afc5b6b544ffaf3c0cabbf5c7dbc32317927f1dbe7b6e0c55c  name:           asif-version:        2.0.0+version:        3.0.0 description:    Please see the README on Github at <https://github.com/packetloop/asif#readme> category:       Services homepage:       https://github.com/packetloop/asif#readme@@ -17,6 +15,7 @@ license-file:   LICENSE build-type:     Simple cabal-version:  >= 1.10+ extra-source-files:     ChangeLog.md     README.md@@ -31,8 +30,8 @@   default-extensions: BangPatterns FlexibleContexts FlexibleInstances GeneralizedNewtypeDeriving MultiParamTypeClasses OverloadedStrings TupleSections   ghc-options: -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints   build-depends:-      attoparsec-    , base >=4.7 && <5+      base >= 4.7 && < 5+    , attoparsec     , binary     , bytestring     , conduit@@ -44,6 +43,7 @@     , exceptions     , generic-lens     , hw-bits+    , hw-ip     , iproute     , lens     , old-locale@@ -81,9 +81,8 @@   default-extensions: BangPatterns FlexibleContexts FlexibleInstances GeneralizedNewtypeDeriving MultiParamTypeClasses OverloadedStrings TupleSections   ghc-options: -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -threaded -rtsopts -O2 -msse4.2   build-depends:-      asif+      base >= 4.7 && < 5     , attoparsec-    , base >=4.7 && <5     , binary     , bytestring     , conduit@@ -91,20 +90,22 @@     , conduit-extra     , containers     , cpu-    , directory     , either     , exceptions     , generic-lens     , hw-bits+    , hw-ip     , iproute     , lens     , old-locale-    , optparse-applicative     , resourcet     , temporary-resourcet     , text     , thyme     , vector+    , asif+    , directory+    , optparse-applicative   other-modules:       App.Commands       App.Commands.Dump@@ -113,7 +114,6 @@       App.Commands.ExtractSegments       App.Commands.Options.Type       App.IO-      Paths_asif   default-language: Haskell2010  test-suite asif-test@@ -124,10 +124,8 @@   default-extensions: BangPatterns FlexibleContexts FlexibleInstances GeneralizedNewtypeDeriving MultiParamTypeClasses OverloadedStrings TupleSections   ghc-options: -threaded -rtsopts -with-rtsopts=-N   build-depends:-      arbor-ip-    , asif+      base >= 4.7 && < 5     , attoparsec-    , base >=4.7 && <5     , binary     , bytestring     , conduit@@ -138,10 +136,8 @@     , either     , exceptions     , generic-lens-    , hedgehog-    , hspec     , hw-bits-    , hw-hspec-hedgehog+    , hw-ip     , iproute     , lens     , old-locale@@ -150,11 +146,14 @@     , text     , thyme     , vector+    , asif+    , hspec+    , hedgehog+    , hw-hspec-hedgehog   other-modules:       Arbor.File.Format.Asif.ByteString.BuilderSpec       Arbor.File.Format.Asif.Data.IpSpec       Arbor.File.Format.AsifSpec       Gen.Feed       TestApp-      Paths_asif   default-language: Haskell2010
src/Arbor/File/Format/Asif/ByIndex.hs view
@@ -7,7 +7,7 @@   ( ByIndex(..)   ) where -import Data.Monoid+import Data.Monoid ((<>))  import qualified Data.Semigroup as S @@ -22,8 +22,8 @@   mappend = (S.<>)   mempty = ByIndex [] -appendByIndex :: (Monoid a, S.Semigroup a) => [a] -> [a] -> [a]-appendByIndex (a:as) (b:bs) = (a <> b):appendByIndex as bs-appendByIndex (a:as) bs     =  a      :appendByIndex as bs-appendByIndex    as  (b:bs) =       b :appendByIndex as bs+appendByIndex :: Monoid a => [a] -> [a] -> [a]+appendByIndex (a:as) (b:bs) = (a `mappend` b):appendByIndex as bs+appendByIndex (a:as) bs     =  a             :appendByIndex as bs+appendByIndex    as  (b:bs) =              b :appendByIndex as bs appendByIndex    []     []  = []
src/Arbor/File/Format/Asif/ByteString/Builder.hs view
@@ -16,11 +16,10 @@ import Control.Monad import Data.Bits import Data.ByteString.Builder-import Data.Conduit                    (Source) import Data.Generics.Product.Any import Data.Int import Data.Maybe-import Data.Monoid+import Data.Monoid                     ((<>)) import Data.String import Data.Thyme.Clock import Data.Thyme.Clock.POSIX          (POSIXTime, getPOSIXTime)@@ -70,7 +69,7 @@ intersperse :: Int64 -> Int64 -> B.Builder intersperse a b = B.word32LE (fromIntegral a) <> B.word32LE (fromIntegral b) -segmentsRawC :: MonadIO m => String -> [IO.Handle] -> Source m BS.ByteString+segmentsRawC :: MonadIO m => String -> [IO.Handle] -> ConduitT () BS.ByteString m () segmentsRawC asifType handles = do   let segmentCount = fromIntegral $ length handles :: Int64 @@ -95,7 +94,7 @@   => String   -> Maybe POSIXTime   -> [Z.Segment IO.Handle]-  -> m (Source m BS.ByteString)+  -> m (ConduitT () BS.ByteString m ()) segmentsC asifType maybeTimestamp metas = do   fileTime <- maybe (liftIO getPOSIXTime) return maybeTimestamp   (_, _, hFilenames   ) <- IO.openTempFile Nothing "asif-filenames"
src/Arbor/File/Format/Asif/Get.hs view
@@ -4,7 +4,7 @@ import Control.Lens import Control.Monad import Data.Binary.Get-import Data.Monoid+import Data.Monoid                               ((<>)) import Data.Text                                 (Text) import Data.Thyme.Clock                          (microseconds) import Data.Thyme.Clock.POSIX                    (POSIXTime)
src/Arbor/File/Format/Asif/Segment.hs view
@@ -17,7 +17,7 @@ import Data.Binary.Get import Data.Generics.Product.Any import Data.Maybe-import Data.Monoid+import Data.Monoid                    ((<>)) import Data.Text                      (Text, pack)  import qualified Arbor.File.Format.Asif.Extract as E
src/Arbor/File/Format/Asif/Type.hs view
@@ -5,7 +5,7 @@ import Arbor.File.Format.Asif.Format   (Format) import Arbor.File.Format.Asif.Maybe import Arbor.File.Format.Asif.Whatever-import Data.Semigroup+import Data.Semigroup                  (Semigroup, (<>)) import Data.Text                       (Text) import Data.Thyme.Clock.POSIX          (POSIXTime) import GHC.Generics
test/Gen/Feed.hs view
@@ -5,22 +5,17 @@   , ordBy   ) where -import Arbor.Network.Ip import Data.Word+import HaskellWorks.Data.Network.Ip+import HaskellWorks.Data.Network.Ip.Internal import Hedgehog  import qualified Hedgehog.Gen   as G import qualified Hedgehog.Range as R -ipv4 :: MonadGen m => Word8 -> Word8 -> m IPv4-ipv4 start stop = do-  o1 <- w8-  o2 <- w8-  o3 <- w8-  o4 <- w8-  return $ ipFromOctets o1 o2 o3 o4-  where-    w8 = G.word8 (R.linear start stop)+ipv4 :: MonadGen m => Word8 -> Word8 -> m Ipv4Address+ipv4 start stop = Ipv4Address <$> (fourOctetsToWord32 <$> w8 <*> w8 <*> w8 <*> w8)+  where w8 = G.word8 (R.linear start stop)  feedElemIp :: MonadGen m => Range Word32 -> m Word32 feedElemIp = G.word32