module Holumbus.FileSystem.Controller
(
ControllerClass(..)
)
where
import Prelude hiding (appendFile)
import qualified Data.Set as Set
import Holumbus.Network.Site
import Holumbus.Network.Communication
import qualified Holumbus.FileSystem.Storage as S
class ControllerClass c where
closeController :: c -> IO ()
getFileSites :: S.FileId -> c -> IO (Set.Set SiteId)
containsFile :: S.FileId -> c -> IO Bool
getNearestNodePortWithFile :: S.FileId -> SiteId -> c -> IO (Maybe ClientPort)
getNearestNodePortForFile :: S.FileId -> Integer -> SiteId -> c -> IO (Maybe ClientPort)
createFile :: S.FileId -> IdType -> c -> IO ()
deleteFile :: S.FileId -> IdType -> c -> IO ()
appendFile :: S.FileId -> IdType -> c -> IO ()