spree-gather man page on Inferno

Man page or keyword search:  
man Server   579 pages
apropos Keyword Search (all sections)
Output format
Inferno logo
[printable version]

SPREE-GATHER(2)						       SPREE-GATHER(2)

NAME
       Gatherengine - module interface for pre-assembled groups.

SYNOPSIS
       implement Gatherengine;

       include "spree.m";
       include "spree/gather.m";
       Clique, Member: import Spree;

       init:		   fn(m: Spree, c: ref Clique, argv: list of string, archived: int): string;
       clienttype:    fn(): string;
       maxmembers:    fn(): int;
       propose:	      fn(members: array of string): string;
       start:		   fn(members: array of ref Member, archived: int);
       command:	 fn(member: ref Member, c: string): string;
       archive:	      fn();
       readfile:      fn(f: int, offset: big, n: int): array of byte;

DESCRIPTION
       When  implementing a spree(2) engine, it is common to have the require‐
       ment that a certain number of members are grouped together before actu‐
       ally starting the engine.  Spree provides no support for this directly;
       instead the gather module acts as an intermediate layer:	 engines  that
       wish  this  functionality  should implement the Gatherengine interface.
       The gather module also provides facilities for the automatic suspension
       and  resumption of players, clique archival, and members that watch but
       do not participate.

       Init is called first, with m, the spree module, and c, the new  clique.
       Argv  gives a list of arguments to the engine (the first being the name
       of the engine itself); archived is non-zero  if	the  engine  has  been
       restored	 from  an  archive.   If  init returns a non-nil string, it is
       taken to describe an error, and the engine will be discarded.   Maxmem‐
       bers  should  return  the maximum number of members that the engine can
       accept; clienttype should return the kind of client that is expected by
       the engine (e.g.	 cards for a card game engine).

       Propose	proposes that a clique consisting of members (the names of the
       proposed members) be started. It returns an error string:  if  this  is
       non-nil, then the clique is not started, otherwise the proposed members
       are accepted into the clique, and start is called, where members is the
       array  of  actual  members (corresponding to the members passed to pro‐
       pose), and archived is non-zero if the clique is being restored from an
       archive (same as passed to init).

       Once  a	clique has been successfully started, command is called when a
       member sends a command to the engine; member has sent the command,  and
       c  is the command itself.  Command should return a non-nil error string
       if the command fails.

       When a clique is being archived, archive will be called to request  the
       engine  to store all its internal state into the object hierarchy (this
       is the moment, for instance, to call cardlib->archive).

SEE ALSO
       spree(2),

							       SPREE-GATHER(2)
[top]

List of man pages available for Inferno

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net