[getdns-api] Feedback wanted for getdns_context_set_update_callback function (was Re: Questions and Suggestions After Implementing PHP Language Bindings)
Tim Wicinski
tjw.ietf at gmail.com
Tue Apr 14 20:14:22 CEST 2015
I'll chime in with a +1 here also.
On 4/12/15 10:55 AM, Gowri V wrote:
> +1 from me too.
>
> On Sun, Apr 12, 2015 at 4:33 AM, Ray Bellis <Ray.Bellis at nominet.org.uk
> <mailto:Ray.Bellis at nominet.org.uk>> wrote:
>
> +1
>
> Every API that provides callbacks should allow a void* client data.
>
> It's essential for wrapping such APIs into languages like C++ where
> the client data can hold a pointer to "this".
>
> Ray
>
> Sent from my iPhone
>
> On 11 Apr 2015, at 23:48, "Hollenbeck, Scott"
> <shollenbeck at verisign.com <mailto:shollenbeck at verisign.com>> wrote:
>
> >> -----Original Message-----
> >> From: getdns-api [mailto:getdns-api-bounces at vpnc.org
> <mailto:getdns-api-bounces at vpnc.org>] On Behalf Of
> >> Willem Toorop
> >> Sent: Tuesday, April 07, 2015 10:34 AM
> >> To: getdns-api at vpnc.org <mailto:getdns-api at vpnc.org>
> >> Subject: [getdns-api] Feedback wanted for
> >> getdns_context_set_update_callback function (was Re: Questions and
> >> Suggestions After Implementing PHP Language Bindings)
> >>
> >> Dear All,
> >>
> >> As Scott Hollenbeck has rightfully noticed (see quoted message
> below),
> >> the API is inconsistent in its use of user registered functions.
> >>
> >> A request callback function provided with an asynchronous
> requests, is
> >> given alongside a (void *) user argument which will be passed
> when the
> >> callback is called. Similarly, user defined memory management
> >> functions
> >> accommodate a user argument (perhaps to point to a structure to help
> >> with memory book-keeping). In contrast, the
> >> getdns_context_set_context_update_callback does provide these means.
> >>
> >> I propose to replace it with a new function that allows an user
> >> argument:
> >>
> >> getdns_return_t
> >> getdns_context_set_update_callback(
> >> getdns_context *context,
> >> void *userarg,
> >> void (*value)(getdns_context *context,
> >> getdns_context_code_t changed_item,
> >> void *userarg)
> >> );
> >>
> >> The new name is to keep the API backwards compatible. An
> >> implementation
> >> can provide the old symbol, though undocumented.
> >> What do you think?
> >
> > Well, *I* certainly like this idea!
> >
> > Scott
> >
> > _______________________________________________
> > getdns-api mailing list
> > getdns-api at vpnc.org <mailto:getdns-api at vpnc.org>
>
> _______________________________________________
> getdns-api mailing list
> getdns-api at vpnc.org <mailto:getdns-api at vpnc.org>
>
>
>
>
> _______________________________________________
> getdns-api mailing list
> getdns-api at vpnc.org
>
_______________________________________________
getdns-api mailing list
getdns-api at vpnc.org
More information about the spec
mailing list