class type container =Containers encapsulate the control flow of the service components. A container is run in a separate thread or process.object
..end
method socket_service_name : string
method socket_service : socket_service
method container_id : container_id
method ptype : parallelization_type
method event_system : Unixqueue.unix_event_system
method start : Unix.file_descr -> Unix.file_descr -> unit
post_start_hook
and the pre_finish_hook
.
The file descriptors are endpoints of RPC connections to the
controller. The first serves calls of the Control
program,
and the second serves calls of the System
program.
When start
returns the container will be terminated.
method shutdown : unit -> unit
method n_connections : int
method n_total : int
method system : Rpc_client.t
start
is running. It is bound to
System.V1
.method lookup : string -> string -> string option
lookup service_name protocol_name
tries to find a Unix domain
socket for the service and returns it.method lookup_container_sockets : string -> string -> string array
lookup_container_sockets service_name protocol_name
: returns
the Unix Domain paths of all container sockets for this service and
protocol. These are the sockets declared with address type
"container" in the config file.method owned_container_sockets : (string * string) list
(protocol_name, path)
of all container sockets
of this containermethod send_message : string -> string -> string array -> unit
send_message service_pattern msg_name msg_arguments
: Sends
a message to all services and message receivers matching
service_pattern
. The pattern may include the wildcard *
.
See the Netplex_types.controller.send_message
method for
the notification guarantees.
method log : level -> string -> unit
method log_subch : string -> level -> string -> unit
method update_detail : Unix.file_descr -> string -> unit
netplex.connections
admin messagemethod var : string -> param_value_or_any
Not_found
. Container
variables can be used by the user of a container to store additional
values in the container. These values exist once per thread/process.method set_var : string -> param_value_or_any -> unit
method call_plugin : plugin -> string -> Xdr.xdr_value -> Xdr.xdr_value
call_plugin p procname procarg
: This method can be called
from the container context to invoke the plugin p
procedure
procname
. This means that the ctrl_receive_call
of the
same plugin is invoked in the controller context.method activate_lever : int -> encap -> encap
int
argument identifies the lever. The encap
argument is the parameter,
and the returned exception is the result. See also
Netplex_cenv.Make_lever
for a convenient way to create
and use levers.