tangled
alpha
login
or
join now
willdot.net
/
message-broker
2
fork
atom
An experimental pub/sub client and server project.
2
fork
atom
overview
issues
pulls
pipelines
Change module name and exported messages
willdot.net
2 years ago
e29b2f30
a56a98e3
+9
-9
5 changed files
expand all
collapse all
unified
split
go.mod
server.go
server_test.go
subscriber.go
topic.go
+1
-1
go.mod
···
1
1
-
module github.com/willdot/message-broker
1
1
+
module github.com/willdot/messagebroker
2
2
3
3
go 1.21.0
4
4
+3
-3
server.go
···
1
1
-
package main
1
1
+
package messagebroker
2
2
3
3
import (
4
4
"context"
···
20
20
Publish Action = 3
21
21
)
22
22
23
23
-
type message struct {
23
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
226
-
var msg message
226
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
1
-
package main
1
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
207
-
msg := message{
207
207
+
msg := Message{
208
208
Topic: "topic a",
209
209
Data: data,
210
210
}
+1
-1
subscriber.go
···
1
1
-
package main
1
1
+
package messagebroker
2
2
3
3
import (
4
4
"fmt"
+2
-2
topic.go
···
1
1
-
package main
1
1
+
package messagebroker
2
2
3
3
import (
4
4
"log/slog"
···
35
35
delete(t.subscriptions, addr)
36
36
}
37
37
38
38
-
func (t *topic) sendMessageToSubscribers(msg message) {
38
38
+
func (t *topic) sendMessageToSubscribers(msg Message) {
39
39
t.mu.Lock()
40
40
subscribers := t.subscriptions
41
41
t.mu.Unlock()