dendrite/setup/jetstream/streams.go

62 lines
1.2 KiB
Go
Raw Normal View History

2021-07-14 12:34:42 +00:00
package jetstream
import (
"time"
"github.com/nats-io/nats.go"
)
const (
UserID = "user_id"
RoomID = "room_id"
)
2021-07-14 12:34:42 +00:00
var (
InputRoomEvent = "InputRoomEvent"
2021-07-14 12:34:42 +00:00
OutputRoomEvent = "OutputRoomEvent"
OutputSendToDeviceEvent = "OutputSendToDeviceEvent"
OutputKeyChangeEvent = "OutputKeyChangeEvent"
OutputTypingEvent = "OutputTypingEvent"
OutputClientData = "OutputClientData"
OutputReceiptEvent = "OutputReceiptEvent"
)
var streams = []*nats.StreamConfig{
{
Name: InputRoomEvent,
Retention: nats.InterestPolicy,
Storage: nats.FileStorage,
},
2021-07-14 12:34:42 +00:00
{
2021-07-14 14:45:46 +00:00
Name: OutputRoomEvent,
Retention: nats.InterestPolicy,
Storage: nats.FileStorage,
2021-07-14 12:34:42 +00:00
},
{
2021-07-14 14:45:46 +00:00
Name: OutputSendToDeviceEvent,
Retention: nats.InterestPolicy,
Storage: nats.FileStorage,
2021-07-14 12:34:42 +00:00
},
{
Name: OutputKeyChangeEvent,
Retention: nats.LimitsPolicy,
Storage: nats.FileStorage,
},
{
2021-07-14 14:45:46 +00:00
Name: OutputTypingEvent,
Retention: nats.InterestPolicy,
Storage: nats.MemoryStorage,
MaxAge: time.Second * 60,
2021-07-14 12:34:42 +00:00
},
{
2021-07-14 14:45:46 +00:00
Name: OutputClientData,
Retention: nats.InterestPolicy,
Storage: nats.FileStorage,
2021-07-14 12:34:42 +00:00
},
{
2021-07-14 14:45:46 +00:00
Name: OutputReceiptEvent,
Retention: nats.InterestPolicy,
Storage: nats.FileStorage,
2021-07-14 12:34:42 +00:00
},
}