API Reference

class circbuf.ResourceManager(acquire_resource, release_resource, check_resource_ok=None)

Context manager that accepts acquisition and release functions, along with an optinal validation function.

class circbuf.CircBuf(size=4096)

An implementation of a circular buffer, derived from include/linux/circ_buf.h.

capacity
Returns:buffer length
cnt_to_end
Returns:count up to the end of the buffer
consumed(*args, **kwargs)
Parameters:cnt – consumed bytes
Returns:consumed bytes
consumer_buf
Returns:consumer buffer
Return type:memoryview
produced(*args, **kwargs)
Parameters:cnt – written bytes
Returns:written bytes
producer_buf
Returns:producer buffer
Return type:memoryview
space_avail
Returns:number of bytes available in the buffer
space_to_end
Returns:space available up to the end of the buffer
write(b)
Parameters:bbytes to bytearray to write
Returns:number of bytes written
circbuf.recv(buf, fn, *args)

Helper to read from a function which receives into buf

Parameters:
  • buf – buffer to receive into
  • fn – receive function, accepts a buffer as first argument

to read into and returns the number of bytes received :param args: arguments for fn

circbuf.seek_to_pattern(buf, pattern)

Helper to seek buf to pattern

Parameters:
  • buf – buffer to seek to pattern
  • pattern – pattern to seek to
Returns:

remaining buf length