class Sessions(object):
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 | 
| Method | __repr__ | 
    Undocumented | 
| Method | active | 
    A generator of the sessions to which at least one client is currently connected. | 
| Method | available | 
    A generator of the sessions known to the server. | 
| Method | publish | 
    Send the passed address to all clients that are listening to the currently tracked sessions. | 
| Method | publish | 
    Send the passed transition to all clients that are listening to the currently tracked sessions. | 
| Method | tracked | 
    Undocumented | 
| Property | tracked | 
    Property: The list of the currently tracked sessions. | 
| Method | _js | 
    Undocumented | 
| Method | _js | 
    Undocumented | 
| Method | _publish | 
    Undocumented | 
| Method | _publish | 
    Undocumented | 
| Class Variable | _instances | 
    Undocumented | 
| Instance Variable | _rvn | 
    Undocumented | 
| Instance Variable | _sessions | 
    Undocumented | 
A generator of the sessions to which at least one client is currently connected.
Information
| Returns | |
a generator of Session objects | 
Send the passed address to all clients that are listening to the currently tracked sessions.
The size and addr_name values, if provided, override the name and size values of the address' formatter. The actual response of the clients to this event is client-specific. In Axion, the published address will open an hexdump widget.
Examples
>>> # Publish address LogicalAddress(0x180, reven2.arch.x64.gs) to clients >>> reven_server.sessions.publish_address(reven2.address.LogicalAddress(0x180, reven2.arch.x64.gs)) True
Information
| Parameters | |
| address | The reven2.address.LogicalAddress, reven2.address.LogicalAddressSegmentIndex or reven2.address.LinearAddress to send. | 
| size | the size of the address, this value is e.g. used in axion to customize display mode in the hexdump, if None the address's default formatter size is used. | 
| address | String, is e.g. used in axion to name the hexdump, if None the address's default formatter name is used. | 
| address | The reven2.MemoryRange to send. address and size must be None if this parameter is used. | 
| Returns | |
| True if there were some clients listening, False otherwise. | |
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
| Parameters | |
| transition | The reven2.trace.Transition to send. | 
| Returns | |
| True if there were some clients listening, False otherwise. | |
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)]