Adds a pTagHash utility to the hasher

This commit is contained in:
Vitor Pamplona
2025-12-24 15:25:27 -05:00
parent aa2f969be6
commit ff48af5090
@@ -20,6 +20,7 @@
*/ */
package com.vitorpamplona.quartz.nip01Core.store.sqlite package com.vitorpamplona.quartz.nip01Core.store.sqlite
import com.vitorpamplona.quartz.nip01Core.core.HexKey
import com.vitorpamplona.quartz.nip01Core.hints.bloom.MurmurHash3 import com.vitorpamplona.quartz.nip01Core.hints.bloom.MurmurHash3
/** /**
@@ -32,6 +33,9 @@ class TagNameValueHasher(
val hasher = MurmurHash3() val hasher = MurmurHash3()
// small performance improvements on inserting // small performance improvements on inserting
val pTagHash by lazy {
hasher.hash128x64Half("p".encodeToByteArray(), seed)
}
val eTagHash by lazy { val eTagHash by lazy {
hasher.hash128x64Half("e".encodeToByteArray(), seed) hasher.hash128x64Half("e".encodeToByteArray(), seed)
} }
@@ -56,4 +60,8 @@ class TagNameValueHasher(
fun hashATag(value: String) = hasher.hash128x64Half(value.encodeToByteArray(), aTagHash) fun hashATag(value: String) = hasher.hash128x64Half(value.encodeToByteArray(), aTagHash)
fun hashETag(value: String) = hasher.hash128x64Half(value.encodeToByteArray(), eTagHash) fun hashETag(value: String) = hasher.hash128x64Half(value.encodeToByteArray(), eTagHash)
fun hashPTag(value: String) = hasher.hash128x64Half(value.encodeToByteArray(), pTagHash)
fun hash(value: HexKey) = hasher.hash128x64Half(value.encodeToByteArray(), seed)
} }