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.WorkQueuePolicy, 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, }, }