in src/fix_session.py [0:0]
def print_message(msg):
msg_type = get_field_value(fix.MsgType(), msg.getHeader())
if msg_type == fix.MsgType_MarketDataRequestReject:
reason = get_field_value(fix.Text(), msg)
print(f"Market data request rejected: {reason}")
elif msg_type == fix.MsgType_MarketDataSnapshotFullRefresh:
symbol = get_field_value(fix.Symbol(), msg)
print(f"Market data snapshot for {symbol}")
group = fix.Group(268, 269) # 268 = NoMDEntries, 269 = MDEntryType
print_md_entries(msg, group)
elif msg_type == fix.MsgType_MarketDataIncrementalRefresh:
symbol = get_field_value(fix.Symbol(), msg)
print(f"Market data incremental update for {symbol}")
group = fix.Group(268, 279) # 268 = NoMDEntries, 279 = MDUpdateAction
print_md_entries(msg, group)
else:
print(f"Unexpected message type: {msg_type}")
fix_str = msg.toString().replace('\x01', '|')
print(f"FIX message: {fix_str}")