tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Some changes to autoconfiguration APIs
> On Aug 1, 2021, at 12:48 PM, David Brownlee <abs%absd.org@localhost> wrote:
>
> 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 = ...,
> })
I would probably hide it in a macro (part of what I object to about this method, which was floated before, is that it is needlessly verbose).
What do you propose should be the behavior if the versions don't match? I have an idea in mind, but I want to hear a concrete proposal first.
-- thorpej
Home |
Main Index |
Thread Index |
Old Index