diff --git a/docs/devlog.md b/docs/devlog.md index fa2a37b8..44a08fcf 100644 --- a/docs/devlog.md +++ b/docs/devlog.md @@ -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