Данный интерфейс промежуточного уровня предназначен для обеспечения фоновой синхронизации данных через HTTP сервер или по локальной сети для таких задач как обеспечение передачи нативных сигналов для сервера функциональной диагностики в офлайн, прием данных от пациента в бытовых условиях и отложенной синхронизация обновлений реляционных БД между рабочими станциями не находящимися в постоянном онлайн-соединении.
Два класса обеспечивают распространение появляющихся на исходящем конце файлов и последовательный прием на получающих концах всего вновь появившегося когда оно достигает сервера.
BiioSync использует BiioPump для перекачки файлов по сети в режиме оптимизированном для надежной (без выбрасывания "не успевающих" и "старых" данных) офлайновой, фоновой и постепенной передачи файлов не ограниченного размера ограниченными фрагментами. С возможностью продолжения перекачивания при прерывании процесса.
Для инициации посылки файла любого размера приложению достаточно вызвать CBiioSyncOutIfaceGp::StartFileSync(pathOriginal, sSecurityId) для появившегося у него файла.
BiioSync использует FileMultipart для разрезания больших файлов на мелкие кускипрозрачным для приложения образом.
Для фоновой отсылки фрагментов используются внутренние средства полинга BiioPump и приложению об этом заботится не нужно.
На получающем конце CBiioSyncInIfaceGp::PollBiioSyncIn (pathRestoreInto) размещает в указанной директории успешно полученные файлы после их восстановления из фрагментов скаченных с сервера.
Важной особенностью данного сервиса является автоматическое перманентное запоминание текущей позициии скачивания данных с сервера по данному каналу позволяющего продолжить скачивание с прерванного фрагмента файла и избежать повторного скачивания полученных ранее данных.
Для постепенного скачивания фрагментов и хранения их во приватной директории используются внутренние средства полинга BiioPump и приложению об этом заботится не нужно.
При инициализации как и в других сервисах BiointaIo приложение указывает класс сетевого драйвера и BiioLocator идентифицирующий канал передачи, параметры кеширования, тайминга и т.п.
Механизм отсылки предусматривает дескриптор доступа к отсылаемым в файле данных а приемный конец и/или сервер фильтрацию входящих данных на основании дескрипторов текущего логина. Сервер может ассоциировать имя пользователя и пароль с правами доступа к определенным дескрипторам (что находится за пределами функциональности BiioSync).
Приложению передается число файлов в исходящей и входящей очереди. Предполагается добавить счетчики файлов на сервере и переданных пакетов для более продвинутой прогресс индикации.