network-conduit 1.0.3 → 1.0.4
raw patch · 2 files changed
+18/−3 lines, 2 files
Files
- Data/Conduit/Network/Utils.hs +17/−2
- network-conduit.cabal +1/−1
Data/Conduit/Network/Utils.hs view
@@ -32,11 +32,17 @@ -- -- * @*4@ means @HostIPv4@ --+-- * @!4@ means @HostIPv4Only@+-- -- * @*6@ means @HostIPv6@+--+-- * @!6@ means @HostIPv6Only@ data HostPreference = HostAny | HostIPv4+ | HostIPv4Only | HostIPv6+ | HostIPv6Only | Host String deriving (Eq, Ord, Show, Read) @@ -46,7 +52,9 @@ {- fromString "*" = HostAny fromString "*4" = HostIPv4+ fromString "!4" = HostIPv4Only fromString "*6" = HostIPv6+ fromString "!6" = HostIPv6Only -} fromString s'@('*':s) = case s of@@ -54,6 +62,11 @@ ['4'] -> HostIPv4 ['6'] -> HostIPv6 _ -> Host s'+ fromString s'@('!':s) =+ case s of+ ['4'] -> HostIPv4Only+ ['6'] -> HostIPv6Only+ _ -> Host s' fromString s = Host s -- | Attempt to bind a listening @Socket@ on the given host/port using given@@ -79,8 +92,10 @@ addrs6 = filter (\x -> NS.addrFamily x == NS.AF_INET6) addrs addrs' = case s of- HostIPv4 -> addrs4 ++ addrs6- HostIPv6 -> addrs6 ++ addrs4+ HostIPv4 -> addrs4 ++ addrs6+ HostIPv4Only -> addrs4+ HostIPv6 -> addrs6 ++ addrs4+ HostIPv6Only -> addrs6 _ -> addrs tryAddrs (addr1:rest@(_:_)) =
network-conduit.cabal view
@@ -1,5 +1,5 @@ Name: network-conduit-Version: 1.0.3+Version: 1.0.4 Synopsis: Stream socket data using conduits. Description: Stream socket data using conduits. License: BSD3