hbs2/docs/todo/hbs2-storage-weak-refs.txt

44 lines
1.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

TODO: storage-weak-refs
Сделать ссылки, которые удаляются по достижению каких-то событий (например, истечение ttl).
Полезно, что бы не разрастался периметр к моменту, когда заработает сборка мусора.
Нужно, например, что бы кэшировать групповые ключи, так как сейчас сложно
сделать чистые (детерминированные) групповые ключи, да это и опасно.
Кейс: сохраняем ссылку на ключ, как SomeRef например.
По истечению заданного ttl ссылка должна быть удалена.
Как, например?
1. Это свойство hbs2-storage, не hbs2-peer
2. Поддержать тип --- обёртку?
Например, сейчас для любого типа ключа вычисляется хэш,
и ссылка пишется.
Можно добавить какую-то обёртку с метаданными, что писалась
не только ссылка, но и метаданные, например:
data WithExpiration t a = WithExpiration t a
instance Hashed (WithExpiration t a) where
hash (WithExpiration t a) = hash a
внутри сторейджа собирать метаданные в формате
[(String,String)] и писать в некий файл
A/X.metadata в виде:
key: value
key: value
key: value
3. Тогда при чтении (?) или время от временени:
читаем метаданные, смотрим, если ссылка протухла
--- то удаляем её.