aboutsummaryrefslogtreecommitdiff
path: root/setup/jetstream/streams.go
diff options
context:
space:
mode:
Diffstat (limited to 'setup/jetstream/streams.go')
-rw-r--r--setup/jetstream/streams.go61
1 files changed, 61 insertions, 0 deletions
diff --git a/setup/jetstream/streams.go b/setup/jetstream/streams.go
new file mode 100644
index 00000000..0fd31082
--- /dev/null
+++ b/setup/jetstream/streams.go
@@ -0,0 +1,61 @@
+package jetstream
+
+import (
+ "time"
+
+ "github.com/nats-io/nats.go"
+)
+
+const (
+ UserID = "user_id"
+ RoomID = "room_id"
+)
+
+var (
+ InputRoomEvent = "InputRoomEvent"
+ OutputRoomEvent = "OutputRoomEvent"
+ OutputSendToDeviceEvent = "OutputSendToDeviceEvent"
+ OutputKeyChangeEvent = "OutputKeyChangeEvent"
+ OutputTypingEvent = "OutputTypingEvent"
+ OutputClientData = "OutputClientData"
+ OutputReceiptEvent = "OutputReceiptEvent"
+)
+
+var streams = []*nats.StreamConfig{
+ {
+ Name: InputRoomEvent,
+ Retention: nats.InterestPolicy,
+ Storage: nats.FileStorage,
+ },
+ {
+ Name: OutputRoomEvent,
+ Retention: nats.InterestPolicy,
+ Storage: nats.FileStorage,
+ },
+ {
+ Name: OutputSendToDeviceEvent,
+ Retention: nats.InterestPolicy,
+ Storage: nats.FileStorage,
+ },
+ {
+ Name: OutputKeyChangeEvent,
+ Retention: nats.LimitsPolicy,
+ Storage: nats.FileStorage,
+ },
+ {
+ Name: OutputTypingEvent,
+ Retention: nats.InterestPolicy,
+ Storage: nats.MemoryStorage,
+ MaxAge: time.Second * 60,
+ },
+ {
+ Name: OutputClientData,
+ Retention: nats.InterestPolicy,
+ Storage: nats.FileStorage,
+ },
+ {
+ Name: OutputReceiptEvent,
+ Retention: nats.InterestPolicy,
+ Storage: nats.FileStorage,
+ },
+}