Bug 13809 - [UIDL] Логарифмический поиск новых писем
Summary: [UIDL] Логарифмический поиск новых писем
Status: CLOSED NOTABUG
Alias: None
Product: Branch 4.0
Classification: Distributions
Component: fetchmail (show other bugs)
Version: 4.0
Hardware: all Linux
: P5 enhancement
Assignee: Michael Shigorin
QA Contact: Q.A. 4.0
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-12-27 11:01 MSK by Konstantin Uvarin (lodin)
Modified: 2008-06-17 17:46 MSD (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Konstantin Uvarin (lodin) 2007-12-27 11:01:39 MSK
fetchmail при работе в режиме оставления почты на сервере забирает ее так: 
просматривает письма, начиная со дна мэйлбокса, и если uidl известный, то не 
скачивает. Происходит это, мягко говоря, небыстро. 

Поэтому я написал "велосипед", который умеет только забирать почту, но 
использует дихотомию для определения границы между новыми и старыми сообщениями.

Можно ли такую функциональность добавить в fetchmail? В этом случае, кстати, 
можно будет проверять старые письма и на pop3-серверах, не поддерживающих uidl, 
если таковые ещё остались: поиск новых среди 10К писем потребует скачивания 
всего 14 заголовков.
Comment 1 Michael Shigorin 2007-12-27 22:14:21 MSK
Не хотите в команду да заняться fetchmail?  Тогда было бы разумно добавить патч
(в любом случае цепляйте), потестировать на дистрибутиве и предложить забрать в
апстрим по результатам.
Comment 2 Konstantin Uvarin (lodin) 2007-12-28 04:32:46 MSK
Честно говоря, через код fetchmail я так и не продрался, а то непременно бы 
вывесил патч. Сам алгоритм-то добавить дело десяти строчек, плюс надо 
протестировать (а лучше аккуратно показать), что подобная модификация не 
разрушает работы в случае, скажем, удаления писем, прихода дублей и т.п. 

(Судя по тому, что я понял из RFC, это так и есть. )
Comment 3 Konstantin Uvarin (lodin) 2008-03-02 20:17:04 MSK
grep -r UIDL .
...
./options.c:    P(GT_("      --fastuidl    do a binary search for UIDLs\n"));
...

Все там давно уже есть, только работает оно как-то странно. Буду разбираться... 
Comment 4 Konstantin Uvarin (lodin) 2008-06-17 17:46:01 MSD
Все уже и так есть в наилучшем виде. Баг закрываю.