summaryrefslogtreecommitdiff
path: root/internal/client/ui/core/state/state.go
blob: 3f9cb5a511776396dcda95ce04207b2164349a57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package state

import (
	"github.com/google/btree"
	"github.com/kyren223/eko/internal/data"
	"github.com/kyren223/eko/internal/packet"
	"github.com/kyren223/eko/pkg/snowflake"
)

type Frequency struct {
	IncompleteMessage string
	Offset            int
	MaxHeight         int
}

type state struct {
	// Key is either a frequency or receiver
	FrequencyState map[snowflake.ID]Frequency
	LastFrequency  map[snowflake.ID]snowflake.ID // key is network

	Messages map[snowflake.ID]*btree.BTreeG[data.Message]
	Networks []packet.FullNetwork
}

var State state = state{
	FrequencyState: map[snowflake.ID]Frequency{},
	LastFrequency:  map[snowflake.ID]snowflake.ID{},
	Messages:       map[snowflake.ID]*btree.BTreeG[data.Message]{},
	Networks:       []packet.FullNetwork{},
}