LINUX.ORG.RU

По формату Maildir

 


0

1

Зачем нужны директории tmp в каждой папке почтового ящика: почему бы не сделать одну? Имена файлов и так уникальные.

Зачем нужны директории new, если можно в имени файла (в поле флагов) указать, что письмо не прочитано?



Последнее исправление: meduza (всего исправлений: 1)

Ответ на: комментарий от Homura_Akemi

Надо искать «lock» в тексте.

Искал — ответы на *свои* вопросы не нашёл. Кстати, вы их читали?

meduza
() автор топика
Ответ на: комментарий от meduza

Искал — ответы на *свои* вопросы не нашёл.

Ответ один: проблема блокировок.

 Кстати, вы их читали?

Ну конечно. Если что-то по-прежнему непонятно, то есть статья на википедии, хотя там примерно то же самое, ибо добавить почти нечего :)

Homura_Akemi
()
Ответ на: комментарий от Homura_Akemi

Ответ один: проблема блокировок.

Я, наверное, идиот, но поясните мне, пожалуйста, почему альтернативные решения, указанные в первом посте, вынуждают использовать блокировку?

Только, пожалуйста, не посылайте меня к ещё одному описанию формата Maildir. Что такое Maildir я знаю, *как* он позволяет избавится от блокировок я знаю тоже. Но я не знаю, почему разработчик выбрал не совсем KISS-овское решение. Возможно я не прав и тот вариант без директори new и централизованным tmp, что я предложил в стартовом посте, содержит косяк. Ткните меня пальцем, пожалуйста.

meduza
() автор топика
Ответ на: комментарий от meduza

почему альтернативные решения, указанные в первом посте, вынуждают использовать блокировку?

 tmp

Этот каталог нужен для того, чтобы программа чтения почты не попыталась прочесть сообщение, которое ещё не записано. Запись файла не атомарная операция.

new

Управление флагами целиком на совести почтовой программы, доставляющий сообщение софт ничего не напортит.

Homura_Akemi
()
Ответ на: комментарий от Homura_Akemi

Этот каталог нужен для того, чтобы программа чтения почты не попыталась прочесть сообщение, которое ещё не записано. Запись файла не атомарная операция.

Это я знаю. Вы мне скажите (наконец), что изменится, если директория tmp будет единой?

Управление флагами целиком на совести почтовой программы, доставляющий сообщение софт ничего не напортит.

Весомый аргумент! А если забыть по слепые принципы. Какая принципиальная разница в перемещении файла «new/letter» -> «cur/letter» и «letter -> letter,N»?

meduza
() автор топика
Ответ на: комментарий от meduza

Вы мне скажите (наконец), что изменится, если директория tmp будет единой?

А, до меня не сразу дошло содержание вопроса :) Ответ простой: в оригинальном Maildir ящик не содержит никаких папок вообще, они прикручиваются по сути хаком. Ящик вкладывается в ящик, ни о какой элегантности речи не идёт. Оно? Если tmp будет единым, то совместимость с оригинальным форматом окажется под вопросом.

Какая принципиальная разница в перемещении файла «new/letter» -> «cur/letter» и «letter -> letter,N»?

Я не знаю, как рассуждал создатель Maildir, от себя могу выразить следующее мнение. Если новое сообщение будет отмечаться флагом, то почтовой программе придётся считывать и парсить список файлов, который в случае единого каталога будет наверняка больше, чем в отдельном new, когда без разбора имён ясно, что нужно обработать. И вообще, разве в оригинальной спецификации есть флаги в именах? «It is a good idea for readers to skip all filenames in new and cur starting with a dot. Other than this, readers should not attempt to parse filenames

Homura_Akemi
()
Ответ на: комментарий от Homura_Akemi

Вот, теперь ответ принимается, спасибо. Вы подтвердили мои мысли.

Только, к сожалению, опять проявилась сущность ЛОРа. Вместо того, чтобы закрыть тему одним постом, долго разводили руками, пока, наконец, не прочитали вопрос.

meduza
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.