network-run 0.0.0 → 0.0.1
raw patch · 2 files changed
+11/−2 lines, 2 filesdep ~network
Dependency ranges changed: network
Files
- Network/Run/TCP.hs +9/−0
- network-run.cabal +2/−2
Network/Run/TCP.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE CPP #-} -- | Simple functions to run TCP clients and servers. module Network.Run.TCP (@@ -15,7 +16,11 @@ runTCPClient :: HostName -> ServiceName -> (Socket -> IO a) -> IO a runTCPClient host port client = withSocketsDo $ do addr <- resolve+#if MIN_VERSION_network(3,1,1) E.bracket (open addr) (\sock -> gracefulClose sock 5000) client+#else+ E.bracket (open addr) close client+#endif where resolve = do let hints = defaultHints { addrSocketType = Stream }@@ -46,4 +51,8 @@ return sock loop sock = forever $ do (conn, peer) <- accept sock+#if MIN_VERSION_network(3,1,1) void $ forkFinally (server conn peer) (const $ gracefulClose conn 5000)+#else+ void $ forkFinally (server conn peer) (const $ close conn)+#endif
network-run.cabal view
@@ -1,5 +1,5 @@ name: network-run-version: 0.0.0+version: 0.0.1 synopsis: Simple network runner library description: Simple functions to run network clients and servers. -- bug-reports:@@ -17,7 +17,7 @@ -- other-modules: -- other-extensions: build-depends: base >= 4 && < 5- , network >= 3.1.1+ , network >= 3.1.0 -- hs-source-dirs: default-language: Haskell2010