|
RBC_Test_Sim_Core 0.1.0 build 51fd23e
Shared transport-layer plumbing for the ADR-029 Train/IL/CTC RBC simulators
|
Public Member Functions | |
| __init__ (self, role, id_self, id_peer, kmac, send, recv, *, ety=0, t_connect_ms=0, t_supervision_ms=0, clock=None, rng=None) | |
| connect (self) | |
| initiator_start (self) | |
| handshake_expired (self) | |
| initiator_on_frame (self, frame) | |
| build_frame (self, pdu) | |
| send_pdu (self, pdu) | |
| recv_pdu (self) | |
| accept_frame (self, frame) | |
| supervise (self) | |
| disconnect (self) | |
Public Attributes | |
| str | role |
| id_self | |
| id_peer | |
| ety = role, id_self, id_peer, ety | |
| t_connect_ms | |
| t_supervision_ms = t_connect_ms, t_supervision_ms | |
| state = IDLE | |
| int | seq_tx = 0 |
| ksmac = None | |
| ra = None | |
| rb = frame[5:13] | |
| tuple | seq_rx |
Protected Member Functions | |
| _fail (self, status, detail="") | |
| _recv_frame (self) | |
| _connect_deadline (self) | |
| _check_deadline (self, deadline) | |
| _connect_initiator (self, deadline) | |
| _connect_responder (self, deadline) | |
Protected Attributes | |
| _kmac | |
| _send | |
| _recv = bytes(kmac), send, recv | |
| _clock = clock or _monotonic_ms | |
| _rng = rng or os.urandom | |
| int | _last_rx_ms = 0 |
| int | _handshake_start_ms = 0 |
One SaF connection. ``role`` is "initiator" or "responder". ``send(frame: bytes)`` transmits one frame; ``recv() -> bytes`` returns one frame or raises ``TimeoutError``. ``clock()`` returns milliseconds (default: monotonic). ``rng(n)`` returns n random bytes (default ``os.urandom``); tests inject a fixed one. ``ety`` is the 3-bit ETCS ID type (Subset-037-2 Table 8: 1=RBC, 2=Engine, ...).
| simcore.saf.SafSession.__init__ | ( | self, | |
| role, | |||
| id_self, | |||
| id_peer, | |||
| kmac, | |||
| send, | |||
| recv, | |||
| * | , | ||
| ety = 0, | |||
| t_connect_ms = 0, | |||
| t_supervision_ms = 0, | |||
| clock = None, | |||
| rng = None ) |
|
protected |
|
protected |
|
protected |
|
protected |
| simcore.saf.SafSession.accept_frame | ( | self, | |
| frame ) |
| simcore.saf.SafSession.build_frame | ( | self, | |
| pdu ) |
| simcore.saf.SafSession.connect | ( | self | ) |
| simcore.saf.SafSession.disconnect | ( | self | ) |
| simcore.saf.SafSession.handshake_expired | ( | self | ) |
| simcore.saf.SafSession.initiator_on_frame | ( | self, | |
| frame ) |
| simcore.saf.SafSession.initiator_start | ( | self | ) |
| simcore.saf.SafSession.recv_pdu | ( | self | ) |
| simcore.saf.SafSession.supervise | ( | self | ) |
|
protected |
|
protected |
| simcore.saf.SafSession.t_supervision_ms = t_connect_ms, t_supervision_ms |