!

Eddie Kohler eddietwo at cag.lcs.mit.edu
Mon Apr 12 10:55:08 EDT 1999


We have compound factions. They can have inputs and outputs (but not yet
named inputs and outputs, or arbitrary #s of inputs and outputs). They
figure out their own personality. They seem to work.

Syntax:

	factionclass [#_OF_INPUTS] FACTION_CLASS_NAME [#_OF_OUTPUTS] {
	  # faction declarations and connections
	  # the special name `input' is for input ports
	  # the special name `output' is for output ports
	}

Note that the brackets are required. If a faction class has no inputs or
outputs, you can leave out the `[#_OF_XXPUTS]' part.

Example:

	factionclass [1] Printer [1] {
	  input -> Print(a printer) -> output;
	}

Another one:

	factionclass [2] Exchanger [2] {
	  input [0] -> [1] output;
	  input [1] -> [0] output;
	}

In other news:

   - The signature of configure() has changed. It is now:

     int configure(const String &, Router *, ErrorHandler *);

     The `Router *' is so a faction can find other factions by name.
     There's a new configuration parsey thingy to do this automatically --
     cpFaction, an argument to cp_va_parse.

   - The configuration setup for ArpResponder has changed. It is now

     ArpResponder(ipaddress ethernetaddress, ipaddress ethernetaddress...)

     Note the commas.

love,
ed



More information about the click mailing list