----------------------------------------------------------------------------------
@REPLY: 2:203/910 6ab2cf24
@MSGID: 2:5020/378 6ab2ea1d
@CHRS: CP866 2
@TZUTC: 0300
@TID: hpt/lnx 1.9 2024-03-02
Hello Alexey!
Tuesday September 22 2026 20:12, Alexey Matrosov (2:203/910) =>
Mikhail Markovskiy:
AM> Формат "T-Hist v1 (256 байт)" - этот формат, наверное, наиболее
AM> оптимален. Можно взять его, и не ждать v2. Или есть смысл подождать, и
AM> потом не переделывать? :)
Вторая версия формата будет такая: сначала в памяти делаем точно
такую же запись, как в первой версии формата, только не 256, а 255 байт
длиной, предварительно обнулив эти 255 байт перед заполнением. Затем смотрим
индекс последнего ненулевого байта (N, считая от нуля), увеличиваем на
единицу (N+1), считаем эту величину размером данной записи и пишем в
бинарный лог сначала один байт размера записи (N+1), а потом N+1 байт от
начала записи до последнего ненулевого байта.
А T-Hist при чтении будет сначала читать из бинарного лога один
байт, считать его размером данной записи, после чего считывать указанное
число байт.
Выгода тут будет, если в записи мало текстовой информации - чтобы
не писать хвост нулей в файл. Если же предполагается сохранять побольше
текстовой информации, так, что суммарные длины строк будут ближе к 200, то
можно не заморачиваться этим форматом переменной длины и писать одинаковые
256-байтовые записи.
T-Hist будет различать форматы по 5-му байту сигнатуры в начале
файла лога. Первые 4 байта - символы `H`, `I`, `S`, `T`, пятый байт у
первой версии формата равен 1, у второй будет равен 2.
В ближайшие дни, может даже завтра, я обновлю файл ADD-NEW-MAILER.md,
где сделаю описание второй версии. Поддержку в T-Hist сделаю в версии
1.5.0, но перед этим ещё выпущу 1.4.2 без неё.
Mikhail
--- GoldED+/LNX 2.0.0-b20260917
* Origin:
https://klug-photo.dreamwidth.org (2:5020/378)
SEEN-BY: 203/910 469/122 5001/100 5015/46 5020/290
378 715 1146 2332 4441 9696
SEEN-BY: 5023/24 5030/1081 5034/13 5051/44 5061/15
5075/128 5090/138
@PATH: 5020/378 715