Commit graph

10 commits

Author SHA1 Message Date
Roman Gershman
acc00b77b3
feat: allow extracting the expiry time from string_set (#2020)
We introduce `iterator Find(member)` function
as well as iterator members to actually get the expiry time.
2023-10-15 09:56:17 +03:00
Roman Gershman
4fccda65cf
chore: remove redundant Find calls when inserting into DenseSet (#1917)
A regular DenseSet insertion first checks for uniqueness and then inserts a new element.
Sometimes we know that the new element is new and we can insert it without checking for
uniqueness first.

Also, pass hashcode into internal functions so we could save some hash calls.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-09-22 22:48:06 +03:00
Roman Gershman
cf1ac87156
chore: fix some of FreeBsd compile issues. (#1374)
1. Use experimental/memory_resource because clang on freebsd does not support yet std::memory_resource
2. Pull latest helio with all the compatibility fixes.
3. Replace linux only SOL_TCP constant with IPPROTO_TCP (same value).
4. Fix build files to work on FreeBsd system.

Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2023-06-11 23:22:56 +03:00
Roy Jacobson
46093e33ff
chore: Fix errors/warnings in GCC13 (#1155)
* chore: Fix errors/warnings in GCC13

* OpResult: Add non const overloads to */-> so we can std::move from the result

* Run clang-format on file
2023-04-30 10:32:30 +03:00
Roman Gershman
5d34f271e9 feat(server): Extend string_map api, fix AddOrSet method.
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2022-12-24 17:21:57 +02:00
Roman Gershman
9375a48f71 feat(core): Add StringMap data structure.
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
2022-12-24 17:21:57 +02:00
Roman Gershman
08779b154b
Add expiry semantics to the set. (#340) 2022-10-01 19:45:19 +03:00
Roman Gershman
44f98de128
chore(denseset): Simplify DenseSet, remove empty links. (#339) 2022-10-01 06:58:37 +03:00
Roman Gershman
2686b9316a
chore(DenseSet): Some code reorder without change in functionality. (#338) 2022-09-29 16:13:55 +03:00
Braydn
b8d791961e
feat(core): Added DenseSet and StringSet types (#268)
* feat(core): Added DenseSet & StringSet types with docs

- Improved documentation by adding labels to chain types & pointer tagging table
- Added potential improvements to the DenseSet types in the docs
- Added excalidraw save file for future editing
- Removed ambiguous overloading types
- Renamed iterators to be more clear


* feat(core): Cleaned up DenseSet and Docs
* feat(core): Made DenseSet more ergonomic
* feat(server): Integration of DenseSet into Server

- Integrated DenseSet with CompactObj and the Set Family commands

Signed-off-by: Braydn <braydn.moore@uwaterloo.ca>
2022-09-14 08:41:54 +03:00