aboutsummaryrefslogtreecommitdiff
path: root/lib/opcode.ml
diff options
context:
space:
mode:
authorAdelyn Breedlove <[email protected]>2018-12-15 18:02:29 +0000
committerAdelyn Breedlove <[email protected]>2018-12-15 18:02:29 +0000
commit910ce60bba69b961c82e29ff1bb63bf4d3fe5519 (patch)
tree690861418bed15de47e7cf5672d96fdacc9abe5e /lib/opcode.ml
parentMerge branch 'patch-1' into 'master' (diff)
parentMerging (diff)
downloaddisml-910ce60bba69b961c82e29ff1bb63bf4d3fe5519.tar.xz
disml-910ce60bba69b961c82e29ff1bb63bf4d3fe5519.zip
Merge branch 'dev' into 'master'
Merge first semi-usable state of dev-branch in a while See merge request Mishio595/disml!10
Diffstat (limited to 'lib/opcode.ml')
-rw-r--r--lib/opcode.ml54
1 files changed, 54 insertions, 0 deletions
diff --git a/lib/opcode.ml b/lib/opcode.ml
new file mode 100644
index 0000000..2462d05
--- /dev/null
+++ b/lib/opcode.ml
@@ -0,0 +1,54 @@
+type t =
+ | DISPATCH
+ | HEARTBEAT
+ | IDENTIFY
+ | STATUS_UPDATE
+ | VOICE_STATE_UPDATE
+ | RESUME
+ | RECONNECT
+ | REQUEST_GUILD_MEMBERS
+ | INVALID_SESSION
+ | HELLO
+ | HEARTBEAT_ACK
+
+exception Invalid_Opcode of int
+
+let to_int = function
+ | DISPATCH -> 0
+ | HEARTBEAT -> 1
+ | IDENTIFY -> 2
+ | STATUS_UPDATE -> 3
+ | VOICE_STATE_UPDATE -> 4
+ | RESUME -> 6
+ | RECONNECT -> 7
+ | REQUEST_GUILD_MEMBERS -> 8
+ | INVALID_SESSION -> 9
+ | HELLO -> 10
+ | HEARTBEAT_ACK -> 11
+
+let from_int = function
+ | 0 -> DISPATCH
+ | 1 -> HEARTBEAT
+ | 2 -> IDENTIFY
+ | 3 -> STATUS_UPDATE
+ | 4 -> VOICE_STATE_UPDATE
+ | 6 -> RESUME
+ | 7 -> RECONNECT
+ | 8 -> REQUEST_GUILD_MEMBERS
+ | 9 -> INVALID_SESSION
+ | 10 -> HELLO
+ | 11 -> HEARTBEAT_ACK
+ | op -> raise (Invalid_Opcode op)
+
+let to_string = function
+ | DISPATCH -> "DISPATCH"
+ | HEARTBEAT -> "HEARTBEAT"
+ | IDENTIFY -> "IDENTIFY"
+ | STATUS_UPDATE -> "STATUS_UPDATE"
+ | VOICE_STATE_UPDATE -> "VOICE_STATE_UPDATE"
+ | RESUME -> "RESUME"
+ | RECONNECT -> "RECONNECT"
+ | REQUEST_GUILD_MEMBERS -> "REQUEST_GUILD_MEMBER"
+ | INVALID_SESSION -> "INVALID_SESSION"
+ | HELLO -> "HELLO"
+ | HEARTBEAT_ACK -> "HEARTBEAT_ACK" \ No newline at end of file