This commit is contained in:
Dmitry Zuikov 2023-03-24 06:35:07 +03:00
parent baa6e2ab02
commit d39bc6cff9
1 changed files with 39 additions and 0 deletions

View File

@ -1,4 +1,43 @@
## 2023-03-24
TODO: calculate-hash-only-once
Вычислять блок только один раз в фунции
записи блока. То есть, при приходе блока
звать putBlock и разбирать его ответ.
Интерфейс, получается, становится
```
putBlock :: Storage -> Block -> Either Code Hash
```
TODO: storage-data-compression
Сжимать данные в storage. Вызывает много
вопросов, хэш сжатого блока перестаёт
соответствовать исходному контенту. Если перед
передачей блок распаковывать, что бы на
принимающией стороне хэш соответствовал --- то
это бред. Если не распаковывать, то хэш не
сойдется.
Выходом является, кажется, передача признака,
что блок сжат, либо же проверка что пришло,
определение, что блок был сжат, и распаковка.
Это можно сделать, в принципе, в storage, путем
оборачивания блока в какой-то конструктор,
который будет пытаться разобрать storage. Тогда
надо проверку хэша блока делать в storage. Тогда
надо отличать ситуацию, когда мы не смогли
записать блок от ситуации, когда не сошёлся хэш.
Это меняет интерфейс записи, кроме того, что
делать с асинхронной записью (enqueue?)
Не пора ли разбивать девлог на куски, хоть его никто
кроме меня и не пишет?
## 2023-03-23
TODO: ref-block-download-monitor