packages feed

quic 0.1.24 → 0.1.25

raw patch · 5 files changed

+33/−6 lines, 5 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Network.QUIC: ConnectionInfo :: Version -> Cipher -> Maybe ByteString -> HandshakeMode13 -> Bool -> SockAddr -> SockAddr -> CID -> CID -> ConnectionInfo
- Network.QUIC: ConnectionStats :: Int -> Int -> ConnectionStats
- Network.QUIC: [alpn] :: ConnectionInfo -> Maybe ByteString
- Network.QUIC: [cipher] :: ConnectionInfo -> Cipher
- Network.QUIC: [handshakeMode] :: ConnectionInfo -> HandshakeMode13
- Network.QUIC: [localCID] :: ConnectionInfo -> CID
- Network.QUIC: [localSockAddr] :: ConnectionInfo -> SockAddr
- Network.QUIC: [remoteCID] :: ConnectionInfo -> CID
- Network.QUIC: [remoteSockAddr] :: ConnectionInfo -> SockAddr
- Network.QUIC: [retry] :: ConnectionInfo -> Bool
- Network.QUIC: [rxBytes] :: ConnectionStats -> Int
- Network.QUIC: [txBytes] :: ConnectionStats -> Int
- Network.QUIC: [version] :: ConnectionInfo -> Version
+ Network.QUIC: alpn :: ConnectionInfo -> Maybe ByteString
+ Network.QUIC: cipher :: ConnectionInfo -> Cipher
+ Network.QUIC: handshakeMode :: ConnectionInfo -> HandshakeMode13
+ Network.QUIC: localCID :: ConnectionInfo -> CID
+ Network.QUIC: localSockAddr :: ConnectionInfo -> SockAddr
+ Network.QUIC: remoteCID :: ConnectionInfo -> CID
+ Network.QUIC: remoteSockAddr :: ConnectionInfo -> SockAddr
+ Network.QUIC: retry :: ConnectionInfo -> Bool
+ Network.QUIC: rxBytes :: ConnectionStats -> Int
+ Network.QUIC: txBytes :: ConnectionStats -> Int
+ Network.QUIC: version :: ConnectionInfo -> Version
+ Network.QUIC.Internal: [scWildcardSocketonly] :: ServerConfig -> Bool
- Network.QUIC.Internal: ServerConfig :: [Version] -> [Cipher] -> [Group] -> Parameters -> (String -> IO ()) -> Maybe FilePath -> Credentials -> Hooks -> ServerHooks -> Bool -> [(IP, PortNumber)] -> Maybe (Version -> [ByteString] -> IO ByteString) -> Bool -> SessionManager -> Maybe FilePath -> Int -> ServerConfig
+ Network.QUIC.Internal: ServerConfig :: [Version] -> [Cipher] -> [Group] -> Parameters -> (String -> IO ()) -> Maybe FilePath -> Credentials -> Hooks -> ServerHooks -> Bool -> [(IP, PortNumber)] -> Maybe (Version -> [ByteString] -> IO ByteString) -> Bool -> SessionManager -> Maybe FilePath -> Int -> Bool -> ServerConfig

Files

ChangeLog.md view
@@ -1,5 +1,10 @@ # ChangeLog +## 0.1.25++* fix syntax error, for GHC 9.2+  [#64](https://github.com/kazu-yamamoto/quic/pull/64)+ ## 0.1.24  * Introducing `onConnectionEstablished` into `Hooks`.
Network/QUIC.hs view
@@ -36,12 +36,23 @@     sendStreamMany,      -- * Information-    ConnectionInfo (..),+    ConnectionInfo,     getConnectionInfo,+    version,+    cipher,+    alpn,+    handshakeMode,+    retry,+    localSockAddr,+    remoteSockAddr,+    localCID,+    remoteCID,      -- * Statistics-    ConnectionStats (..),+    ConnectionStats,     getConnectionStats,+    txBytes,+    rxBytes,      -- * Synchronization     wait0RTTReady,
Network/QUIC/Config.hs view
@@ -141,6 +141,16 @@     , scDebugLog :: Maybe FilePath     , scTicketLifetime :: Int     -- ^ A lifetime (in seconds) for TLS session ticket and QUIC token.+    , scWildcardSocketonly :: Bool+    -- ^ If 'True', only wild sockets are used.+    -- Packets are dispatched in Haskell code according to+    -- destination connection ID. This is an overhead however+    -- clinets can make QUIC connections even if intermediate NATs+    -- rebind UDP ports frequently.+    -- Otherwise, connected sockets are also used.+    -- This means that packets are dispatched by a kernel.+    -- But unfortunately, clients cannot make QUIC connections+    -- if intermediate NATs rebind UDP ports frequently.     }  -- | The default value for server configuration.@@ -164,4 +174,5 @@         , scSessionManager = noSessionManager         , scDebugLog = Nothing         , scTicketLifetime = 7200+        , scWildcardSocketonly = True         }
quic.cabal view
@@ -1,6 +1,6 @@ cabal-version:      >=1.10 name:               quic-version:            0.1.24+version:            0.1.25 license:            BSD3 license-file:       LICENSE maintainer:         kazu@iij.ad.jp
util/quic-client.hs view
@@ -398,11 +398,11 @@             }  printThroughput :: UnixTime -> UnixTime -> ConnectionStats -> IO ()-printThroughput t1 t2 ConnectionStats{..} =+printThroughput t1 t2 stats =     printf         "Throughput %.2f Mbps (%d bytes in %d msecs)\n"         bytesPerSeconds-        rxBytes+        (rxBytes stats)         millisecs   where     UnixDiffTime (CTime s) u = t2 `diffUnixTime` t1@@ -410,7 +410,7 @@     millisecs = fromIntegral s * 1000 + fromIntegral u `div` 1000     bytesPerSeconds :: Double     bytesPerSeconds =-        fromIntegral rxBytes+        fromIntegral (rxBytes stats)             * (1000 :: Double)             * 8             / fromIntegral millisecs