subscriptions
The subscriptions namespace — 13 functions.
globals/subscriptions/cancel
subscriptions.cancel(id: string) -> boolean
Cancel a subscription by id: disconnects the live connection immediately and marks the row cancelled. Returns true when a live subscription was cancelled, false for an unknown or already-disconnected id.
Parameters
idstring— Subscription id to cancel.
Returns boolean — True when a live subscription was disconnected.
subscriptions.cancel(conn.id)
globals/subscriptions/get
subscriptions.get(id: string) -> SubscriptionRow?
One subscription row by id, or nil when the id is unknown (never tracked, or evicted after its publisher was destroyed).
Parameters
idstring— Subscription id (conn.id, or a/zero/runtime/events/subscriptions/entry).
Returns SubscriptionRow? — The subscription row, or nil.
local row = subscriptions.get(conn.id); print(row and row.deliveries)
globals/subscriptions/list
subscriptions.list(filter: SubscriptionFilter?) -> { SubscriptionRow }
Every tracked subscription row, optionally filtered by publisher instance id, publisher entity id, event name, and/or connected state.
Parameters
filterSubscriptionFilter(optional) — Optional filter table.
Returns { SubscriptionRow } — Array of subscription rows.
for _, s in ipairs(subscriptions.list({ connected = true })) do print(s.id, s.event, s.deliveries) end
globals/subscriptions/publishers
subscriptions.publishers() -> { PublisherRow }
Every live event publisher: component instance, entity, and per-event fire stats (fires happen whether or not anyone subscribes) plus current subscriber ids.
Returns { PublisherRow } — Array of publisher rows.
for _, p in ipairs(subscriptions.publishers()) do print(p.component, p.entityName) end
modules/subscriptions/README
require("@builtin/modules/api/engine/subscriptions") -- subscriptions (also available as global 'subscriptions')
Runtime inspection and cancellation of component-event subscriptions. Public Luau surface over the __event_inspect_* / __event_track_* Internal FFI globals; the same data is browsable at /zero/runtime/events/.
Usage: local subscriptions = require("@builtin/modules/api/engine/subscriptions") Also available as global: subscriptions
modules/subscriptions/cancel
cancel(id: string): boolean
Cancel a subscription by id: disconnects the live connection immediately and marks the row cancelled. Returns true when a live subscription was cancelled, false for an unknown or already-disconnected id.
Parameters
idstring— Subscription id to cancel.
subscriptions.cancel(conn.id)
modules/subscriptions/get
get(id: string): SubscriptionRow?
One subscription row by id, or nil when the id is unknown (never tracked, or evicted after its publisher was destroyed).
Parameters
idstring— Subscription id (conn.id, or a/zero/runtime/events/subscriptions/entry).
local row = subscriptions.get(conn.id); print(row and row.deliveries)
modules/subscriptions/list
list(filter: SubscriptionFilter?): { SubscriptionRow }
Every tracked subscription row, optionally filtered by publisher instance id, publisher entity id, event name, and/or connected state.
Parameters
filterSubscriptionFilter?(optional) — Optional filter table.
for _, s in ipairs(subscriptions.list({ connected = true })) do print(s.id, s.event, s.deliveries) end
modules/subscriptions/publishers
publishers(): { PublisherRow }
Every live event publisher: component instance, entity, and per-event fire stats (fires happen whether or not anyone subscribes) plus current subscriber ids.
for _, p in ipairs(subscriptions.publishers()) do print(p.component, p.entityName) end
typed/builtin//modules/api/engine/subscriptions/subscriptions/cancel
subscriptions.cancel(id: string) -> boolean
Cancel a subscription by id: disconnects the live connection immediately and marks the row cancelled. Returns true when a live subscription was cancelled, false for an unknown or already-disconnected id.
Parameters
idstring— Subscription id to cancel.
Returns boolean — True when a live subscription was disconnected.
subscriptions.cancel(conn.id)
typed/builtin//modules/api/engine/subscriptions/subscriptions/get
subscriptions.get(id: string) -> SubscriptionRow?
One subscription row by id, or nil when the id is unknown (never tracked, or evicted after its publisher was destroyed).
typed/builtin//modules/api/engine/subscriptions/subscriptions/list
subscriptions.list(filter: SubscriptionFilter?) -> { SubscriptionRow }
Every tracked subscription row, optionally filtered by publisher instance id, publisher entity id, event name, and/or connected state.
typed/builtin//modules/api/engine/subscriptions/subscriptions/publishers
subscriptions.publishers() -> { PublisherRow }
Every live event publisher: component instance, entity, and per-event fire stats (fires happen whether or not anyone subscribes) plus current subscriber ids.
Returns { PublisherRow } — Array of publisher rows.
for _, p in ipairs(subscriptions.publishers()) do print(p.component, p.entityName) end