summaryrefslogtreecommitdiff
path: root/src/message.mli
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2015-09-29 19:11:56 +0600
committerDaniil Baturin <daniil@baturin.org>2015-09-29 19:11:56 +0600
commit0acd427af061b35e613eaa0d80cfc80d1a93faff (patch)
tree5876fc78af72619e20acd9a5fafd26abc6e0644f /src/message.mli
parent0e7c85bd1129c698aa65f25ebbbf52b1268b62c8 (diff)
downloadvyconf-0acd427af061b35e613eaa0d80cfc80d1a93faff.tar.gz
vyconf-0acd427af061b35e613eaa0d80cfc80d1a93faff.zip
Add message decoder implementation.
Restrict the Message module interface to the message types and decoder function.
Diffstat (limited to 'src/message.mli')
-rw-r--r--src/message.mli20
1 files changed, 9 insertions, 11 deletions
diff --git a/src/message.mli b/src/message.mli
index af92d67..2688b8c 100644
--- a/src/message.mli
+++ b/src/message.mli
@@ -1,16 +1,14 @@
-type operation = {
- method_name: string;
- path: string list option;
- options: (string * string) list option
-}
+exception Invalid_operation of string
+exception Invalid_message of string
+
+type operation =
+ | Set of string list
+ | Delete of string list
+ | Show of (string list option) * ((string * string) list option)
type message = {
session_id: string;
- ops: operation list;
+ ops: operation list
}
-val operation_to_yojson : operation -> Yojson.Safe.json
-val operation_of_yojson : Yojson.Safe.json -> [ `Error of bytes | `Ok of operation ]
-
-val message_to_yojson : message -> Yojson.Safe.json
-val message_of_yojson : Yojson.Safe.json -> [ `Error of bytes | `Ok of message ]
+val decode : Yojson.Safe.json -> message