[Click] Question about push and pull packet processing
amaxis99 at yahoo.it
amaxis99 at yahoo.it
Mon Jun 16 13:36:23 EDT 2008
> Massimiliano,
>
> An agnostic element doesn't need to use simple_action(). It can provide
> both push() and pull() methods. The relevant method will get called, and
> you can see the port that way. Check out the Suppressor element, which has
> pretty much exactly this high-level spec.
> elements/standard/suppressor.{cc,hh}
>
> Eddie
>
I have taken a look at the Suppressor code and it's exactly the
example I needed. Thanks a lot
--
Massimiliano
> amaxis99 at yahoo.it wrote:
>>
>> Hi,
>>
>> I have written an element with N inputs and M outputs: actually, it
>> manages packets using push method and I would like to make it
>> agnostic, essentially to check if push/pull processing has some
>> relevant impact on performance. Anyway, this element sends packets on
>> a predefined output in conjunction with the input on which the packet
>> is received: the code is something like
>>
>> void push(int port, Packet* p) {
>> int k;
>> <...>
>> if (port == 0) {
>> <some stuff>
>> output(1).push(p);
>> return;
>> }
>> if (port == 1) {
>> <other stuff>
>> output(k).push(p);
>> return;
>> }
>> <...>
>> output(0).push(p);
>> }
>>
>> My question: is it possible to achive the same behavior using an
>> agnostic processing, since the simple_action doesn't include the
>> input/output port number in its arguments?
>>
>> Thanks
>>
>> --
>>
>> Massimiliano
>> _______________________________________________
>> click mailing list
>> click at amsterdam.lcs.mit.edu
>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>
More information about the click
mailing list