aboutsummaryrefslogtreecommitdiff
path: root/lib/cache.mli
diff options
context:
space:
mode:
Diffstat (limited to 'lib/cache.mli')
-rw-r--r--lib/cache.mli27
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/cache.mli b/lib/cache.mli
new file mode 100644
index 0000000..111e5bc
--- /dev/null
+++ b/lib/cache.mli
@@ -0,0 +1,27 @@
+open Async
+open Core
+
+module ChannelMap : module type of Map.Make(Channel_id_t)
+module GuildMap : module type of Map.Make(Guild_id_t)
+module UserMap : module type of Map.Make(User_id_t)
+
+type t = {
+ text_channels: Channel_t.guild_text ChannelMap.t;
+ voice_channels: Channel_t.guild_voice ChannelMap.t;
+ categories: Channel_t.category ChannelMap.t;
+ groups: Channel_t.group ChannelMap.t;
+ private_channels: Channel_t.dm ChannelMap.t;
+ guilds: Guild_t.t GuildMap.t;
+ presences: Presence.t UserMap.t;
+ (* messages: Channel_id_t.t GuildMap.t; *)
+ unavailable_guilds: Guild_t.unavailable GuildMap.t;
+ user: User_t.t option;
+ users: User_t.t UserMap.t;
+}
+
+val cache : t Mvar.Read_write.t
+
+val create :
+ (* ?max_messages:int -> *)
+ unit ->
+ t \ No newline at end of file