aboutsummaryrefslogtreecommitdiff
path: root/lib/sharder.mli
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sharder.mli')
-rw-r--r--lib/sharder.mli57
1 files changed, 57 insertions, 0 deletions
diff --git a/lib/sharder.mli b/lib/sharder.mli
new file mode 100644
index 0000000..554ed73
--- /dev/null
+++ b/lib/sharder.mli
@@ -0,0 +1,57 @@
+open Async
+
+exception Invalid_Payload
+exception Failure_to_Establish_Heartbeat
+
+type t
+
+val start :
+ ?count:int ->
+ unit ->
+ t Deferred.t
+
+module Shard : sig
+ type shard
+ type 'a t = {
+ mutable state: 'a;
+ }
+
+ val heartbeat :
+ shard ->
+ shard Deferred.t
+
+ val set_status :
+ status:Yojson.Safe.json ->
+ shard ->
+ shard Deferred.t
+
+ val request_guild_members :
+ ?query:string ->
+ ?limit:int ->
+ guild:Snowflake.t ->
+ shard ->
+ shard Deferred.t
+
+ val create :
+ url:string ->
+ shards:int * int ->
+ unit ->
+ shard Deferred.t
+end
+
+val set_status :
+ status:Yojson.Safe.json ->
+ t ->
+ Shard.shard list Deferred.t
+
+val set_status_with :
+ f:(Shard.shard -> Yojson.Safe.json) ->
+ t ->
+ Shard.shard list Deferred.t
+
+val request_guild_members :
+ ?query:string ->
+ ?limit:int ->
+ guild:Snowflake.t ->
+ t ->
+ Shard.shard list Deferred.t \ No newline at end of file