Oberon || Library || Module Index || Search Engine || Definition || Module
TYPE Daemon = POINTER TO DaemonRec; TYPE DaemonRec = RECORD (Services.ObjectRec) END; TYPE ServiceForChannel = PROCEDURE (daemon: Daemon; inOut: Streams.Stream);
PROCEDURE Start(daemon: Daemon; plugin: Networks.Address; serviceForChannel: ServiceForChannel): BOOLEAN; PROCEDURE Create(VAR daemon: Daemon; plugin: Networks.Address; serviceForChannel: ServiceForChannel; errors: RelatedEvents.Object): BOOLEAN;
Start starts a daemon that runs in a newly created task and listens to port plugin. Note that daemon is to be created by the caller. Create creates and starts a daemon that runs in a newly created task and listens to port plugin.
Daemons may be shut down by terminating them (see Resources). The dialogue running procedures of type ServiceForChannel are expected to finish when their daemon object terminates. They must not call Tasks.Terminate but have to return as they are run by Jobs.
Oberon || Library || Module Index || Search Engine || Definition || Module