-
-
Notifications
You must be signed in to change notification settings - Fork 134
/
peer_db.go
48 lines (38 loc) · 965 Bytes
/
peer_db.go
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package e2e
import "github.com/gotd/td/tg"
type messageDatabase struct {
common []tg.MessageClass
secret []tg.EncryptedMessageClass
channels map[int64][]tg.MessageClass
}
type peerDatabase struct {
users map[int64]*tg.User
chats map[int64]*tg.Chat
channels map[int64]*tg.Channel
id int64
}
func (p *peerDatabase) createUser(username string) *tg.PeerUser {
p.users[p.id] = &tg.User{
ID: p.id,
Username: username,
}
defer func() { p.id++ }()
return &tg.PeerUser{UserID: p.id}
}
func (p *peerDatabase) createChat(title string) *tg.PeerChat {
p.chats[p.id] = &tg.Chat{
ID: p.id,
Title: title,
}
defer func() { p.id++ }()
return &tg.PeerChat{ChatID: p.id}
}
func (p *peerDatabase) createChannel(username string) *tg.PeerChannel {
p.channels[p.id] = &tg.Channel{
ID: p.id,
Username: username,
}
p.channels[p.id].SetAccessHash(p.id * 2)
defer func() { p.id++ }()
return &tg.PeerChannel{ChannelID: p.id}
}