diff options
Diffstat (limited to 'libraries/libiserv/src/Remote/Message.hs')
-rw-r--r-- | libraries/libiserv/src/Remote/Message.hs | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/libraries/libiserv/src/Remote/Message.hs b/libraries/libiserv/src/Remote/Message.hs deleted file mode 100644 index f1745301ba..0000000000 --- a/libraries/libiserv/src/Remote/Message.hs +++ /dev/null @@ -1,38 +0,0 @@ -{-# LANGUAGE GADTs, StandaloneDeriving, ExistentialQuantification #-} - -module Remote.Message - ( SlaveMessage(..) - , SlaveMsg(..) - , putSlaveMessage - , getSlaveMessage ) -where - -import GHC.Fingerprint (Fingerprint) -import Data.Binary -import Data.ByteString (ByteString) - --- | A @SlaveMessage a@ is message from the iserv process on the --- target, requesting something from the Proxy of with result type @a@. -data SlaveMessage a where - -- sends either a new file, or nothing if the file is acceptable. - Have :: FilePath -> Fingerprint -> SlaveMessage (Maybe ByteString) - Missing :: FilePath -> SlaveMessage ByteString - Done :: SlaveMessage () - -deriving instance Show (SlaveMessage a) - -putSlaveMessage :: SlaveMessage a -> Put -putSlaveMessage m = case m of - Have path sha -> putWord8 0 >> put path >> put sha - Missing path -> putWord8 1 >> put path - Done -> putWord8 2 - -data SlaveMsg = forall a . (Binary a, Show a) => SlaveMsg (SlaveMessage a) - -getSlaveMessage :: Get SlaveMsg -getSlaveMessage = do - b <- getWord8 - case b of - 0 -> SlaveMsg <$> (Have <$> get <*> get) - 1 -> SlaveMsg <$> Missing <$> get - 2 -> return (SlaveMsg Done) |