summaryrefslogtreecommitdiffstats
path: root/server/message.go
blob: 8d897974cb58767265a30ad5a0805d8552dcdb0f (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
package server

import (
	"log"
	"time"

	"git.rctt.net/solec/core"
)

func (s *Server) SendBroadcast(msg string) {
	payload := core.Message{
		Source:    "op@example.org",
		Target:    "*@example.org",
		Timestamp: time.Now(),
		Content:   msg,
	}
	data, err := core.Encode(payload)
	if err != nil {
		panic(err)
	}

	for _, u := range s.users {
		for c := range u.Conns {
			if _, err := c.Write(data); err != nil {
				log.Println("cannot send", err)
			}
		}
	}
}