module journaler
Generic SQLite Journaler.
class Journaler
Tracks FIX message history.
method __init__
__init__(filename=None)
Initialize SQLite Journaler.
Args:
filename
: path to file, or None - to make in-memory journal
method create_or_load
create_or_load(target_comp_id, sender_comp_id) → FIXSession
Creates or loads new session with unique target_comp_id/sender_comp_id.
Args:
target_comp_id
: session targetCompIdsender_comp_id
: session senderCompId
Returns: FIXSession
method find_seq_no
find_seq_no(msg: bytes) → int
Finds 34=
Args:
msg
: encoded fix message
Returns: seq no value
Raises:
FIXMessageError
: if not found or malformed message
method get_all_msgs
get_all_msgs(
sessions: list[FIXSession] | None = None,
direction: MessageDirection | None = None
)
Get all messages from the Journaler DB.
Args:
sessions
: session filter (optional)direction
: direction filter (optional)
Returns: list of tuples [(seq_no, enc_msg, direction, session_key), ...]
method persist_msg
persist_msg(msg: bytes, session: FIXSession, direction: MessageDirection)
Commits encoded fix message into DB.
Args:
msg
: encoded fix messagesession
: target sessiondirection
: message direction
Raises:
DuplicateSeqNoError
: (critical) when DB already have such message seq_no
method recover_messages
recover_messages(
session: FIXSession,
direction: MessageDirection,
start_seq_no: int | str,
end_seq_no: int | str
) → list[bytes]
Loads messages with seq no range from DB.
Args:
session
: target sessiondirection
: message directionstart_seq_no
: seq no fromend_seq_no
: seq no to
Returns: list of encoded FIX messages
method recover_msg
recover_msg(
session: FIXSession,
direction: MessageDirection,
seq_no: int
) → bytes
Loads specific message from DB by seq no.
Args:
session
: target sessiondirection
: message directionseq_no
: target seq_no
Returns: encoded message (bytes)
method sessions
sessions() → dict[tuple[str, str], FIXSession]
Loads all available sessions from journal.
method set_seq_num
set_seq_num(
session: FIXSession,
next_num_out: int | None = None,
next_num_in: int | None = None
)
Sets journal and session seq num.
Args:
session
: target sessionnext_num_out
: new expected num out (optional)next_num_in
: new expected num in (optional)
This file was automatically generated via lazydocs.