better comments
authorJoey Hess <joeyh@joeyh.name>
Thu, 1 Dec 2016 03:54:00 +0000 (23:54 -0400)
committerJoey Hess <joeyh@joeyh.name>
Thu, 1 Dec 2016 03:54:00 +0000 (23:54 -0400)
P2P/IO.hs

index c0b14edca7d1bfce4c8d4825001ac11c95a881e6..82ad23646e98b415382b799ea5f3a495bac8bda0 100644 (file)
--- a/P2P/IO.hs
+++ b/P2P/IO.hs
@@ -32,6 +32,7 @@ import Control.Concurrent.Async
 import qualified Data.ByteString as B
 import qualified Data.ByteString.Lazy as L
 
+-- Type of interpreters of the Proto free monad.
 type RunProto = forall a m. (MonadIO m, MonadMask m) => Proto a -> m (Maybe a)
 
 data RunEnv = RunEnv
@@ -41,8 +42,10 @@ data RunEnv = RunEnv
        , runOhdl :: Handle
        }
 
--- Implementation of the protocol, communicating with a peer
--- over a Handle. No Local actions will be run.
+-- Interpreter of Proto that communicates with a peer over a Handle.
+--
+-- No Local actions will be run; if the interpreter reaches any,
+-- it returns Nothing.
 runNetProtoHandle :: (MonadIO m, MonadMask m) => RunEnv -> Proto a -> m (Maybe a)
 runNetProtoHandle runenv = go
   where
@@ -51,6 +54,9 @@ runNetProtoHandle runenv = go
        go (Free (Net n)) = runNetHandle runenv go n
        go (Free (Local _)) = return Nothing
 
+-- Interprater of Net that communicates with a peer over a Handle.
+--
+-- An interpreter for Proto has to be provided.
 runNetHandle :: (MonadIO m, MonadMask m) => RunEnv -> RunProto -> NetF (Proto a) -> m (Maybe a)
 runNetHandle runenv runner f = case f of
        SendMessage m next -> do