#18 Higher-level store interface

Отворено
отворено пре 1 дан од scossu · 0 коментара
scossu коментирира пре 1 дан

There is a lot of feature checking and conditionals when accessing store interface functions, because some of those functions are only defined for store types that support certain features. Moreover, the correlation between features and functions implemented is documented, but not enforced. Calling a non-implemented interface function causes a segfault.

This ticket is to develop functions in store.c to wrap individual store interface functions and provide fallback based on feature flags, to return no-ops or LSUP_NOT_IMPL_ERR as a fallback, thereby enforcing the dependency of certain functions on feature flags without the API user worrying too much about it.

The store interface might be made private as a result of this, but this is not necessary and it needs additional functions to expose other metadata, e.g. feature flags, interface name, etc.

There is a lot of feature checking and conditionals when accessing store interface functions, because some of those functions are only defined for store types that support certain features. Moreover, the correlation between features and functions implemented is documented, but not enforced. Calling a non-implemented interface function causes a segfault. This ticket is to develop functions in `store.c` to wrap individual store interface functions and provide fallback based on feature flags, to return no-ops or `LSUP_NOT_IMPL_ERR` as a fallback, thereby enforcing the dependency of certain functions on feature flags without the API user worrying too much about it. The store interface might be made private as a result of this, but this is not necessary and it needs additional functions to expose other metadata, e.g. feature flags, interface name, etc.
Пријавите се да се прикључе у овом разговору.
Нема фазе
Нема одговорних
1 учесника
Учитавање...
Откажи
Сачувај
Још нема садржаја.