summaryrefslogtreecommitdiff
path: root/server/channel
diff options
context:
space:
mode:
authorcitrons <citrons@mondecitronne.com>2025-06-12 15:19:56 -0500
committercitrons <citrons@mondecitronne.com>2025-06-12 15:24:48 -0500
commit6e9496323fbdfbe2b60122ce68cf3791ccb2910d (patch)
treee9e88b894b56441b1b5591f626c776224dc0669c /server/channel
parentececa97d9ee6a435f81756bc25e25ed80285d20b (diff)
object.Tombstone
Diffstat (limited to 'server/channel')
-rw-r--r--server/channel/channel.go17
-rw-r--r--server/channel/command.go17
2 files changed, 3 insertions, 31 deletions
diff --git a/server/channel/channel.go b/server/channel/channel.go
index 6ef21ba..3cb6f60 100644
--- a/server/channel/channel.go
+++ b/server/channel/channel.go
@@ -14,7 +14,6 @@ type ChannelStore struct {
world *object.World
byName map[string]*Channel
directChannels map[string]*Channel
- deleted map[string]Tombstone
}
type Channel struct {
@@ -29,14 +28,9 @@ type Channel struct {
Stream session.Stream
}
-type Tombstone struct {
- name string
-}
-
func NewStore(world *object.World) *ChannelStore {
return &ChannelStore {
world, make(map[string]*Channel), make(map[string]*Channel),
- make(map[string]Tombstone),
}
}
@@ -209,8 +203,9 @@ func (c *Channel) Delete() {
delete(c.store.byName, validate.Fold(c.name))
c.store.world.RemoveObject(c.id)
- deleted := Tombstone {c.name}
- c.store.deleted[c.id] = deleted
+ deleted := object.Tombstone {
+ c.id, map[string]string {"": c.name, "kind": c.Kind()},
+ }
c.store.world.PutObject(c.id, deleted)
}
@@ -228,9 +223,3 @@ func (c *Channel) InfoFor(uid string) proto.Object {
c.Kind(), c.id, map[string]string {"": c.NameFor(uid)},
}
}
-
-func (t Tombstone) GetInfo() proto.Object {
- return proto.Object {
- "gone", "", map[string]string {"": t.name, "kind": "channel"},
- }
-}
diff --git a/server/channel/command.go b/server/channel/command.go
index 3434326..1171d2f 100644
--- a/server/channel/command.go
+++ b/server/channel/command.go
@@ -262,20 +262,3 @@ func (c *Channel) SendRequest(r session.Request) {
r.ReplyInvalid()
}
}
-
-func (t Tombstone) SendRequest(r session.Request) {
- switch r.Cmd.Kind {
-
- case "update":
- r.Reply(proto.Fail{"bad-target", "", nil}.Cmd())
-
- case "i", "s":
- r.Reply(proto.NewCmd("i", "", t.GetInfo()))
-
- case "u":
- r.ReplyOk()
-
- default:
- r.ReplyInvalid()
- }
-}