[Click] read handler with parameters
sam barker
sam.barker0 at gmail.com
Wed Jan 16 09:13:01 EST 2008
Hi Eddie,
I saw that we can only pass a string to the function.
Suppose I want to pass pointers as arguments[Packet *].
Should I convert it into string and then pass it to my function.?
Cheers ,
Sam
On Jan 16, 2008 1:09 PM, sam barker <sam.barker0 at gmail.com> wrote:
> Thanks Eddie.
>
>
> On Jan 16, 2008 12:41 PM, Eddie Kohler <kohler at cs.ucla.edu> wrote:
>
> > The argument gets passed in as a single string. You can parse multiple
> > arguments out of it by, for example, separating at spaces, via
> > cp_space_kparse.
> >
> > Eddie
> >
> >
> > sam barker wrote:
> > > Hi Eddie,
> > > Thanks for the tip.I am able to pass a value.
> > >
> > > Is it possible to for me to pass more that one argument through the
> > > set_handler?
> > >
> > > Cheers,
> > > Sam
> > >
> > > On Jan 16, 2008 10:24 AM, Eddie Kohler < kohler at cs.ucla.edu
> > > <mailto:kohler at cs.ucla.edu>> wrote:
> > >
> > > If you want your read handler to take parameters, you need to use
> > > set_handler() and supply Handler::OP_READ | Handler::READ_PARAM.
> > >
> > > http://www.read.cs.ucla.edu/click/doxygen/classElement.html#4b0cd1711fb51b8aba0f2e01f3eba9c0
> >
> > >
> > > Eddie
> > >
> > >
> > > sam barker wrote:
> > > > Hi Beyers,
> > > > I tried it but got the error "read handlers does not take
> > > parameters".
> > > >
> > > > Is there anyway way to call the read handler with
> > > parameters.[Suppose if you
> > > > want to return a value corresponding to the passed parameter]
> > > >
> > > > I was going through a manual called coding concepts which
> > clearly
> > > states
> > > > that "You can't call a ReadHandler with arguments"
> > > >
> > > >
> > > > Cheers,
> > > > Sam
> > > > On Jan 15, 2008 9:01 PM, Beyers Cronje < bcronje at gmail.com
> > > <mailto:bcronje at gmail.com>> wrote:
> > > >
> > > >> Hi Sam,
> > > >>
> > > >> I've never passed a parameter to a read handler before, so
> > this
> > > might be
> > > >> wrong....
> > > >>
> > > >> Your telnet command should be:
> > > >>
> > > >> read readelement_name.a_handle 1
> > > >>
> > > >> Also I believe the prototype of add_handlers is onle 'virtual
> > void
> > > >> add_handlers();'
> > > >>
> > > >> Beyers
> > > >>
> > > >> On Jan 15, 2008 4:11 AM, sam barker <sam.barker0 at gmail.com
> > > <mailto:sam.barker0 at gmail.com>> wrote:
> > > >>
> > > >>> Hi All,
> > > >>> I was trying out the read handler with a parameter and I seem
> >
> > > to be
> > > >>> stuck.
> > > >>>
> > > >>> Basically I wan t to pass an int parameter to my_func().
> > > >>>
> > > >>> After I telnet into the localhost how do I call the
> > function?.
> > > >>> I had used read readelement_name.a_handle(1);
> > > >>>
> > > >>> The the partial code of my .cc file is below
> > > >>>
> > > >>>
> > > >>> String readelement::handle(Element *e, void *thunk){
> > > >>> readelement * me = (readelement *) e;
> > > >>>
> > > >>> int *i;
> > > >>> i=(int *)thunk;
> > > >>> return me->my_func(i);
> > > >>> }
> > > >>> void readelement::add_handlers(void * thunk){
> > > >>> add_read_handler("a_handle", &handle, (void *)thunk);
> > > >>> }
> > > >>>
> > > >>> Regards,
> > > >>> Sam
> > > >>> _______________________________________________
> > > >>> click mailing list
> > > >>> click at amsterdam.lcs.mit.edu <mailto:
> > click at amsterdam.lcs.mit.edu>
> > > >>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
> > > >>>
> > > >>
> > > > _______________________________________________
> > > > click mailing list
> > > > click at amsterdam.lcs.mit.edu <mailto:click at amsterdam.lcs.mit.edu
> > >
> > > > https://amsterdam.lcs.mit.edu/mailman/listinfo/click
> > >
> > >
> >
>
>
More information about the click
mailing list