Module ffi

Module ffi 

Source
Expand description

C ABI фасад поверх MessengerMls. C ABI фасад для crate::service::MessengerMls.

JSON payload передаётся через байтовые буферы (ptr, len). Методы, которые возвращают данные, записывают сериализованный JSON в crate::ffi::MlsBuffer.

Structs§

MessengerMlsHandle
Непрозрачный handle для C-клиентов.
MlsBuffer
Дескриптор исходящего байтового буфера, выделенного библиотекой.

Functions§

messenger_mls_buffer_free
Освобождает буфер, ранее возвращённый через out: *mut MlsBuffer.
messenger_mls_clear_pending_commit
Очищает pending commit для JSON-кодированного GroupId.
messenger_mls_create_client
Инициализирует идентичность клиента из JSON-кодированного CreateClientParams.
messenger_mls_create_group
Создаёт группу из JSON-кодированного GroupId и возвращает JSON-состояние.
messenger_mls_create_key_packages
Генерирует count key package и возвращает JSON-кодированный набор.
messenger_mls_drop_group
Удаляет группу для JSON-кодированного GroupId.
messenger_mls_encrypt_message
Шифрует сообщение из JSON-запроса { group_id, plaintext, aad }.
messenger_mls_export_client_state
Экспортирует сериализованное состояние клиента как сырые JSON-байты.
messenger_mls_free
Освобождает handle, ранее возвращённый messenger_mls_new.
messenger_mls_get_client_id
Возвращает JSON-кодированный crate::types::ClientId текущего клиента.
messenger_mls_get_group_state
Возвращает JSON-кодированное состояние группы для входного JSON GroupId.
messenger_mls_handle_incoming
Обрабатывает JSON-кодированное IncomingMessage и возвращает JSON-события.
messenger_mls_has_pending_commit
Возвращает JSON-boolean о состоянии pending commit для JSON GroupId.
messenger_mls_invite
Приглашает участника из JSON-кодированного InviteRequest.
messenger_mls_join_from_welcome
Вступает в группу по сырым байтам Welcome-сообщения и возвращает JSON состояния группы.
messenger_mls_last_error
Возвращает строку последней ошибки ("<code>: <message>") для handle.
messenger_mls_list_groups
Возвращает JSON-массив известных состояний групп.
messenger_mls_list_members
Возвращает JSON-список участников для входного JSON GroupId.
messenger_mls_mark_key_packages_uploaded
Помечает JSON-кодированный KeyPackageBundle как загруженный.
messenger_mls_merge_pending_commit
Завершает pending commit для JSON-кодированного GroupId и возвращает JSON состояния группы.
messenger_mls_new
Выделяет новый handle мессенджера.
messenger_mls_remove
Удаляет участника из JSON-кодированного RemoveRequest.
messenger_mls_restore_client
Восстанавливает runtime клиента из байтов, полученных в export_client_state.
messenger_mls_self_update
Выполняет self-update для JSON-кодированного GroupId.