3.3. Режим refreshOnly
Запрос Sync с режимом refreshOnly и без куки является запросом первоначального содержимого каталога. Запрос Sync с режимом refreshOnly и с куки, представляющим собой состояние синхронизации, является запросом обновлений содержимого каталога.
3.3.1. Запрос первоначального содержимого каталога
После получения такого запроса сервер предоставляет первоначальное содержимое каталога с помощью нуля или более сообщений SearchResultEntry Message и SearchResultReference Message, за которыми следует сообщение SearchResultDone Message.
Каждое сообщение SearchResultEntry Message должно (SHALL) включать элемент управления Sync State Control с состоянием add, entryUUID, содержащий UUID данной записи, и не включать куки. Каждое сообщение SearchResultReference Message должно (SHALL) включать элемент управления Sync State Control с состоянием add, entryUUID, содержащий UUID связанный с отсылкой (обычно это UUID связанного объекта именованной отсылки [RFC3296]), и не включать куки. Сообщение SearchResultDone Message должно (SHALL) включать элемент управления Sync Done Control, у которого refreshDeletes установлено в FALSE.
Значение success в resultCode указывает, что операция завершилась успешно. В противном случае результирующий код в этом поле указывает на характер сбоя. Сервер может вернуть результирующий код e-syncRefreshRequired на запрос первоначального содержимого каталога (если это можно сделать безопасным образом), когда он в силу различных причин не может выполнить операцию. Установка reloadHint в FALSE в сообщении SearchRequest Message говорит о том, что это запрос первоначального содержимого каталога.
Если операция завершена успешно, следует (SHOULD) вернуть куки, представляющее собой состояние синхронизации текущей клиентской копии, для использования в последующих операциях Sync.
3.3.2. Запрос обновлений содержимого каталога
После получения такого запроса сервер предоставляет обновление содержимого каталога с помощью нуля или более сообщений SearchResultEntry Message и SearchResultReference Message, за которыми следует сообщение SearchResultDone Message.
От сервера требуется (REQUIRED):
предоставить последовательность сообщений, необходимых для конечной конвергенции клиентской копии содержимого каталога к серверной копии,
рассматривать данный запрос как запрос первоначального содержимого каталога (то есть игнорировать куки или состояние синхронизации, представляемое в этом куки),
показать, что инкрементная конвергенция невозможна, путём возврата e-syncRefreshRequired,
возвращать resultCode, отличный от успешного или e-syncRefreshRequired.
Операция Sync может состоять из отдельной фазы наличия, отдельной фазы удаления, либо из фазы наличия, за которой следует фаза удаления.