instrumentisto / medea

[Closed] Medea media server
Mozilla Public License 2.0
23 stars 3 forks source link

Implement basic FFI bindings for Jason API #194

Closed alexlapa closed 3 years ago

alexlapa commented 3 years ago

Part of #182

Synopsis

Начинаем создавать Дартовские обертки для обьектов внешнего интерфейса Jason'а и FFI уровень в dummy-jason.

Checklist

alexlapa commented 3 years ago

FCM:

Implement basic Dart FFI bindings for Jason API (#194, #182)
alexlapa commented 3 years ago

К ревью:

  1. Нулл-чекать пойнтеры в расте, по сути, смысла нет, им там браться неоткуда. Задача по гарантии отсутствия use-after-free лежит на дарте.
  2. Сейчас подразумевается что на дартовских обьтектах надо дергать функцию free, которая дропнет соответствующую стркутуру в расте. Потом еще планирую прикрутить finalizer'ы
  3. Закомменченые куски кода - не мусор, а заметки для следующих задач.
  4. Запилил маркер-аннотацию @moveSemantics чтобы в дарте было виднее в каких случаях раст будет мувать структуру под пойнтером.
  5. Текущие тесты корявые и будут заменены когда настоящий Jason прикрутим.

Ну и в принципе этот PR является work in progress. Некоторые моменты могут быть пересмотрены, доку пока писать смысла нет.