om-socket 0.11.0.3 → 0.11.0.4
raw patch · 2 files changed
+25/−19 lines, 2 filesdep ~aesondep ~basedep ~bytestringPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: aeson, base, bytestring, megaparsec, om-show, text, tls, transformers
API changes (from Hackage documentation)
- OM.Socket: openEgress :: (Binary o, MonadFail m, MonadIO m, MonadThrow m) => AddressDescription -> ConduitT o Void m ()
+ OM.Socket: openEgress :: forall o (m :: Type -> Type). (Binary o, MonadFail m, MonadIO m, MonadThrow m) => AddressDescription -> ConduitT o Void m ()
- OM.Socket: openIngress :: (Binary i, MonadIO m, MonadFail m) => AddressDescription -> ConduitT () i m ()
+ OM.Socket: openIngress :: forall i (m :: Type -> Type). (Binary i, MonadIO m, MonadFail m) => AddressDescription -> ConduitT () i m ()
Files
- om-socket.cabal +9/−9
- src/OM/Socket.hs +16/−10
om-socket.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: om-socket-version: 0.11.0.3+version: 0.11.0.4 synopsis: Socket utilities. description: Binary ingress server, egress client, and bidirectional binarry client/server@@ -25,23 +25,23 @@ common dependencies build-depends:- , aeson >= 2.0.3.0 && < 2.1- , base >= 4.15.0.0 && < 4.16+ , aeson >= 2.0.3.0 && < 2.3+ , base >= 4.15.1.0 && < 4.20 , binary >= 0.8.8.0 && < 0.9 , binary-conduit >= 1.3.1 && < 1.4- , bytestring >= 0.10.12.1 && < 0.11+ , bytestring >= 0.10.12.1 && < 0.13 , conduit >= 1.3.4.3 && < 1.4 , conduit-extra >= 1.3.6 && < 1.4 , containers >= 0.6.4.1 && < 0.7 , exceptions >= 0.10.4 && < 0.11- , megaparsec >= 9.2.2 && < 9.3+ , megaparsec >= 9.2.2 && < 9.7 , monad-logger >= 0.3.37 && < 0.4 , network >= 3.1.2.7 && < 3.2- , om-show >= 0.1.2.2 && < 0.2+ , om-show >= 0.1.2.6 && < 0.2 , stm >= 2.5.0.0 && < 2.6- , text >= 1.2.5.0 && < 1.3+ , text >= 1.2.5.0 && < 2.2 , time >= 1.9.3 && < 1.10- , tls >= 1.5.8 && < 1.6+ , tls >= 1.5.8 && < 1.10 library import: warnings, dependencies@@ -87,7 +87,7 @@ default-language: Haskell2010 build-depends: , om-socket- , transformers >= 0.5.6.2 && < 0.6+ , transformers >= 0.5.6.2 && < 0.7 -- This isn't really a test, it is just used to make sure the example -- compiles without clusttering up the package with a bunch of
src/OM/Socket.hs view
@@ -24,17 +24,17 @@ ) where -import Control.Applicative ((<|>))+import Control.Applicative (Alternative((<|>))) import Control.Concurrent (Chan, MVar, forkIO, newChan, newEmptyMVar, putMVar, readChan, takeMVar, throwTo, writeChan) import Control.Concurrent.STM (TVar, atomically, newTVar, readTVar, retry, writeTVar) import Control.Exception (SomeException, bracketOnError, throw) import Control.Monad (join, void, when)-import Control.Monad.Catch (MonadCatch, MonadThrow, throwM, try)-import Control.Monad.IO.Class (MonadIO, liftIO)-import Control.Monad.Logger.CallStack (MonadLoggerIO, askLoggerIO,- logDebug, logError, logWarn, runLoggingT)+import Control.Monad.Catch (MonadThrow(throwM), MonadCatch, try)+import Control.Monad.IO.Class (MonadIO(liftIO))+import Control.Monad.Logger.CallStack (LoggingT(runLoggingT),+ MonadLoggerIO(askLoggerIO), logDebug, logError, logWarn) import Data.Aeson (FromJSON, FromJSONKey, ToJSON, ToJSONKey) import Data.Binary (Binary(get), encode) import Data.Binary.Get (Decoder(Done, Fail, Partial), pushChunk,@@ -51,17 +51,23 @@ import Data.Void (Void) import Data.Word (Word32) import GHC.Generics (Generic)-import Network.Socket (Family(AF_INET, AF_INET6, AF_UNIX),- SockAddr(SockAddrInet, SockAddrInet6, SockAddrUnix),+import Network.Socket (AddrInfo(addrAddress), Family(AF_INET, AF_INET6,+ AF_UNIX), SockAddr(SockAddrInet, SockAddrInet6, SockAddrUnix), SocketOption(ReuseAddr), SocketType(Stream), HostName, ServiceName,- Socket, accept, addrAddress, bind, close, connect, defaultProtocol,- getAddrInfo, listen, setSocketOption, socket)+ Socket, accept, bind, close, connect, defaultProtocol, getAddrInfo,+ listen, setSocketOption, socket) import Network.Socket.ByteString (recv) import Network.Socket.ByteString.Lazy (sendAll) import Network.TLS (ClientParams, Context, ServerParams, contextNew, handshake, recvData, sendData) import OM.Show (showt)-import Text.Megaparsec (Parsec, eof, many, oneOf, parse, satisfy)+import Prelude (Applicative(pure), Bool(False, True), Bounded(minBound),+ Either(Left, Right), Enum(succ), Eq((/=)), Functor(fmap), Maybe(Just,+ Nothing), Monad((>>), (>>=), return), MonadFail(fail), Semigroup((<>)),+ Show(show), ($), (++), (.), (=<<), IO, Monoid, Num, Ord, String,+ sequence_, snd, userError)+import Text.Megaparsec (MonadParsec(eof), Parsec, many, oneOf, parse,+ satisfy) import Text.Megaparsec.Char (char) import qualified Data.ByteString as BS import qualified Data.ByteString.Lazy as BSL