forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.FTN.DEVELOP

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 17.03.2021, 01:42
Nil Alexandrov
Guest
 
Сообщений: n/a
По умолчанию sqpack will reset BaseMsgNum to 1

Nil Alexandrov написал(а) к All в Mar 21 00:34:12 по местному времени:

* Originally in ru.husky
* Crossposted in ru.ftn.develop
Нello, All!

Чем обычно пользователи Нusky пуржат (JAM) базы, sqpack?
А чем ещё можно пуржить под линуксом?

Под капотом sqpack, пользуясь smapi, открывает оригинальные файлы базы на чтение, временные на запись, копирует сообщения до лимита по времени и/или количество сообщений, и в конце замещает временные файлы на оригинальные файлы базы.

API smapi при создании базы JAM не позволяет указать BaseMsgNum (Lowest message number in index file) и всегда ставит там единицу.
Я считаю, что поведение sqpack, когда упакованная база начинает нумерацию BaseMsgNum снова с 1цы не корректное.

Приведу пример, когда сброс BaseMsgNum в единицу ломает логигу других программ.
jamnntpd/smapinntpd для отображения по NNTP количества сообщений всего/первое/последнее использует логику, что JAM .jdx файл - это записи по 8 байт на сообщение, соответственно можно сразу сказать сколько всего сообщений, а из заголовка в .jhr, сколько активных.
Для NNTP клиентов важно, чтобы нумерация сообщений бала сквозной, тогда в следующий раз при соединении, клиент может понять, что появились новые сообщения. В случае с jamnntpd/smapinntpd всё работает до тех пор, пока базы не будут упакованы и тогда нумерация "съедет".
Если бы в заголовке .jhr поле BaseMsgNum было минимальное значение сообщения, ещё из предыдущей базы, тогда, складывая BaseMsgNum со смещением по 8 байт в .jdx файле, можно было бы сохранить сквозную нумерацию.

Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 00:34. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot