make some requests optional, simplify and future-proof protocol more

This commit is contained in:
Joey Hess 2013-12-27 02:08:29 -04:00
parent 372764ec76
commit 6d504b57e7
4 changed files with 23 additions and 21 deletions

View file

@ -118,10 +118,9 @@ data Response
| REMOVE_SUCCESS Key
| REMOVE_FAILURE Key ErrorMsg
| COST Cost
| COST_UNKNOWN
| INITREMOTE_SUCCESS
| INITREMOTE_FAILURE ErrorMsg
| UNKNOWN_REQUEST
| UNSUPPORTED_REQUEST
deriving (Show)
instance Receivable Response where
@ -134,10 +133,9 @@ instance Receivable Response where
parseCommand "REMOVE-SUCCESS" = parse1 REMOVE_SUCCESS
parseCommand "REMOVE-FAILURE" = parse2 REMOVE_FAILURE
parseCommand "COST" = parse1 COST
parseCommand "COST_UNKNOWN" = parse0 COST_UNKNOWN
parseCommand "INITREMOTE-SUCCESS" = parse0 INITREMOTE_SUCCESS
parseCommand "INITREMOTE-FAILURE" = parse1 INITREMOTE_FAILURE
parseCommand "UNKNOWN-REQUEST" = parse0 UNKNOWN_REQUEST
parseCommand "UNSUPPORTED-REQUEST" = parse0 UNSUPPORTED_REQUEST
parseCommand _ = parseFail
-- Requests that the external remote can send at any time it's in control.