Describe the bug
For something that's supposed to be a general purpose SDK for valkey, having a hard dependency on a large library abseil seems counter-intuitive. Libraries like Abseil and Boost are used in whole-system appliances, but not in libraries and modules because of their large size and specific versioning requirements.
While there are some performant data structures -- mainly the swiss map, I found versions of them available as standalone files, rather than dependencies on large libraries.
Furthermore, the widepsread usage of absl::Status is odd and can largely be supplanted by something standards compliant or project-specific. It could also be replaced by a wrapper object like valkey::Status and so on.
Describe the bug
For something that's supposed to be a general purpose SDK for valkey, having a hard dependency on a large library abseil seems counter-intuitive. Libraries like Abseil and Boost are used in whole-system appliances, but not in libraries and modules because of their large size and specific versioning requirements.
While there are some performant data structures -- mainly the swiss map, I found versions of them available as standalone files, rather than dependencies on large libraries.
Furthermore, the widepsread usage of absl::Status is odd and can largely be supplanted by something standards compliant or project-specific. It could also be replaced by a wrapper object like valkey::Status and so on.