Porting Casbin-CPP to Real-Time Operating Systems (RTOS)
@hsluoyz がすでに取り組んでいます。
2023年5月5日 から。
評価
この issue はまだ評価されていません。
説明
Is your feature request related to a problem? Please describe.
Many RTOS platforms (e.g., FreeRTOS, AliOS Things, TencentOS-tiny, LiteOS) are implemented in C language. To integrate Casbin into RTOS environments for execution and invocation by other modules, we need to first compile Casbin-CPP (C version) within the RTOS. The porting process will need to address several challenges:
- Compiler compatibility: As RTOS usually runs on embedded devices, a specific compiler and toolchain might be required to compile and link the code. We need to ensure that the Casbin-CPP library is compatible with the compiler and toolchain used by the target RTOS.
- Resource constraints: Embedded devices and RTOS often operate under resource-constrained environments, such as limited memory and storage space. Casbin-CPP may require optimizations to reduce resource usage, e.g., adjusting memory allocation strategies, reducing global variable usage, and optimizing data structures.
- System library dependencies: Casbin-CPP may rely on some system libraries, such as the C++ standard library and POSIX API. In an RTOS environment, these libraries may not be fully available or provide limited functionality. Alternative solutions or custom implementations for missing features may be necessary.
- Thread safety: Casbin-CPP might not have been designed with thread safety in mind for RTOS environments. Modifications to the library may be necessary to ensure its safety in a multi-threaded environment, such as adding locks and using atomic operations.
- Filesystem and persistence: Casbin typically loads policies from files and supports persisting policies to files. However, traditional file systems might not be available in RTOS environments. This may require modifications to the policy loading and persistence parts of Casbin-CPP to adapt to the RTOS environment, e.g., storing policy data in memory or using non-filesystem-based persistence methods.
Describe the solution you'd like
We would like to explore and implement the necessary modifications and optimizations to make Casbin-CPP compatible with RTOS environments. This may include addressing the challenges listed above, such as compiler compatibility, resource constraints, system library dependencies, thread safety, and filesystem adaptations.
Describe alternatives you've considered
An alternative solution would be to implement a new library specifically designed for RTOS environments. However, porting the existing Casbin-CPP library would allow for better code reusability and maintainability.
Additional context
This feature request is in response to the growing demand for integrating Casbin into IoT devices and other embedded systems running RTOS. By porting Casbin-CPP to RTOS, we can expand the library's applicability and make it a more versatile solution for access control and authorization in various contexts.
- 主要言語
- C++
- スター
- 257
- フォーク
- 67
- 平均マージ
- 10時間 23分
- マージ済み PR(30日)
- 1
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
apache/casbin-cpp のほかの issue
-
ci: automated PR performance benchmark comparison再び着手できるかも @knyk-dev が 297 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンenhancement
apache/casbin-cpp#266 · 担当者 1 名 ·
-
Use the same performance benchmark tests for all languages再び着手できるかも @hsluoyz が 1574 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンenhancement
apache/casbin-cpp#207 · コメント 3 件 · 担当者 1 名 ·
-
Benchmarking pycasbin's performance to compare it with Python's casbin implementation再び着手できるかも @hsluoyz が 1746 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンenhancement
apache/casbin-cpp#181 · コメント 1 件 · 担当者 1 名 ·
-
Make an authorization middleware for Envoy based on Casbin再び着手できるかも @hsluoyz が 1949 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンenhancement
apache/casbin-cpp#115 · コメント 1 件 · 担当者 1 名 ·
-
Integrate with Glewlwyd再び着手できるかも @hsluoyz が 1989 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンenhancement
apache/casbin-cpp#100 · コメント 19 件 · リアクション 1 件 · 担当者 1 名 ·
apache/casbin-cpp の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
jellyfin/jellyfin-desktop#1290 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
godotengine/godot#125035 ·
メンテナーはふだん 1 日以内に返信
-
agent:WSL bug LOW security
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
mgradwohl/tasksmack#3290 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
mw00/project-maya#743 ·
メンテナーはふだん 1 日以内に返信
-
ENABLE_CUTE_DSL=OFF does not compile: runPadding stub does not match its declaration対応中かも @akhil9tiet が今日担当しました。 オープンbug
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
NVIDIA/TensorRT-Edge-LLM#268 · コメント 2 件 ·
メンテナーはふだん 3 日以内に返信