diff options
| author | Adelyn Breelove <[email protected]> | 2018-11-29 13:50:53 -0700 |
|---|---|---|
| committer | Adelyn Breelove <[email protected]> | 2018-11-29 13:50:53 -0700 |
| commit | 18f4b7e8cada448f6fc15ee8ee18944dcb0b1676 (patch) | |
| tree | 1f0e626eeaf8dd89cc779655b68f12b1b8d0971a /lib/s.ml | |
| parent | functors! (diff) | |
| download | disml-18f4b7e8cada448f6fc15ee8ee18944dcb0b1676.tar.xz disml-18f4b7e8cada448f6fc15ee8ee18944dcb0b1676.zip | |
Try to make it a more properly structured lib
Diffstat (limited to 'lib/s.ml')
| -rw-r--r-- | lib/s.ml | 61 |
1 files changed, 60 insertions, 1 deletions
@@ -27,5 +27,64 @@ module type Http = sig end (* TODO add abstraction sigs *) - val token : string +end + +module type Sharder = sig + exception Invalid_Payload + exception Failure_to_Establish_Heartbeat + + type t + + val start : + ?count:int -> + string -> + t Deferred.t + + val set_status : + status:Yojson.Basic.json -> + t -> + (Shard.shard Shard.t) list Deferred.t + + val set_status_with : + f:(Shard.shard -> Yojson.Basic.json) -> + t -> + (Shard.shard Shard.t) list Deferred.t + + val request_guild_members : + ?query:string -> + ?count:string -> + guild:Snowflake.t -> + t -> + (Shard.shard Shard.t) list Deferred.t + + module Shard : sig + type shard + type 'a t + + val bind : + f:('a -> unit) -> + 'a t -> + unit + + val heartbeat : + shard -> + shard Deferred.t + + val set_status : + status:Yojson.Basic.json -> + shard -> + shard Deferred.t + + val request_guild_members : + ?query:string -> + ?limit:int -> + guild:Snowflake.t + + val create : + url:string -> + shards:int * int -> + token:string -> + unit -> + t Deferred.t + end end
\ No newline at end of file |