[Click] Scoping/naming issues
Cliff Frey
cliff at meraki.com
Mon Jan 17 21:09:27 EST 2011
I actually really like this property of elementclasses. Specifically, an
elementclass is a substitute for an element. In cases like you describe
Philip, i end up writing configs like:
elementclass MyNull { input -> output; }
// input/output 0: internet
// input/output 1: LAN
elementclass MyRouter {
input [0] -> from_inet :: MyNull();
input [1] -> from_lan :: MyNull();
to_inet :: MyNull() -> [0] output;
to_lan :: MyNull() -> [1] output;
from_inet -> Classifier(12/0800, ...)
...
}
On Mon, Jan 17, 2011 at 4:55 PM, Philip Prindeville <
philipp_subx at redfish-solutions.com> wrote:
> Yeah, it especially makes sense to have arpfoo be global if it needs to be
> accessible from two different elementclass's, one that deals with the IP
> flow (input [0] and output [0]) and another one that deals strictly with the
> ARP request/reply flow (input [1] and output [1]).
>
> Someone else will have to come up with the patches... I've not yet dabbled
> in the code itself.
>
>
> On 1/17/11 4:35 PM, Eddie Kohler wrote:
> > Hi Philip,
> >
> > I can see why you thought compound elements would work that way, but they
> don't. They are very strictly encapsulated: all connections to other
> elements must take place through explicit inputs and outputs.
> >
> > I admit it would make sense to do it the way you've imagined. Patches
> welcome...
> >
> > Eddie
> >
> >
> > On 1/15/11 2:53 PM, Philip Prindeville wrote:
> >> I've got a configuration where I do:
> >>
> >> ...
> >> arpfoo :: ARPQuerier(...);
> >>
> >> elementclass Bar {
> >> ...
> >> class :: classifier(...);
> >> ...
> >> class [2] -> [1] arpfoo;
> >> ...
> >> }
> >>
> >>
> >> but it complains that "unknown element class 'arpfoo'" in a few places,
> and that input 1 isn't used...
> >>
> >> So I'm confused. Everything is scoped globally... even stuff defined
> within an elementclass gets scoped globally.
> >>
> >> Why then can't I access a global variable from within an elementclass's
> scope?
> >>
> >> What am I missing?
> >>
> >> Thanks,
> >>
> >> -Philip
>
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>
More information about the click
mailing list