package Distributed::Process::BaseWorker; use warnings; use strict; =head1 NAME Distributed::Process::BaseWorker - base class for all workers, both local and remote =head1 SYNOPSIS =cut use Distributed::Process; our @ISA = qw/ Distributed::Process /; =head1 DESCRIPTION =head2 Methods None of these methods is actually implemented in this base class. They're all implemented either in Distributed::Process::LocalWorker, or in Distributed::Process::RemoteWorker. Methods in Distributed::Process::LocalWorker will usually simply send a command to their RemoteWorker counterpart, asking it to perform some action on the server side. Methods in Distributed::Process::RemoteWorker will perform the actions requested by the clients and possibly give a reply back. =over 4 =item B I Waits for all the connected clients to reach this synchronisation point. I is an identifier, used to identify which synchronisation point is being reached. =cut sub synchro {} =item B This must must be overloaded in subclasses to actually implement the task that is to be run remotely. =cut sub run {} =item B I Just like synchro(), waits for all the connected clients to reach this point. But each client will be notified after a configurable amount of time. This allows the server to let the clients proceed within an interval from each other. See L for details. =cut sub delay {} =item B