packages feed

Network-NineP 0.4.0 → 0.4.1

raw patch · 3 files changed

+14/−13 lines, 3 filesdep +hsloggerdep ~binarydep ~transformersPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: hslogger

Dependency ranges changed: binary, transformers

API changes (from Hackage documentation)

+ Control.Monad.EmbedIO: type family Content o;
+ Control.Monad.EmbedIO: }
- Control.Monad.EmbedIO: class (MonadIO o) => EmbedIO o where type family Content o
+ Control.Monad.EmbedIO: class (MonadIO o) => EmbedIO o where type Content o where {
- Network.NineP.File: memoryDirectory :: (Monad m, EmbedIO m) => String -> IO (NineFile m)
+ Network.NineP.File: memoryDirectory :: forall m. (Monad m, EmbedIO m) => String -> IO (NineFile m)
- Network.NineP.File: memoryFile :: (Monad m, EmbedIO m) => String -> IO (NineFile m)
+ Network.NineP.File: memoryFile :: forall m. (Monad m, EmbedIO m) => String -> IO (NineFile m)
- Network.NineP.File: rwFile :: (EmbedIO m) => String -> Maybe (m ByteString) -> Maybe (ByteString -> m ()) -> NineFile m
+ Network.NineP.File: rwFile :: forall m. (EmbedIO m) => String -> Maybe (m ByteString) -> Maybe (ByteString -> m ()) -> NineFile m
- Network.NineP.File: simpleDirectory :: (Monad m, EmbedIO m) => String -> (String -> m (NineFile m)) -> (String -> m (NineFile m)) -> IO (NineFile m, IORef [(String, NineFile m)])
+ Network.NineP.File: simpleDirectory :: forall m. (Monad m, EmbedIO m) => String -> (String -> m (NineFile m)) -> (String -> m (NineFile m)) -> IO (NineFile m, IORef [(String, NineFile m)])
- Network.NineP.File: simpleFile :: (Monad m, EmbedIO m, ReadRef rr m a, Convertible a ByteString, WriteRef wr m b, Convertible ByteString b) => String -> rr -> wr -> NineFile m
+ Network.NineP.File: simpleFile :: forall a b m rr wr. (Monad m, EmbedIO m, ReadRef rr m a, Convertible a ByteString, WriteRef wr m b, Convertible ByteString b) => String -> rr -> wr -> NineFile m
- Network.NineP.File: simpleFileBy :: (Monad m, EmbedIO m) => String -> (m a, b -> m ()) -> (a -> ByteString, ByteString -> b) -> NineFile m
+ Network.NineP.File: simpleFileBy :: forall a b m. (Monad m, EmbedIO m) => String -> (m a, b -> m ()) -> (a -> ByteString, ByteString -> b) -> NineFile m

Files

Network-NineP.cabal view
@@ -1,5 +1,5 @@ Name:                Network-NineP-Version:             0.4.0+Version:             0.4.1 Description:         A library providing one with a somewhat higher level interface to 9P2000 protocol than existing implementations. Designed to facilitate rapid development of synthetic filesystems. Synopsis:            High-level abstraction over 9P protocol Maintainer:          Sergey Alirzaev <zl29ah@gmail.com>@@ -9,7 +9,7 @@ Build-Type:          Simple Cabal-Version:       >= 1.6 Stability:           Experimental-Tested-With:         GHC == 7.10.1+Tested-With:         GHC == 8.0.1  Source-repository head   type:              git@@ -18,7 +18,7 @@ Source-repository this   type:              git   location:          https://github.com/l29ah/Network-NineP.git-  tag:               0.4.0+  tag:               0.4.1  Library   Build-Depends:@@ -27,16 +27,17 @@     containers >= 0.4.2.1 && < 0.6,     NineP >= 0.0.2 && < 0.1,     network >= 2.3.0.14 && < 2.7,-    binary >= 0.5.1.0 && < 0.8,+    binary >= 0.5.1.0 && < 0.9,     mtl >= 2.1.2 && < 2.3,     monad-loops >= 0.3.3.0 && < 0.5,     regex-posix >= 0.95.2 && < 0.96,     mstate >= 0.2.4 && < 0.3,-    transformers >= 0.3.0.0 && < 0.5,+    transformers >= 0.3.0.0 && < 0.6,     stateref >= 0.3 && < 0.4,     convertible >= 1.0.11.1 && < 1.2,     exceptions >= 0.8.0.2 && < 0.9,-    monad-peel >= 0.1.1 && < 0.3+    monad-peel >= 0.1.1 && < 0.3,+    hslogger >= 1.2.9 && < 1.3   Exposed-modules:     Control.Monad.EmbedIO     Network.NineP
Network/NineP/Server.hs view
@@ -34,6 +34,7 @@ import Network.BSD import Network.Socket hiding (send, sendTo, recv, recvFrom) import System.IO+import System.Log.Logger import Text.Regex.Posix ((=~))  import Network.NineP.Error@@ -41,11 +42,6 @@ import Network.NineP.Internal.Msg import Network.NineP.Internal.State ---import Debug.Trace-traceShow a b = b-traceIO :: String -> IO ()-traceIO a = return ()- maybeRead :: Read a => String -> Maybe a maybeRead = fmap fst . listToMaybe . reads @@ -96,12 +92,14 @@ 	let l = fromIntegral $ runGet getWord32le $ assert (B.length s == 4) s 	p <- B.hGet h $ l - 4 	let m = runGet (get :: Get Msg) (B.append s p)-	traceIO $ show m+	debugM "Network.NineP.Server" $ show m 	return m  sender :: IO Msg -> (ByteString -> IO ()) -> IO () sender get say = forever $ do-	(say . runPut . put . join traceShow) =<< get+	msg <- get+	debugM "Network.NineP.Server" $ show msg+	say $ runPut $ put msg  receiver :: (EmbedIO m) => Config m -> Handle -> (Msg -> IO ()) -> IO () receiver cfg h say = runReaderT (runMState (iterateUntil id (do
Test.hs view
@@ -4,6 +4,7 @@ import Control.Monad.Trans import qualified Data.ByteString.Lazy.Char8 as B import Data.Word+import System.Log.Logger  import Network.NineP as N import Network.NineP.Error@@ -18,6 +19,7 @@ boringwr _ c = return $ B.take (fromIntegral c) "i am so very boring"  main = do+	updateGlobalLogger "Network.NineP" $ setLevel DEBUG 	memd <- memoryDirectory "/" :: IO (NineFile IO) 	run9PServer $ Config { 			-- TODO Data.Default?