軽量リングバッファマネージャー
ライブラリは、一般的なFIFOリングバッファーの実装を提供します。
最初に読む:ドキュメント
特徴
- c(c11)で記述され、サイズデータ型の
size_tと互換性があります - プラットフォーム独立したデフォルトコード - 小さいCPUアーキテクチャの制限付き(
< sizeof(size_t) ) - FIFO(最初のアウトで最初)バッファー実装
- 動的メモリの割り当てはありません、データは静的配列です
- ループの代わりに最適化されたメモリコピーを使用して、メモリからデータを読み取り/書き込みます
- シングル書き込みおよび単一の読み取りエントリを備えたパイプとして使用する場合は安全でした -
size_tのCPU読み取り/書き込み操作は単一命令です(たとえばARM Cortex -M) - シングル書き込みおよび単一の読み取りエントリを備えたパイプとして使用される場合は安全でした -
size_tのCPU読み取り/書き込み操作は単一命令です(たとえばARM Cortex -M) -
sizeof(size_t) (たとえばAVR)よりも小さいアーキテクチャを持つCPUシステムの場合、バッファーの読み取り操作には原子保護が必要です - バッファーとアプリケーションメモリ間の間のゼロコピーオーバーヘッドを使用して、メモリからのDMA転送に適しています
- データのピーク、読み取りのためにスキップ、書き込みの前進をサポートします
- イベント通知のサポートを実装します
- ユーザーフレンドリーなMITライセンス
貢献する
新たな貢献はいつでも大歓迎です。続行する簡単な指示:
- Fork GitHubリポジトリ
- プロジェクトですでに使用されているCスタイルとコーディングルールに従ってください
- 新機能またはバグ修正を備えたブランチを開発するためのプル要求を作成する
または、次のことができます。
- バグを報告します
- 機能リクエストを求めてください