{-# 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" cfg = Config { root = boringDir "/" [("lol", (boringFile "lol") { write = spamwr })], addr = "unix!/tmp/h9pt" } main = run9PServer cfg