def _next_header(self, session, options=None): """Provide next FIX message header.""" state = session.state header = FixMessage() header.set(FLD_SENDER_COMP_ID, session.get_conf('sender_comp_id')) header.set(FLD_TARGET_COMP_ID, session.get_conf('target_comp_id')) if options is None: header.set(FLD_MSG_SEQNUM, state.send_seqno) else: if options.get(FLD_MSG_SEQNUM, int) is None: header.set(FLD_MSG_SEQNUM, state.send_seqno) # merge options header.join(options) header.set(FLD_SENDING_TIME, utc_timestamp()) return header