The hooks package

Here are some of the built-in plugin interfaces; all are in org.jtrix.project.beatrix.plugins.hooks and all are used by the Manager and Worker netlets. Those marked (*) are also provided by the Manager netlet, while those marked (**) are provided by the Worker netlet. So unless otherwise stated, we should not implement our own plugins of these types. Figure [*] also shows this.

IBeatrixSASSupport
Allows Beatrix to use a service advertisement service (SAS). Only needs to be provided by an implementation of the SAS.
IDeploymentControl (*)
Manages the process of deploying the right netlets on nodes with the right resources. Most applications will not access this directly.
IInternalFacetProvider (*)(**)
Provides internal facets for intra-application communication--see Section [*]. Although the Manager and Worker implement these it is likely we will also want to implement our own application-specific IInternalFacetProvider plugins.
ILeaderSupport (*)
Functionality to help the current leader (Section [*]).
IManagementState (*)
Helps access the management state available to all managers (Section [*]).
IManagerLifeCycle
Deals with managers starting (cold starts, warm starts and joins) and leadership changes. Every application needs to implement one of these otherwise the application cannot start. See Section [*].
IManagerSupport (*)
The core work of managers, including the ability to generate warrants for consumers (Section [*]).
IPeerSupport (*)(**)
To help managed netlets be part of their application peer group. Find other netlets, announce service eligilibility and set status. See Section [*].
IServiceManager
Collection point for services. Services register with this and can then be retrieved easily as needed--it is a plugin which is also a plugin manager. Every netlet which wants to provide services needs a service manager and, since this is not necessarily all netlets, Beatrix does not add an IServiceManager by default. See Section [*].
ITransportProvider
Allows us to change Beatrix's internal network communication mechanism.
IWorkerLifeCycle
Allows a manager to respond to workers stopping and starting (Section [*]).
IWorkerResourceProvider (**)
Allows a worker plugin to access the resources allocated to that worker. See Section [*].

Nik Silver 2002-03-09