const mixin sys::Service

sys::Service

Source

Services are used to publish functionality in a VM for use by other software components. The service registry for the VM is keyed by public types each service implements.

The following table illustrates the service lifecycle:

Method        isInstalled  isRunning
-----------   -----------  ----------
constructed   false        false
install       true         false
start         true         true
stop          true         false
uninstall     false        false

While the service is installed, it may be looked up in the registry via find and findAll. The running state is used to invoke the onStart and onStop callbacks which gives the service a chance to setup/shutdown its actors and associated resources.

equals

override Bool equals(Obj? that)

Source

Services are required to implement equality by reference.

find

static Service? find(Type t, Bool checked := true)

Source

Find an installed service by type. If not found and checked is false return null, otherwise throw UnknownServiceErr. If multiple services are registered for the given type then return the first one registered.

findAll

static Service[] findAll(Type t)

Source

Find all services installed for the given type. If no services are found then return an empty list.

hash

override Int hash()

Source

Services are required to implement equality by reference.

install

This install()

Source

Install this service into the VM's service registry. If already installed, do nothing. Return this.

isInstalled

Bool isInstalled()

Source

Is the service in the installed state. Note this method requires accessing a global hash table, so it should not be heavily polled in a concurrent environment.

isRunning

Bool isRunning()

Source

Is the service in the running state. Note this method requires accessing a global hash table, so it should not be heavily polled in a concurrent environment.

list

static Service[] list()

Source

List all the installed services.

onStart

protected virtual Void onStart()

Source

Callback when service transitions into running state. If this callback raises an exception, then the service fails to transition to the running state.

onStop

protected virtual Void onStop()

Source

Callback when service transitions out of the running state. If this callback raises an exception, then the service is still transitioned to the non-running state.

start

This start()

Source

Start this service. If not installed, this method automatically calls install. If already running, do nothing. Return this.

stop

This stop()

Source

Stop this service. If not running, do nothing. Return this.

uninstall

This uninstall()

Source

Uninstall this service from the VM's service registry. If the service is running, this method automatically calls stop. If not installed, do nothing. Return this.