packages feed

Network-NineP-0.3.0: Test.hs

{-# LANGUAGE OverloadedStrings #-}

import Control.Monad.Error
import Control.Monad.Trans
import qualified Data.ByteString.Lazy.Char8 as B
import Data.Word

import Network.NineP
import Network.NineP.Error
import Network.NineP.File

--cfg = Config $ boringDir "/" [("boring", boringFile "boring"),("nyak", boringFile "nyak")]
spamwr :: Word64 -> B.ByteString -> ErrorT NineError IO (Word32)
spamwr _ d = do
	lift $ B.putStr d
	return $ fromIntegral $ B.length d

boringwr _ c = return $ B.take (fromIntegral c) "i am so very boring"

main = do
	memd <- memoryDirectory "/" :: IO (NineFile IO)
	run9PServer $ Config {
			root = boringDir "/" [("lol", (boringFile "lol") { write = spamwr }), ("memd", memd)],
			addr = "unix!/tmp/h9pt",
			monadState = undefined
		}