summaryrefslogtreecommitdiffstats
path: root/server/channel.go
diff options
context:
space:
mode:
Diffstat (limited to 'server/channel.go')
-rw-r--r--server/channel.go48
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)
- }
- }
-}