Hosted rooms: seats, owner-first room IDs, T5 items in their scenes
CI / build (push) Successful in 31s
CI / build (push) Successful in 31s
- The seat chosen on joining, and "*msg SeatAssignment" room seats, go to the hub, so people joining get free seats (both stood on seat 1). - Instance IDs are "<owner>-<2100000000+n>" (the hub's change): the client takes the owner from them, so owners can decorate their rooms. - A hosted room's scene carries community products as the hub's IDs (placements too), turned into local IDs by each proxy, instead of being stripped; saved and loaded scenes translate placements too. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
13ee023836
commit
c483099558
6 files changed
+192
-31
No files matched your search
@@ -115,10 +115,11 @@ func (p *Products) Ready(id string) {
|
||||
const HostedOwnerID = 2100000000
|
||||
|
||||
// HostedRooms serves T5DE-hosted rooms' IMQ queues: Route answers subscriptions to them, Send takes the client's
|
||||
// messages to them (reporting whether the queue was one), Closed forgets a connection.
|
||||
// messages to them (message as for others, original as the client sent it, for the echo; keep: nothing to send
|
||||
// others), reporting whether the queue was one; Closed forgets a connection.
|
||||
type HostedRooms interface {
|
||||
Route(c *proxy.IMQConn, unsubscribe bool, s imq.Subscription) imq.Subscription
|
||||
Send(queue, mount string, message []byte) bool
|
||||
Send(queue, mount string, message, original []byte, keep bool) bool
|
||||
Closed(c *proxy.IMQConn)
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user