GitHub user Ji-Xinyou added a comment to the discussion: The map construction 
in opendal's C binding

I saw that in `core`, `OperatorBuilder` either uses a `HashMap` (or an iterator 
collected) or uses env var.

Also, different backends use different KVs, if we are using the AWS way, we 
accept params like `opendal_operatior_config`.
This has a problem that
* Suppose we are initing a Fs backend, we only need `root` and 
`atomic_write_dir`. But for other backends, we need many other keys. If we 
accept a unified param like `opendal_operator_config`, all these fields have to 
reside in this one struct.

like
```C
struct opendal_operator_config {
    char* root,
    char* atomic_write_dir,
    char* filesystem,
    char* endpoint,
    char* account_name,
    .....
}
```

I am worrying that if some fields are set, like `filesystem`, but the fields 
are not for the backend they are using (e.g. `filesystem` is not used by `Fs` 
backend), this might introduce some confusion.

WDYT?

GitHub link: 
https://github.com/apache/incubator-opendal/discussions/1904#discussioncomment-5577399

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]

Reply via email to