An experimental pub/sub client and server project.

Change module name and exported messages

+9 -9
+1 -1
go.mod
··· 1 - module github.com/willdot/message-broker 1 + module github.com/willdot/messagebroker 2 2 3 3 go 1.21.0 4 4
+3 -3
server.go
··· 1 - package main 1 + package messagebroker 2 2 3 3 import ( 4 4 "context" ··· 20 20 Publish Action = 3 21 21 ) 22 22 23 - type message struct { 23 + type Message struct { 24 24 Topic string `json:"topic"` 25 25 Data []byte `json:"data"` 26 26 } ··· 223 223 return 224 224 } 225 225 226 - var msg message 226 + var msg Message 227 227 err = json.Unmarshal(buf, &msg) 228 228 if err != nil { 229 229 _, _ = conn.Write([]byte("invalid message"))
+2 -2
server_test.go
··· 1 - package main 1 + package messagebroker 2 2 3 3 import ( 4 4 "context" ··· 204 204 205 205 // send some data 206 206 data := []byte("hello world") 207 - msg := message{ 207 + msg := Message{ 208 208 Topic: "topic a", 209 209 Data: data, 210 210 }
+1 -1
subscriber.go
··· 1 - package main 1 + package messagebroker 2 2 3 3 import ( 4 4 "fmt"
+2 -2
topic.go
··· 1 - package main 1 + package messagebroker 2 2 3 3 import ( 4 4 "log/slog" ··· 35 35 delete(t.subscriptions, addr) 36 36 } 37 37 38 - func (t *topic) sendMessageToSubscribers(msg message) { 38 + func (t *topic) sendMessageToSubscribers(msg Message) { 39 39 t.mu.Lock() 40 40 subscribers := t.subscriptions 41 41 t.mu.Unlock()