Что это такое?
Это флаг для сохранения сообщений.
Зачем это нужно?
Чтобы сохранять сообщения на сервере после рассылки всем текущим подписчикам.
Как это настроить?
false
- Не сохранять сообщения. После рассылки всем текущим клиентам сообщение удаляется. Например, если сообщения в теме публикуются редко, то обновлённая информация может появиться не скоро. Если в это время на тему подпишется новый читатель, то он долго не будет получать никаких сообщений. Как при этом будет вести себя его клиентское ПО — одному аллаху известно: то ли показывать "нет данных" и завершаться с ошибкой, то ли по таймауту считать сервер мёртвым или тему недоступной, то ли показывать какое-то значение, сохранившееся в нём самом от прошлого запуска, то ли ещё какую-то фигню.
true
- Сохранять последнее сообщение в данной теме (из числа опубликованных с этим флагом). В этом случае новый клиент сразу получит какую-то информацию, опубликованную ранее.
Допустима ситуация, когда часть писателей работают с флагом retain=true
, или часть сообщений публикуется с этим флагом, а другие — без него. Например, можно опубликовать и сохранить в форуме приветственную запись, типа: "Добро пожаловать на наш форум интеллектуальных паяльников", а текущие публикации не сохранять; тогда новый клиент, по крайней мере, сможет установить факт успешной подписки на эту тему.