cfxdb.realmstore¶
Submodules¶
Classes¶
Persisted event database object. |
|
Persisted events archive. |
|
Index: |
|
Persisted publication database object. |
|
Persisted publications archive. |
|
Persistent realm store. |
|
Persisted session database object. |
|
Persisted session information table. |
Package Contents¶
- class Event(from_fbs=None)[source]¶
Bases:
objectPersisted event database object.
- _acknowledged_delivery = None¶
- _from_fbs = None¶
- _publication = None¶
- _receiver = None¶
- _retained = None¶
- _subscription = None¶
- _timestamp = None¶
- property acknowledged_delivery¶
Whether this Event was to be acknowledged by the receiver.
- Returns:
acknowledged delivery flag
- 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 subscription¶
The subscription ID this event is dispatched under.
- Returns:
The subscription ID.
- Return type:
- class Events(slot=None, compress=None, build=None, cast=None)[source]¶
Bases:
zlmdb.MapOidTimestampFlatBuffersPersisted events archive.
Map
zlmdb.MapOid3FlatBuffersfrom(subscription, time_ns)tocfxdb.eventstore.Event.
- class IndexSessionsBySessionId(slot=None, compress=None)[source]¶
Bases:
zlmdb.MapUint64TimestampUuidIndex:
(sessionid, joined_at) -> session_oid
- class Publication(from_fbs=None)[source]¶
Bases:
objectPersisted publication database object.
- ENC_ALGO_CRYPTOBOX = 1¶
- ENC_ALGO_MQTT = 2¶
- ENC_ALGO_NONE = 0¶
- ENC_ALGO_XBR = 3¶
- ENC_SER_CBOR = 3¶
- ENC_SER_FLATBUFFERS = 6¶
- ENC_SER_JSON = 1¶
- ENC_SER_MSGPACK = 2¶
- ENC_SER_NONE = 0¶
- ENC_SER_OPAQUE = 5¶
- ENC_SER_UBJSON = 4¶
- __slots__ = ('_from_fbs', '_timestamp', '_publication', '_publisher', '_topic', '_args', '_kwargs',...¶
- _acknowledge = None¶
- _args = None¶
- _eligible = None¶
- _eligible_authid = None¶
- _eligible_authrole = None¶
- _enc_algo = None¶
- _enc_key = None¶
- _enc_serializer = None¶
- _exclude = None¶
- _exclude_authid = None¶
- _exclude_authrole = None¶
- _exclude_me = None¶
- _from_fbs = None¶
- _kwargs = None¶
- _payload = None¶
- _publication = None¶
- _publisher = None¶
- _retain = None¶
- _timestamp = None¶
- _topic = None¶
- 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 args¶
Positional values for application-defined event payload.
- Returns:
positional arguments (app payload) of the event (if any)
- Return type:
None or list
- 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:
- 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 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 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,
argsandkwargsmust be left unset.- Returns:
Transparent binary payload (see
enc_algo) if applicable- Return type:
None or bytes
- property publication¶
WAMP publication ID that was assigned by the broker.
- Returns:
publication ID
- Return type:
- property retain¶
If
True, the broker was requested to retain this event.- Returns:
retain flag
- Return type:
None or bool
- property timestamp¶
Timestamp when the publication was accepted by the broker. Epoch time in ns.
- Returns:
epoch time in ns
- Return type:
- class Publications(slot=None, compress=None, build=None, cast=None)[source]¶
Bases:
zlmdb.MapOidFlatBuffersPersisted publications archive.
Map
zlmdb.MapOidFlatBuffersfrompublicationtocfxdb.eventstore.Publication.
- class RealmStore(db)[source]¶
Bases:
objectPersistent realm store.
- __slots__ = ('_db', '_sessions', '_idx_sessions_by_session_id', '_publications', '_events')¶
- _db¶
- _events: cfxdb.realmstore._event.Events | None = None¶
- _idx_sessions_by_session_id: cfxdb.realmstore._session.IndexSessionsBySessionId | None = None¶
- _publications: cfxdb.realmstore._publication.Publications | None = None¶
- _sessions: cfxdb.realmstore._session.Sessions | None = None¶
- static attach(db: zlmdb.Database) RealmStore[source]¶
- property db: zlmdb.Database¶
Database this schema is attached to.
- property events: cfxdb.realmstore._event.Events | None¶
Events archive.
- property idx_sessions_by_session_id: cfxdb.realmstore._session.IndexSessionsBySessionId | None¶
(session, joined_at) -> app_session_oid
- Type:
Index
- property publications: cfxdb.realmstore._publication.Publications | None¶
Publications archive.
- property sessions: cfxdb.realmstore._session.Sessions | None¶
Sessions persisted in this realm store.
- class Session(from_fbs: _SessionGen | None = None)[source]¶
Bases:
objectPersisted session database object.
- __slots__ = ('_from_fbs', '_arealm_oid', '_oid', '_session', '_joined_at', '_left_at', '_node_oid',...¶
- _from_fbs = None¶
- _joined_at: numpy.datetime64 | None = None¶
- _left_at: numpy.datetime64 | None = None¶
- property authextra: Dict[str, Any] | None¶
The WAMP authextra as provided to the authenticated session.
- property authprovider: str | None¶
The WAMP authprovider that was handling the session authentication.
- property joined_at: numpy.datetime64 | None¶
Timestamp when the session was joined by the router. Epoch time in ns.
- property left_at: numpy.datetime64 | None¶
Timestamp when the session left the router. Epoch time in ns.
- property node_authid: str | None¶
Name (management realm WAMP authid) of the node of the router worker hosting this session.
- property oid: uuid.UUID | None¶
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 proxy_node_authid: str | None¶
Name (management realm WAMP authid) of the node of the proxy worker hosting this session.
- Type:
From proxy (in proxy-router cluster setups)
- property proxy_node_oid: uuid.UUID | None¶
OID of the node of the proxy worker hosting this session.
- Type:
From proxy (in proxy-router cluster setups)
- property proxy_transport: Dict[str, Any] | None¶
Session transport information, the transport from the proxy to the backend router.
- Type:
From proxy (in proxy-router cluster setups)
- property proxy_worker_name: str | None¶
Local worker name of the proxy worker hosting this session.
- Type:
From proxy (in proxy-router cluster setups)
- class Sessions(slot=None, compress=None, build=None, cast=None)[source]¶
Bases:
zlmdb.MapUuidFlatBuffersPersisted session information table.
Map
zlmdb.MapUuidFlatBuffersfromsession_oidtocfxdb.realmstore.Session