!
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