Hello community, here is the log from the commit of package ghc-http2 for openSUSE:Factory checked in at 2016-02-17 10:25:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-http2 (Old) and /work/SRC/openSUSE:Factory/.ghc-http2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-http2" Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-http2/ghc-http2.changes 2016-01-28 17:24:44.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-http2.new/ghc-http2.changes 2016-02-17 12:11:46.000000000 +0100 @@ -1,0 +2,6 @@ +Thu Feb 11 08:39:41 UTC 2016 - mimi...@gmail.com + +- update to 1.4.5 +* Removing zero reset from priority queues. + +------------------------------------------------------------------- Old: ---- http2-1.4.4.tar.gz New: ---- http2-1.4.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-http2.spec ++++++ --- /var/tmp/diff_new_pack.byODr8/_old 2016-02-17 12:11:47.000000000 +0100 +++ /var/tmp/diff_new_pack.byODr8/_new 2016-02-17 12:11:47.000000000 +0100 @@ -20,7 +20,7 @@ %bcond_with tests Name: ghc-http2 -Version: 1.4.4 +Version: 1.4.5 Release: 0 Summary: HTTP/2.0 library including frames and HPACK Group: System/Libraries ++++++ http2-1.4.4.tar.gz -> http2-1.4.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/http2-1.4.4/ChangeLog.md new/http2-1.4.5/ChangeLog.md --- old/http2-1.4.4/ChangeLog.md 2016-01-20 04:12:40.000000000 +0100 +++ new/http2-1.4.5/ChangeLog.md 2016-02-09 02:39:40.000000000 +0100 @@ -1,3 +1,7 @@ +## 1.4.5 + +* Removing zero reset from priority queues. + ## 1.4.4 * Fixing a bug of reverse index. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/http2-1.4.4/Network/HPACK/HeaderBlock/From.hs new/http2-1.4.5/Network/HPACK/HeaderBlock/From.hs --- old/http2-1.4.4/Network/HPACK/HeaderBlock/From.hs 2016-01-20 04:12:40.000000000 +0100 +++ new/http2-1.4.5/Network/HPACK/HeaderBlock/From.hs 2016-02-09 02:39:40.000000000 +0100 @@ -63,7 +63,7 @@ decodeStep (!dyntbl,!builder,_) (Literal Add naming v) = do k <- fromNaming naming dyntbl let h = (k,v) - e = toEntry (k,v) + e = toEntry h b = builder << h dyntbl' <- insertEntry e dyntbl return (dyntbl',b,False) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/http2-1.4.4/Network/HPACK/Table/Dynamic.hs new/http2-1.4.5/Network/HPACK/Table/Dynamic.hs --- old/http2-1.4.4/Network/HPACK/Table/Dynamic.hs 2016-01-20 04:12:40.000000000 +0100 +++ new/http2-1.4.5/Network/HPACK/Table/Dynamic.hs 2016-02-09 02:39:40.000000000 +0100 @@ -73,7 +73,7 @@ -- | The size of the array , maxNumOfEntries :: !Int -- | The current dynamic table size (defined in HPACK) - , headerTableSize :: !Size + , dynamicTableSize :: !Size -- | The max dynamic table size (defined in HPACK) , maxDynamicTableSize :: !Size -- | The value informed by SETTINGS_HEADER_TABLE_SIZE. @@ -100,7 +100,7 @@ es <- mapM (readArray circularTable . adj maxNumOfEntries) [beg .. end] let ts = zip [1..] es mapM_ printEntry ts - putStrLn $ " Table size: " ++ show headerTableSize ++ "/" ++ show maxDynamicTableSize + putStrLn $ " Table size: " ++ show dynamicTableSize ++ "/" ++ show maxDynamicTableSize print reverseIndex where beg = offset + 1 @@ -168,7 +168,7 @@ , offset = end , numOfEntries = 0 , circularTable = tbl - , headerTableSize = 0 + , dynamicTableSize = 0 , maxDynamicTableSize = maxsiz , limitForEncoding = lim , limitForDecoding = dlim @@ -200,7 +200,7 @@ copyEntries :: DynamicTable -> [Entry] -> IO DynamicTable copyEntries dyntbl [] = return dyntbl copyEntries dyntbl@DynamicTable{..} (e:es) - | headerTableSize + entrySize e <= maxDynamicTableSize = do + | dynamicTableSize + entrySize e <= maxDynamicTableSize = do dyntbl' <- insertEnd e dyntbl copyEntries dyntbl' es | otherwise = return dyntbl @@ -229,12 +229,12 @@ return $ dyntbl { offset = offset' , numOfEntries = numOfEntries + 1 - , headerTableSize = headerTableSize' + , dynamicTableSize = dynamicTableSize' , reverseIndex = reverseIndex' } where i = offset - headerTableSize' = headerTableSize + entrySize e + dynamicTableSize' = dynamicTableSize + entrySize e offset' = adj maxNumOfEntries (offset - 1) reverseIndex' = case reverseIndex of Nothing -> Nothing @@ -245,7 +245,7 @@ adjust :: DynamicTable -> [Header] -> IO (DynamicTable, [Header]) adjust dyntbl@DynamicTable{..} hs - | headerTableSize <= maxDynamicTableSize = return (dyntbl, hs) + | dynamicTableSize <= maxDynamicTableSize = return (dyntbl, hs) | otherwise = do (dyntbl', h) <- removeEnd dyntbl adjust dyntbl' (h:hs) @@ -257,12 +257,12 @@ writeArray circularTable i e return $ dyntbl { numOfEntries = numOfEntries + 1 - , headerTableSize = headerTableSize' + , dynamicTableSize = dynamicTableSize' , reverseIndex = reverseIndex' } where i = adj maxNumOfEntries (offset + numOfEntries + 1) - headerTableSize' = headerTableSize + entrySize e + dynamicTableSize' = dynamicTableSize + entrySize e reverseIndex' = case reverseIndex of Nothing -> Nothing Just rev -> Just $ insertDynamic (entryHeader e) (DIndex i) rev @@ -274,11 +274,11 @@ let i = adj maxNumOfEntries (offset + numOfEntries) e <- readArray circularTable i writeArray circularTable i dummyEntry -- let the entry GCed - let tsize = headerTableSize - entrySize e + let tsize = dynamicTableSize - entrySize e h = entryHeader e dyntbl' = dyntbl { numOfEntries = numOfEntries - 1 - , headerTableSize = tsize + , dynamicTableSize = tsize } return (dyntbl', h) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/http2-1.4.4/Network/HTTP2/Priority/PSQ.hs new/http2-1.4.5/Network/HTTP2/Priority/PSQ.hs --- old/http2-1.4.4/Network/HTTP2/Priority/PSQ.hs 2016-01-20 04:12:40.000000000 +0100 +++ new/http2-1.4.5/Network/HTTP2/Priority/PSQ.hs 2016-02-09 02:39:40.000000000 +0100 @@ -111,11 +111,9 @@ dequeue :: PriorityQueue a -> Maybe (Key, Precedence, a, PriorityQueue a) dequeue PriorityQueue{..} = case P.minView queue of - Nothing -> Nothing - Just (k, p, v, queue') - | P.null queue' -> Just (k, p, v, empty) - | otherwise -> let !base = deficit p - in Just (k, p, v, PriorityQueue base queue') + Nothing -> Nothing + Just (k, p, v, queue') -> let !base = deficit p + in Just (k, p, v, PriorityQueue base queue') delete :: Key -> PriorityQueue a -> (Maybe a, PriorityQueue a) delete k q@PriorityQueue{..} = case P.alter f k queue of diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/http2-1.4.4/bench-priority/Heap.hs new/http2-1.4.5/bench-priority/Heap.hs --- old/http2-1.4.4/bench-priority/Heap.hs 2016-01-20 04:12:40.000000000 +0100 +++ new/http2-1.4.5/bench-priority/Heap.hs 2016-02-09 02:39:40.000000000 +0100 @@ -99,10 +99,8 @@ dequeue :: PriorityQueue a -> Maybe (Key, Precedence, a, PriorityQueue a) dequeue (PriorityQueue _ heap) = case H.uncons heap of - Nothing -> Nothing - Just (Entry k p v, heap') - | H.null heap' -> Just (k, p, v, empty) -- reset the deficit base - | otherwise -> Just (k, p, v, PriorityQueue (deficit p) heap') + Nothing -> Nothing + Just (Entry k p v, heap') -> Just (k, p, v, PriorityQueue (deficit p) heap') delete :: Key -> PriorityQueue a -> (Maybe a, PriorityQueue a) delete k (PriorityQueue base heap) = (mv, PriorityQueue base' heap') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/http2-1.4.4/http2.cabal new/http2-1.4.5/http2.cabal --- old/http2-1.4.4/http2.cabal 2016-01-20 04:12:40.000000000 +0100 +++ new/http2-1.4.5/http2.cabal 2016-02-09 02:39:40.000000000 +0100 @@ -1,5 +1,5 @@ Name: http2 -Version: 1.4.4 +Version: 1.4.5 Author: Kazu Yamamoto <k...@iij.ad.jp> Maintainer: Kazu Yamamoto <k...@iij.ad.jp> License: BSD3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/http2-1.4.4/test-hpack/JSON.hs new/http2-1.4.5/test-hpack/JSON.hs --- old/http2-1.4.4/test-hpack/JSON.hs 2016-01-20 04:12:40.000000000 +0100 +++ new/http2-1.4.5/test-hpack/JSON.hs 2016-02-09 02:39:40.000000000 +0100 @@ -79,7 +79,7 @@ instance ToJSON HeaderList where toJSON hs = toJSON $ map toJSON hs -instance FromJSON Header where +instance {-# OVERLAPPING #-} FromJSON Header where parseJSON (Array a) = pure (toKey (a ! 0), toValue (a ! 1)) -- old where toKey = toValue @@ -88,7 +88,7 @@ (k,v) = head $ H.toList o parseJSON _ = mzero -instance ToJSON Header where +instance {-# OVERLAPPING #-} ToJSON Header where toJSON (k,v) = object [ byteStringToText k .= byteStringToText v ] textToByteString :: Text -> ByteString