8 pingEnsemble.bet example program

(* pingEnsemble.bet
 * ================
 *
 * This program may be used to check whether an ensemble
 * is already running.
 * 
 * Execute as:
 *     pingEnsemble <ensembleName>
 * where <ensembleName> is the name of the network host
 * on which to check for ensemble presence. *)

ORIGIN '~beta/distribution/shell';
--- program:descriptor ---
shellEnv
(# shellType::
     (# ensembleName: ^Text;
     do (if NoOfArguments = 2 then
          'Usage: pingEnsemble <ensembleName>'->putLine;
          kill;
        if);
        1 -> arguments -> ensembleName[];
        (ensembleName[], ensemble##) 
          -> myEnsemble.ns.get
          -> ensemble[];
        (if ensemble[] = NONE then
           'Network host ' -> putText;
           ensembleName[] -> putText;
           ' not found.' -> putLine;
           kill;
        if);
        (if ensemble.ping then
          'Ok.ensembleDeamon found on ' -> putText;
          ensembleName[] -> putLine;
        else
          'No ensembleDeamon on ' -> putText;
           ensembleName[] -> putLine;
        if);
        kill;
     #);
#)


Distributed Objects in BETA - Reference Manual
© 1993-2002 Mjølner Informatics
[Modified: Monday October 23rd 2000 at 11:16]