Module Imandra_protocol.Query

Client query.

Queries are messages that expect a Reponse in return.

type view =
| Q_init
| Q_remote_show of Imandra_util.Remote_ref.remote_id
| Q_remote_get of Imandra_util.Remote_ref.remote_id
| Q_validate of Validate.Query.t
| Q_verify of Verify.Query.t
| Q_simplify of Simplify.Query.t
| Q_modular_decomp of Modular_decomp.Query.t
| Q_abstractor of Abstractor.Query.t
| Q_snapshot of Snapshot.Query.t
| Q_extract_get of {
signature : Imandra_surface.Uid.t option;
ext_sig : bool option;
accessors : bool option;
}
| Q_list_ext_solvers
| Q_load_plugin of string
| Q_get_gc_stat
| Q_custom of {
plugin : string;
f : string;
payload : string;
}
| Q_sync(*

Do nothing, but client will wait for a reply to this. It can help synchronize client and server

*)
val pp_view : Ppx_deriving_runtime.Format.formatter -> view -> Ppx_deriving_runtime.unit
val show_view : view -> Ppx_deriving_runtime.string
type t = private {
view : view;
stamp : Stamp.t;
trace_id : Opentelemetry.Trace_id.t option;
parent_id : Opentelemetry.Span_id.t option;
}
val pp : Ppx_deriving_runtime.Format.formatter -> t -> Ppx_deriving_runtime.unit
val show : t -> Ppx_deriving_runtime.string
val make : ?trace_id:Opentelemetry.Trace_id.t -> ?parent_id:Opentelemetry.Span_id.t -> ?stamp:Stamp.t -> view -> t
val set_scope : ?trace_id:Opentelemetry.Trace_id.t -> ?parent_id:Opentelemetry.Span_id.t -> t -> t
val get_scope : t -> Opentelemetry.Trace.scope option
val kind : t -> string * ( unit -> string )

Short description of the variant and the argument

val should_trace : t -> bool