1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-iceoryx

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

iceoryx — межпроцессное взаимодействие с нулевой копией данных

Это оригинальная реализация на C++. Для реализации на Rust следующего поколения, пожалуйста, взгляните на iceoryx2.

  1. Введение
    • Поддерживаемые платформы
    • Где используется Eclipse iceoryx
  2. Сборка и установка
  3. Примеры
  4. Сборка и запуск в среде Docker
  5. Документация
  6. Уровни качества и платформы
  7. Вклад
  8. Запланированные функции
  9. Связывания и инновации, поддерживаемые iceoryx
  10. Часто задаваемые вопросы
  11. Коммерческая поддержка
  12. Управление и сопровождающие

Введение

Здорово, что вы обратились к этому интересному проекту Eclipse! Давайте начнём с краткого обзора, представим область проекта и всё, что вам нужно для установки и первого запуска примера.

Итак, сначала: что такое iceoryx?

Iceoryx — это промежуточное программное обеспечение для межпроцессного взаимодействия (IPC) для различных операционных систем (в настоящее время мы поддерживаем Linux, macOS, QNX, FreeBSD и Windows 10). Оно берёт своё начало в автомобильной промышленности, где большие объёмы данных должны передаваться между различными процессами, когда речь идёт о системах помощи водителю или автоматизированных системах вождения. Однако эффективные механизмы связи также могут быть применены к более широкому спектру случаев использования, например, в области робототехники или разработки игр.

Iceoryx использует истинный подход с нулевым копированием и общей памятью, который позволяет передавать данные от издателей подписчикам без единой копии. Это обеспечивает передачу данных с постоянной задержкой независимо от размера полезной нагрузки. Для получения дополнительной информации ознакомьтесь с введением в iceoryx на 1000 слов (https://www.eclipse.org/community/eclipse_newsletter/2019/december/4.php).

Вы правы, промежуточное ПО — это перегруженный термин, и он может быть всем или ничем. Чтобы получить лучшее представление о том, что это значит для iceoryx, ознакомьтесь с нашими целями и задачами (doc/goals-non-goals.md).

Не пугайтесь API при просмотре примеров. Думайте об untyped C++ и C API как о «сантехнике» («сантехника», как определено в Git, что означает низкий уровень). Мы сами не используем «сантехнические» API, вместо этого мы используем типизированный C++ API. Обычный вариант использования заключается в том, что iceoryx интегрируется в качестве высокопроизводительного транспортного уровня IPC в более крупную структуру с дополнительными слоями API. Примером такого «фарфорового» API может служить ROS 2 (https://www.ros.org/).

Полную документацию по API можно найти на сайте 🌐 https://iceoryx.io. Поддерживаемые платформы

Модификация или добавление новых платформ описана в статье custom iceoryx platforms.

Операционная система Компилятор Поддерживает права доступа для общей памяти Разбор командной строки
Linux gcc/clang Да Да
QNX gcc Да Да
MacOS clang Нет, реализация не планируется Да
Windows 10 msvc Нет, реализация не планируется Будет реализован
FreeBSD (Unix) clang Нет, реализация не планируется Да

В целом, платформы Unix должны работать с iceoryx, но мы тестируем только FreeBSD на нашем CI.

Где используется Eclipse iceoryx

Фреймворк Описание
ROS 2 Eclipse iceoryx можно использовать внутри Robot Operating System с rmw_iceoryx
Eclipse eCAL Открытый фреймворк от Continental AG, поддерживающий pub/sub и различные протоколы сообщений
RTA-VRTE Программный фреймворк AUTOSAR Adaptive Platform для бортового компьютера автомобиля от ETAS GmbH
Cyclone DDS Производительная и надёжная реализация DDS с открытым исходным кодом, поддерживаемая ZettaScale Technology
Apex.Ida от Apex.AI Безопасное и сертифицированное промежуточное ПО для автономных мобильных систем от Apex.AI
AVIN AGNOSAR Adaptive Platform Продукт AUTOSAR Adaptive Platform от AVIN Systems

Сборка и установка

Инструкции по сборке и установке можно найти здесь.

Примеры

После того как вы собрали всё необходимое, вы можете продолжить работу с примерами (см. ./iceoryx_examples/README.md).

Сборка и запуск в среде Docker

Если вы хотите избежать установки чего-либо на хост-машине, но у вас установлен Docker, то можно использовать его для сборки и запуска приложений iceoryx.

Информацию о том, как это сделать, см. в специальном файле README.md.

Документация

Уровни качества и платформы

Уровни качества — от 5 до 1+, где 1+ — самый высокий уровень.

Подробности о мерах качества в соответствии с рекомендациями ROS 2 см. в Quality Declaration.

Проект CMake/цель Текущий уровень Целевой уровень QNX Целевой уровень Linux, Windows, macOS
iceoryx_hoofs 2 1+ 1
iceoryx_posh 2 1+, 2 1
iceoryx_binding_c 2 2 2
iceoryx_examples 5 4 4
iceoryx_introspection 5 4 4
iceoryx_meta 5 5 5

Что-то отсутствует или есть идеи для других интересных примеров? Переходите...

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Iceoryx — это межпроцессное взаимодействие (IPC) для разных операционных систем (в настоящее время поддерживается Linux, macOS и QNX). Развернуть Свернуть
C++ и 6 других языков
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-iceoryx.git
git@api.gitlife.ru:oschina-mirror/mirrors-iceoryx.git
oschina-mirror
mirrors-iceoryx
mirrors-iceoryx
main