diff options
Diffstat (limited to 'Role/Developer.hs')
-rw-r--r-- | Role/Developer.hs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/Role/Developer.hs b/Role/Developer.hs index d5c3463..a0e178e 100644 --- a/Role/Developer.hs +++ b/Role/Developer.hs @@ -25,13 +25,13 @@ import Data.Time.Clock.POSIX run :: DeveloperOpts -> IO () run = run' developer . debugUrl -run' :: (TMChan (Message Entered) -> TMChan LogMessage -> SessionID -> IO ()) -> UrlString -> IO () +run' :: (TMChan (Message Entered) -> TMChan AnyMessage -> SessionID -> IO ()) -> UrlString -> IO () run' runner url = void $ runClientApp app where connect = ConnectMode (T.pack url) app = clientApp connect Developer Just runner -developer :: TMChan (Message Entered) -> TMChan LogMessage -> SessionID -> IO () +developer :: TMChan (Message Entered) -> TMChan AnyMessage -> SessionID -> IO () developer ichan ochan _ = withLogger "debug-me-developer.log" $ \logger -> do (devstate, startoutput) <- processSessionStart ochan logger emitOutput startoutput @@ -103,7 +103,7 @@ sendTtyInput ichan devstate logger = go go -- | Read activity from the TMChan and display it to the developer. -sendTtyOutput :: TMChan LogMessage -> TVar DeveloperState -> Logger -> IO () +sendTtyOutput :: TMChan AnyMessage -> TVar DeveloperState -> Logger -> IO () sendTtyOutput ochan devstate logger = go where go = do @@ -119,7 +119,7 @@ sendTtyOutput ochan devstate logger = go -- | Present our session key to the user. -- Wait for them to accept or reject it, while displaying any Seen data -- in the meantime. -authUser :: TMChan (Message Entered) -> TMChan LogMessage -> TVar DeveloperState -> Logger -> IO Bool +authUser :: TMChan (Message Entered) -> TMChan AnyMessage -> TVar DeveloperState -> Logger -> IO Bool authUser ichan ochan devstate logger = do ds <- atomically $ readTVar devstate spk <- myPublicKey (developerSessionKey ds) (GpgSign True) @@ -167,7 +167,7 @@ emitOutput NoOutput = -- | Get messages from server, check their signature, and make sure that they -- are properly chained from past messages, before returning. -getServerMessage :: TMChan LogMessage -> TVar DeveloperState -> POSIXTime -> STM (Maybe (Output, LogMessage)) +getServerMessage :: TMChan AnyMessage -> TVar DeveloperState -> POSIXTime -> STM (Maybe (Output, AnyMessage)) getServerMessage ochan devstate ts = do let ignore = getServerMessage ochan devstate ts mmsg <- readTMChan ochan @@ -288,7 +288,7 @@ isLegalSeen act@(Activity (Seen (Val b)) (Just hp) _ _) ds ts -- | Start by reading the initial two messages from the user, -- their session key and the startup message. -processSessionStart :: TMChan LogMessage -> Logger -> IO (TVar DeveloperState, Output) +processSessionStart :: TMChan AnyMessage -> Logger -> IO (TVar DeveloperState, Output) processSessionStart ochan logger = do sessionmsg <- fromMaybe (error "Did not get session initialization message") <$> atomically (readTMChan ochan) |