On Thursday 05 June 2008 16:32, j16sdiz at freenetproject.org wrote:
> Author: j16sdiz
> Date: 2008-06-05 15:32:27 +0000 (Thu, 05 Jun 2008)
> New Revision: 20221
>
> Modified:
>
branches/saltedhashstore/freenet/src/freenet/store/SaltedHashFreenetStore.java
> Log:
> newer and better resize scheme:-
> - does not deadlock
> - read entries in batch
>
>
> Modified:
branches/saltedhashstore/freenet/src/freenet/store/SaltedHashFreenetStore.java
> ===================================================================
> ---
branches/saltedhashstore/freenet/src/freenet/store/SaltedHashFreenetStore.java
2008-06-05 15:32:00 UTC (rev 20220)
> +++
branches/saltedhashstore/freenet/src/freenet/store/SaltedHashFreenetStore.java
2008-06-05 15:32:27 UTC (rev 20221)
...
> -
> + private boolean resolveOldEntry(Entry entry) {
> + if (!lockDigestedKey(entry.getDigestedRoutingKey(),
> false))
> + return false;
> + try {
> entry.setStoreSize(storeSize);
> + long[] offsets = entry.getOffset();
>
> - long[] newOffset = entry.getOffset();
> + // Check for occupied entry with same key
> + for (long offset : offsets) {
> + try {
> + if (!isFree(offset)
> + &&
> Arrays.equals(getDigestedKeyFromOffset(offset),
entry.getDigestedRoutingKey())) {
> + writeEntry(entry,
> offset); // overwrite, don't update key count
> + return true;
Why do we need to write here, if it's already been written?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL:
<https://emu.freenetproject.org/pipermail/devl/attachments/20080712/83bd71b9/attachment.pgp>