class type processor_hooks = object
.. end
Processor hooks can be used to modify the behavior of a processor.
See
Services And Processors for some documentation about the hooks.
method post_add_hook : socket_service -> controller -> unit
A user-supplied function that is called after the service has been
added to the controller
method post_rm_hook : socket_service -> controller -> unit
A user-supplied function that is called after the service has been
removed from the controller
method pre_start_hook : socket_service ->
controller -> container_id -> unit
A user-supplied function that is called before the container is
created and started. It is called from the process/thread of the
controller.
method post_start_hook : container -> unit
A user-supplied function that is called after the container is
created and started, but before the first service request arrives.
It is called from the process/thread of the
container.
method pre_finish_hook : container -> unit
A user-supplied function that is called just before the container is
terminated. It is called from the process/thread of the
container.
method post_finish_hook : socket_service ->
controller -> container_id -> unit
A user-supplied function that is called after the container is
terminated. It is called from the process/thread of the
controller.
method workload_hook : container -> bool -> int -> unit
A user-supplied function that is called when the workload
changes, i.e. a new connection has been accepted, or an
existing connection could be completely processed.
The bool
argument is true
if the reason is a new
connection. The int
argument is the number of connections.
This function is called from the process/thread of the container.
method receive_message : container -> string -> string array -> unit
This function is called when a broadcast message is received.
The first string is the name of the message, and the array are
the arguments.
method receive_admin_message : container -> string -> string array -> unit
This function is called when a broadcast admin message is received.
The first string is the name of the message, and the array are
the arguments.
method system_shutdown : unit -> unit
A user-supplied function that is called when a system shutdown
notification arrives. This notification is just for information
that every container of the system will soon be shut down. The
system is still completely up at the time this notification
arrives, so if the services of other components are required to
go down this is the right point in time to do that (e.g. send
important data to a storage component).
method shutdown : unit -> unit
A user-supplied function that is called when a shutdown notification
arrives. That means that the container should terminate ASAP.
There is, however, no time limitation. The termination is started
by calling the when_done
function passed to the process
method.
method global_exception_handler : exn -> bool
This method is called when an uncaught exception would otherwise
terminate the container. It can return true
to indicate that
the container continues running.
method container_event_system : unit -> Unixqueue.event_system
method container_run : Unixqueue.event_system -> unit
container_run esys
: By default, it just runs esys#run()
.
This method is called to run the event system of the containers.
Users can override it.