CX Framework
Cross-platform C utility framework
Loading...
Searching...
No Matches
bufring.h File Reference

Ring buffer implementation for efficient streaming I/O. More...

#include <cx/cx.h>
#include "cx/buffer/buffer.h"
#include "cx/utils/compare.h"

Go to the source code of this file.

Typedefs

typedef bool(* bufringZCCB) (const uint8 *buf, size_t bytes, void *ctx)
 
typedef size_t(* bufringFeedCB) (uint8 *buf, size_t maxbytes, void *ctx)
 

Functions

void bufringInit (BufRing *ring, size_t segsz)
 
size_t bufringRead (BufRing *ring, uint8 *buf, size_t bytes)
 
size_t bufringReadBuf (BufRing *ring, Buffer buf, size_t maxbytes)
 
size_t bufringPeek (BufRing *ring, uint8 *buf, size_t off, size_t bytes)
 
size_t bufringPeekBuf (BufRing *ring, Buffer buf, size_t off, size_t maxbytes)
 
size_t bufringSkip (BufRing *ring, size_t bytes)
 
size_t bufringReadZC (BufRing *ring, size_t bytes, bufringZCCB cb, void *ctx)
 
void bufringWrite (BufRing *ring, const uint8 *buf, size_t bytes)
 
void bufringWriteBuf (BufRing *ring, Buffer buf)
 
void bufringWriteZC (BufRing *ring, Buffer *buf)
 
size_t bufringWriteSpace (BufRing *ring)
 
size_t bufringFeed (BufRing *ring, bufringFeedCB feed, size_t bytes, void *ctx)
 
void bufringDestroy (BufRing *ring)
 

Detailed Description

Ring buffer implementation for efficient streaming I/O.

Definition in file bufring.h.