All Projects → hicqu → fifo-rs

hicqu / fifo-rs

Licence: other
A first-in-first-out for bytes, like kfifo in Linux.

Programming Languages

rust
11053 projects
shell
77523 projects

Projects that are alternatives of or similar to fifo-rs

go-ringbuf
Lock-free MPMC Ring Buffer (Generic) for SMP, in golang. Some posts in chinese:
Stars: ✭ 43 (+138.89%)
Mutual labels:  ring-buffer, lock-free
hatrack
Fast, multi-reader, multi-writer, lockless data structures for parallel programming
Stars: ✭ 55 (+205.56%)
Mutual labels:  ring-buffer, lock-free
kprobe-template
kprobes template
Stars: ✭ 30 (+66.67%)
Mutual labels:  ring-buffer
lfqueue
lock-free FIFO queue by C native built it, easy built cross platform(no extra dependencies needed) , guarantee thread safety memory management ever!
Stars: ✭ 104 (+477.78%)
Mutual labels:  lock-free
concurrent-ll
concurrent linked list implementation
Stars: ✭ 66 (+266.67%)
Mutual labels:  lock-free
ringbuf.js
Wait-free thread-safe single-consumer single-producer ring buffer using SharedArrayBuffer
Stars: ✭ 114 (+533.33%)
Mutual labels:  ring-buffer
RingBuffer
模仿 kfifo 实现的环形缓冲区
Stars: ✭ 64 (+255.56%)
Mutual labels:  ring-buffer
RingBuffer
Classic ringbuffer with optional Stream interface
Stars: ✭ 53 (+194.44%)
Mutual labels:  ring-buffer
LFTPool
Lock-Free Thread Pool
Stars: ✭ 69 (+283.33%)
Mutual labels:  lock-free
fcgi-function
A cross-platform module to writing C/C++ service for nginx.
Stars: ✭ 33 (+83.33%)
Mutual labels:  lock-free
Lock-free-Red-black-tree
Implementation of lock-free red-black tree using CAS
Stars: ✭ 21 (+16.67%)
Mutual labels:  lock-free
ring-channel
Bounded MPMC channel abstraction on top of a ring buffer
Stars: ✭ 24 (+33.33%)
Mutual labels:  ring-buffer
async
async is a tiny C++ header-only high-performance library for async calls handled by a thread-pool, which is built on top of an unbounded MPMC lock-free queue.
Stars: ✭ 25 (+38.89%)
Mutual labels:  lock-free
RingBuffer
A RingBuffer library for Arduino
Stars: ✭ 34 (+88.89%)
Mutual labels:  ring-buffer
gdax-orderbook-hpp
An in-memory copy of the order book on the GDAX cryptocurrency exchange, updated in real time via WebSocket feed, exposed in a thread-safe and lock-free data structure.
Stars: ✭ 38 (+111.11%)
Mutual labels:  lock-free
stm32-hal-libraries
Useful libraries for STM32 HAL
Stars: ✭ 29 (+61.11%)
Mutual labels:  ring-buffer
lockfree
⚡️ lock-free utilities in Go
Stars: ✭ 109 (+505.56%)
Mutual labels:  lock-free
optimistic lock coupling rs
🍋: A General Lock following paper "Optimistic Lock Coupling: A Scalable and Efficient General-Purpose Synchronization Method"
Stars: ✭ 21 (+16.67%)
Mutual labels:  lock-free
lock-free-queue
CN-CppUserGroup-2019-1,lock-free queue demo
Stars: ✭ 58 (+222.22%)
Mutual labels:  lock-free
zedis
A tiny embedded, lock free, redis-like, pub+sub, brokerless, key value datastore. ømq+sled
Stars: ✭ 33 (+83.33%)
Mutual labels:  lock-free

fifo

Fifo is a first-in-first-out bytes ring-buffer, like kfifo in Linux.

Build Status

API documentation

Features

  • Sender and Receiver implements Write and Read, like mpsc::channel.
  • splice style zero-copy when write into and read from the ring-buffer.
  • lock-free concurrent access between one producer and one consumer.

Usage

To use fifo, first add this to your Cargo.toml:

fifo = "0.1.*"

Then, add this to your crate root:

extern crate fifo;

Examples

Here is an example.

Contributing

For simple bug fixes, just submit a PR with the fix and we can discuss the fix directly in the PR. If the fix is more complex, start with an issue.

If you want to propose an API change, create an issue to start a discussion with the community. Also, feel free to talk with us in the IRC channel.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].