Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OakHash API #141

Open
sanastas opened this issue Mar 2, 2021 · 1 comment
Open

OakHash API #141

sanastas opened this issue Mar 2, 2021 · 1 comment
Labels
enhancement New feature or request HackTogether

Comments

@sanastas
Copy link
Contributor

sanastas commented Mar 2, 2021

Add design and implementation of new OakHash API. API only, without the underlying HashMap. Probably the merge can go into a separate branch.

Similar to OakMap, OakHash should be extending ConcurrentHashMap, but must also support Zero-Copy API methods. Most likely new ZeroCopyHash should extand or be similar to ZeroCopyMap. And OakHash should return ZeroCopyHash, having all interfaces.

For more explanations feel free to add questions in this issue.

@sanastas sanastas added enhancement New feature or request HackTogether labels Mar 2, 2021
@sanastas
Copy link
Contributor Author

OakMap implements (the majority of) ConcurrentNavigableMap<K, V>, respectively new OakHash should implement ConcurrentHashMap<K,V> also possibly not fully.

However, via

/* ------ Zero-Copy API methods  ------ */

    public ZeroCopyMap<K, V> zc() {
        return new OakZeroCopyMap<>(this);
    }

OakMap supports the ZeroCopyMap interface of itself. Also respectively, the new ZeroCopyHash is required and needs to be tailored.

OrHayat added a commit to OrHayat/Oak that referenced this issue May 19, 2021
@OrHayat OrHayat mentioned this issue May 19, 2021
sanastas pushed a commit that referenced this issue Jun 21, 2021
* started OakHashMap

* OakHashMap cont

* done OakHashMap

* reformat code

* Hashcode type added

* hash function wrapper

* reformat code

* issue #141

* reformat code

* removed oakhashFunction

* OakHashMapBuilder removed

* concurrentzcmap

* removed InternalOakHashMap

* reformat code

* templated tests

* renamed check to checkPreconditions

* replaced getvalue mannager with memorySize()

* seperated mapapi tests and paramterizedMapApiTest

* changed mapapi tests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request HackTogether
Projects
None yet
Development

No branches or pull requests

1 participant