diff options
| author | bt <bt@rctt.net> | 2026-05-24 21:24:06 +0200 |
|---|---|---|
| committer | bt <bt@rctt.net> | 2026-05-24 21:49:48 +0200 |
| commit | 60c6f3dd306c50bb2330eb09372bd032eaf996eb (patch) | |
| tree | 12918ca48004b3a83dda98c89fdb898870d324c8 /server/channel.go | |
| parent | 509bfdbcfc483240f31f9ecd0b4f97dbba96f6f7 (diff) | |
| download | solec-60c6f3dd306c50bb2330eb09372bd032eaf996eb.tar.gz solec-60c6f3dd306c50bb2330eb09372bd032eaf996eb.zip | |
[common] Handle channels using database
Diffstat (limited to 'server/channel.go')
| -rw-r--r-- | server/channel.go | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/server/channel.go b/server/channel.go deleted file mode 100644 index 11969f2..0000000 --- a/server/channel.go +++ /dev/null @@ -1,48 +0,0 @@ -package server - -import ( - "log" - "net" - "sync" - - "go.rctt.net/solec/core" -) - -type Channel struct { - Name string - Users map[string]*User - UsersMu sync.RWMutex -} - -func NewChannel(name string) *Channel { - return &Channel{ - Name: name, - Users: make(map[string]*User), - } -} - -func (c *Channel) Add(u *User) { - c.UsersMu.Lock() - c.Users[u.Name] = u - u.Channels[c.Name] = c - c.UsersMu.Unlock() - - log.Println("user joined a channel") -} - -func (c *Channel) Remove(u *User) { - c.UsersMu.Lock() - delete(c.Users, u.Name) - delete(u.Channels, c.Name) - c.UsersMu.Unlock() - - log.Println("user left a channel") -} - -func (c *Channel) Send(senderConn net.Conn, msg core.Message) { - for _, u := range c.Users { - if err := u.Send(senderConn, msg); err != nil { - log.Print("cannot send a message to user on channel", err) - } - } -} |
