class documentation

class Sessions(object):

View In Hierarchy

A list of the sessions that a REVEN server tracks.

The links generated e.g. by displaying a Transition in a Jupyter Notebook will send events to all the clients listening to the currently tracked sessions.

Warnings

This object is not meant to be constructed directly. Use RevenServer.sessions instead.

Method __init__ Undocumented
Property tracked Property: The list of the currently tracked sessions.
Method publish_transition Send the passed transition to all clients that are listening to the currently tracked sessions.
Method tracked.setter Undocumented
Method available A generator of the sessions known to the server.
Method active A generator of the sessions to which at least one client is currently connected.
Method __repr__ Undocumented
Class Variable _instances Undocumented
Instance Variable _rvn Undocumented
Instance Variable _sessions Undocumented
Method _publish Undocumented
Method _js_publish_transition Undocumented
_instances =

Undocumented

(type: _weakref.WeakValueDictionary)
def __init__(self, _rvn, sessions=None):

Undocumented

_rvn =

Undocumented

_sessions =

Undocumented

@property
tracked =

Property: The list of the currently tracked sessions.

Examples

>>> # Access the list of currently tracked sessions
>>> reven_server.sessions.tracked
[Session('default', 1)]
>>> # Only track session 'axion' going forward
>>> reven_server.sessions.tracked = 'axion'
>>> reven_server.sessions.tracked
[Session('axion', 0)]
>>> # Add back the default session
>>> reven_server.sessions.tracked.append("default")
>>> reven_server.sessions.tracked
[Session('axion', 0), Session('default', 1)]
>>> # Follow all available sessions
>>> reven_server.sessions.tracked = reven_server.sessions.available()
>>> reven_server.sessions.tracked
[Session('test', 4), Session('default', 1), Session('axion', 0)]
def publish_transition(self, transition):

Send the passed transition to all clients that are listening to the currently tracked sessions.

The actual response of the clients to this event is client-specific. In Axion, the published transition will be selected.

Examples

>>> # Publish transition #100 to clients
>>> reven_server.sessions.publish_transition(reven_server.trace.transition(100))
True

Information

ParameterstransitionThe reven2.trace.Transition to send.
ReturnsTrue if there were some clients listening, False otherwise.
def _publish(self, transition_id):

Undocumented

@tracked.setter
def tracked(self, sessions=None):

Undocumented

def available(self):

A generator of the sessions known to the server.

Information

Returnsa generator of Session objects
def active(self):

A generator of the sessions to which at least one client is currently connected.

Information

Returnsa generator of Session objects
def __repr__(self):

Undocumented

def _js_publish_transition(self, transition_id):

Undocumented

API Documentation for reven2, generated by pydoctor 21.2.2 at 2021-07-01 16:38:17.