Skip to content

A Single File Lock-Free Ring Buffer Implementation In C

Notifications You must be signed in to change notification settings

friedhar/cingbuffer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Single File Lock-Free Ring Buffer Implementation In C

cingbuffer is a "copy-and-paste" ring buffer impl for c programs. it is lock free, and utilizes atomics for optimal performance.

The code is intentionally "minimalistic" and small, at under 100 LOC.

#include "cingbuffer.h"
#include <stdio.h>
#include <stdlib.h>

int main() {
    RingBuffer* rb;
    rb = RingBuffeer_new(1024);

    RingBuffer_write(rb, "aa", 2);

    char* data = malloc(2 * sizeof(char));
    RingBuffer_read(rb, data, 2);

    printf("read: %s\n", data);

    RingBuffer_free(rb);
}

About

A Single File Lock-Free Ring Buffer Implementation In C

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages