Module Fix_connection

type config = {
comp_id : Imandra_prelude.string;
host_id : Imandra_prelude.string option;
on_behalf_id : Imandra_prelude.string option;
target_id : Imandra_prelude.string;
timer : Imandra_prelude.float;
reset_seq : bool;
pub_callback : (Model_messages.model_msg -> Imandra_prelude.unit Lwt.t) option;
}
type t = {
heartbeat : Imandra_prelude.unit Lwt.t;
fix : Imandra_prelude.unit Lwt.t;
mailbox : Fix_global_state.incoming_event Lwt_mvar.t;
initmsg : Fix_engine_state.fix_engine_int_inc_msg;
}
val get_heartbeat_thread : t -> Imandra_prelude.unit Lwt.t
val get_fix_thread : t -> Imandra_prelude.unit Lwt.t
val get_input_mailbox : t -> Fix_global_state.incoming_event Lwt_mvar.t
val create_session_msg : t -> Fix_engine_state.fix_engine_int_inc_msg
val last_received_utctimestamp : Datetime.fix_utctimestamp_milli Pervasives.ref
val get_last_received_utctimestamp : Imandra_prelude.unit -> Datetime.fix_utctimestamp_milli
val last_received_sendingtime : Datetime.fix_utctimestamp_milli Pervasives.ref
val get_last_received_sendingtime : Imandra_prelude.unit -> Datetime.fix_utctimestamp_milli
val read_int : string -> int
val read_seqns : string -> Z.t * Z.t
val make_engine_state : string -> config -> Fix_engine_state.fix_engine_state
val (>>=) : 'a Lwt.t -> ('a -> 'b Lwt.t) -> 'b Lwt.t
val do_timechange : Fix_global_state.incoming_event Lwt_mvar.t -> unit Lwt.t
val heartbeat_thread : Fix_global_state.incoming_event Lwt_mvar.t -> 'a Lwt.t
val write_seqn : string -> string -> Full_messages.full_top_level_msg -> unit Lwt.t
val log_flags : Imandra_prelude.Caml_unix.open_flag list
val store_senging_time : Full_messages.full_top_level_msg -> Imandra_prelude.unit
val fix_thread : string -> Lwt_io.input_channel -> Fix_global_state.incoming_event Lwt_mvar.t -> unit Lwt.t
val send_msg : string -> Lwt_io.output_channel -> Full_messages.full_top_level_msg -> unit Lwt.t
val create : config -> (Lwt_io.input_channel * Lwt_io.output_channel) -> t