|
NAMEJifty::Plugin::PubSub::Subscriptions - Manage browser event subscriptionsDESCRIPTIONThis class is a global cache of the outstanding subscriptions of requests. When a page is rendered, it may choose to add subscriptions via "update_on" or "add":# Update the current region on an event Jifty->subs->update_on( topic => "some_event" ); or: # Send this topic of events to the browser Jifty->subs->add( topic => "some_event" ); These subscriptions are not done in the rendering request, but must be stored until the websocket connection occurs later; this class manages that storage. The storage is currently an in-memory store which does not purge old subscriptions. This means that if a page with subscriptions is requested 1000 times, but the websocket for them is never established, those subscriptions will be stored until the server is restarted. In the future, these subscriptions may be stored on the session, and expired in conjunction. The only expected interaction with this module is via "update_on" and "add". METHODSadd topic => TOPIC [, ...]Adds a subscription. If only the TOPIC is given, the event will be passed through to the web browser to interpret. Otherwise, the arguments are used similarly to Jifty::Web::Element to determine which region to update, and how.update_on topic => TOPIC [, ...]As "add", but defaults to refreshing the current region.client_idReturns the assigned CLIENT_ID of the current connection. This is "undef" if the client has not been assigned any subscriptions yet.resetCalled internally once per request to reset for the next request.retrieve CLIENT_IDReturns the data structure of subscriptions for the given CLIENT_ID, and removes it such that it is not accessible to future requests.
Visit the GSP FreeBSD Man Page Interface. |