Network-NineP-0.4.1: High-level abstraction over 9P protocol

StabilityUltra-Violence
PortabilityI'm too young to die
Safe HaskellSafe
LanguageHaskell98

Network.NineP.File

Description

Higher-level file patterns. Don't support read/write operations at offsets and handling stat changes as for now.

Synopsis

Documentation

isDir #

Arguments

:: Word32

Permissions

-> Bool 

Tests if the file is a directory

simpleFile #

Arguments

:: (Monad m, EmbedIO m, ReadRef rr m a, Convertible a ByteString, WriteRef wr m b, Convertible ByteString b) 
=> String

File name

-> rr

Reading function

-> wr

Writing function

-> NineFile m 

A file that reads from and writes to the supplied Ref instances, with converstion to the appropriate types. See Instances, Instances and Instances. Use '()', if the file is meant to be read-only/write-only.

simpleFileBy #

Arguments

:: (Monad m, EmbedIO m) 
=> String

File name

-> (m a, b -> m ())

Reading and writing handle

-> (a -> ByteString, ByteString -> b)

Type conversion handles

-> NineFile m 

Typeclass-free version of simpleFile.

simpleDirectory #

Arguments

:: (Monad m, EmbedIO m) 
=> String

File name

-> (String -> m (NineFile m))

A function for creating new files

-> (String -> m (NineFile m))

A function for creating new directories

-> IO (NineFile m, IORef [(String, NineFile m)]) 

A directory that stores its contents in the form of 'IORef [(String, NineFile m)]'

rwFile #

Arguments

:: EmbedIO m 
=> String

File name

-> Maybe (m ByteString)

Read handler

-> Maybe (ByteString -> m ())

Write handler

-> NineFile m 

A file that reads and writes using simple user-specified callbacks.

memoryFile #

Arguments

:: (Monad m, EmbedIO m) 
=> String

File name

-> IO (NineFile m) 

A file that stores its contents in the form of IORef ByteString

memoryDirectory #

Arguments

:: (Monad m, EmbedIO m) 
=> String

File name

-> IO (NineFile m) 

A composition of a simpleDirectory and a memoryFile