diff options
Diffstat (limited to 'server/channel')
| -rw-r--r-- | server/channel/channel.go | 17 | ||||
| -rw-r--r-- | server/channel/command.go | 17 |
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() - } -} |
