tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Some changes to autoconfiguration APIs



On Sun, 1 Aug 2021 at 15:57, Jason Thorpe <thorpej%me.com@localhost> wrote:
>
> > On Aug 1, 2021, at 5:15 AM, Martin Husemann <martin%duskware.de@localhost> wrote:
> >
> > On Mon, May 10, 2021 at 10:30:09PM -0700, Jason Thorpe wrote:
> >>
> >>> On May 10, 2021, at 7:58 PM, matthew green <mrg%eterna.com.au@localhost> wrote:
> >>>
> >>> please, can we revert and re-do with a type-safe API.
> >>
> >> I don't plan to revert, but I will consider a betterly-typed API
> >> that's not extremely cumbersome to use.  I am not a fan of Taylor's
> >> proposals.  Concrete proposals welcome.
> >
> > Ping?
> >
> > A decision on this API needs to happen before the netbsd-10 branch
> > (this is on the branch blocker list) - we need to either backout or move
> > forward some way.
>
> The situation hasn’t changed.  I’m still waiting for concrete proposals.
>

Possible  thought to provide type safety with automatic versioning.

Use C99 initializers with a CF_VERSION define. When cfargs changes we
bump CF_VERSION.

config_found() needs to check passed cf_version and convert for old
versions. We are still left with a long tail of conversion code in
config_found(), but callers Just Work.

       config_found(CF_VERSION, self, whatever, (const struct cfargs *){
           .search = ...,
           .locators = ...,
       })

David


Home | Main Index | Thread Index | Old Index