|
HOBBIT.LOCAL Наша локалка для общих разговоров |
|
Опции темы | Опции просмотра |
|
#1
|
|||
|
|||
Прочитанные, lastread, hi/low watermark
Nil Alexandrov написал(а) к All в Jan 20 23:48:10 по местному времени:
Нello, All! Коли тут собрались фидо-гики, понимающие в спеках, форматах и немного программировании вообще, и, при этом ЧСВ не мешает нормальному обсуждению, в отличии от других профильных (не будем показывать пальцем) эх, хочу спросить.. Издалека. Любая читалка почты, ньюсов, фидо, .. оперирует понятиями сколько всего сообщений в папке, сколько новых (не прочитанных), а также какое последние не прочитанное, и чаще всего какие читали вообще, а какие нет. NNTP протокол не хранит на стороне сервера инфы о клиентах, что они там читали или не читали, только ACL настройки, какие группы можно читать/писать. Вся инфа хранится на стороне клиента, а так бы можно было иметь клиентов на разных девайсах и продолжать чтение с "того же места". Итак, NNTP для данной группы говорит 3 цифры: total, low, high. Нigh-low не всегда равно total, ибо при удалении из середины могли образоваться дырки. Клиент может узнать, не появились ли новые сообщения по команде newnews с указанием даты, но это часто не поддерживается. Чаще всего клиент запоминает старое значение high и сравнивает с новым high и вытаскивает по одному (или узнав список через over/xover). В FTN есть понятие high номера для текущей эхи и lastread - обычно для какого-то пользователя (удобно для ББС когда их может быть много, кроме формата .msg где только один пользователь), указывается lastread и high. Если сравнить текущий high с сохранённым high, то можно показать сколько новых (хотя могут быть дырки, для jam например), и курсором встать в lastread сообщение. Здесь ничего не сказано про то, какое сообщение прочитано вообще, а какое нет, сказано до какого номера прочитано, хотят какой-нибудь голдед всё это различает. Где хранится инфа прочитано/не_прочитанно какое сообщение? Похоже в базе происходит манипуляция полем даты прочтения или ещё какими-то датами? Но, секундочку, это для свех пользователей будет глобально! В изоретение lastread таки хранится в базе для UserID каждого. Как какой-нибудь rtin или другая подобная читалка будет хранить что именно мы читали, видимо локально, списком номеров сообщений или msgid? P.S. Все эти мысли, это размышление на тему, как бы синхронизовать между несколькими устройствами. Best Regards, Nil --- GoldED+/LNX 1.1.5 |