Realm Store¶
RealmStore¶
- class cfxdb.realmstore.RealmStore(db)[source]¶
Persistent realm store.
- property idx_sessions_by_session_id: Optional[IndexSessionsBySessionId]¶
Index: (session, joined_at) -> app_session_oid
- property publications: Optional[Publications]¶
Publications archive.
Session¶
- class cfxdb.realmstore.Session(from_fbs: Optional[_SessionGen] = None)[source]¶
Persisted session database object.
- property oid: Optional[UUID]¶
Unlimited time, globally unique, long-term OID of this session. The pair of WAMP session ID and join time
(session, joined_at)
bidirectionally maps to sessionoid
.
- property joined_at: Optional[datetime64]¶
Timestamp when the session was joined by the router. Epoch time in ns.
- property left_at: Optional[datetime64]¶
Timestamp when the session left the router. Epoch time in ns.
- property node_authid: Optional[str]¶
Name (management realm WAMP authid) of the node of the router worker hosting this session.
- property proxy_node_oid: Optional[UUID]¶
From proxy (in proxy-router cluster setups): OID of the node of the proxy worker hosting this session.
- property proxy_node_authid: Optional[str]¶
From proxy (in proxy-router cluster setups): Name (management realm WAMP authid) of the node of the proxy worker hosting this session.
- property proxy_worker_name: Optional[str]¶
From proxy (in proxy-router cluster setups): Local worker name of the proxy worker hosting this session.
- property proxy_worker_pid: Optional[int]¶
From proxy (in proxy-router cluster setups): Local worker PID of the proxy worker hosting this session.
- property proxy_transport: Optional[Dict[str, Any]]¶
From proxy (in proxy-router cluster setups): Session transport information, the transport from the proxy to the backend router.
- property authprovider: Optional[str]¶
The WAMP authprovider that was handling the session authentication.
- class cfxdb.realmstore.Sessions(slot=None, compress=None, build=None, cast=None)[source]¶
Bases:
MapUuidFlatBuffers
Persisted session information table.
Map
zlmdb.MapUuidFlatBuffers
fromsession_oid
tocfxdb.realmstore.Session
Publication¶
- class cfxdb.realmstore.Publication(from_fbs=None)[source]¶
Persisted publication database object.
- ENC_ALGO_NONE = 0¶
- ENC_ALGO_CRYPTOBOX = 1¶
- ENC_ALGO_MQTT = 2¶
- ENC_ALGO_XBR = 3¶
- ENC_SER_NONE = 0¶
- ENC_SER_JSON = 1¶
- ENC_SER_MSGPACK = 2¶
- ENC_SER_CBOR = 3¶
- ENC_SER_UBJSON = 4¶
- ENC_SER_OPAQUE = 5¶
- ENC_SER_FLATBUFFERS = 6¶
- property timestamp¶
Timestamp when the publication was accepted by the broker. Epoch time in ns.
- Returns
epoch time in ns
- Return type
- property publication¶
WAMP publication ID that was assigned by the broker.
- Returns
publication ID
- Return type
- property topic¶
The WAMP or application URI of the PubSub topic the event was published to.
- Returns
topic (URI) published to
- Return type
- property args¶
Positional values for application-defined event payload.
- Returns
positional arguments (app payload) of the event (if any)
- Return type
None or list
- property kwargs¶
Keyword values for application-defined event payload.
- Returns
keyword arguments (app payload) of the event (if any)
- Return type
None or dict
- property payload¶
Alternative, transparent payload. If given,
args
andkwargs
must be left unset.- Returns
Transparent binary payload (see
enc_algo
) if applicable- Return type
None or bytes
- property acknowledge¶
If
True
, the broker was asked to acknowledge the publication with a success or error response.- Returns
acknowledge flag
- Return type
None or bool
- property retain¶
If
True
, the broker was requested to retain this event.- Returns
retain flag
- Return type
None or bool
- property exclude_me¶
If
True
, the broker was asked to exclude the publisher from receiving the event.- Returns
exclude_me flag
- Return type
None or bool
- property exclude¶
List of WAMP session IDs to exclude from receiving this event.
- property exclude_authid¶
List of WAMP authids to exclude from receiving this event.
- property exclude_authrole¶
List of WAMP authroles to exclude from receiving this event.
- property eligible¶
List of WAMP session IDs eligible to receive this event.
- property eligible_authid¶
List of WAMP authids eligible to receive this event.
- property eligible_authrole¶
List of WAMP authroles eligible to receive this event.
- property enc_algo¶
When using payload transparency, the encoding algorithm that was used to encode the payload.
- Returns
payload encryption algorithm
- Return type
- property enc_key¶
When using payload transparency with an encryption algorithm, the payload encryption key.
- Returns
payload key
- Return type
None or bytes
- property enc_serializer¶
When using payload transparency, the payload object serializer that was used encoding the payload.
- Returns
payload serializer
- Return type
- class cfxdb.realmstore.Publications(slot=None, compress=None, build=None, cast=None)[source]¶
Bases:
MapOidFlatBuffers
Persisted publications archive.
Map
zlmdb.MapOidFlatBuffers
frompublication
tocfxdb.eventstore.Publication
.
Event¶
- class cfxdb.realmstore.Event(from_fbs=None)[source]¶
Persisted event database object.
- property timestamp¶
Timestamp when the event was sent to the receiver. Epoch time in ns.
- Returns
Epoc time in ns.
- Return type
- property subscription¶
The subscription ID this event is dispatched under.
- Returns
The subscription ID.
- Return type
- property publication¶
The publication ID of the dispatched event.
- Returns
The publication ID.
- Return type
- property retained¶
Whether the message was retained by the broker on the topic, rather than just published.
- Returns
retained flag
- Return type
- property acknowledged_delivery¶
Whether this Event was to be acknowledged by the receiver.
- Returns
acknowledged delivery flag
- Return type
- class cfxdb.realmstore.Events(slot=None, compress=None, build=None, cast=None)[source]¶
Bases:
MapOidTimestampFlatBuffers
Persisted events archive.
Map
zlmdb.MapOid3FlatBuffers
from(subscription, time_ns)
tocfxdb.eventstore.Event
.