LMMS
Loading...
Searching...
No Matches
rtosc::ThreadLink Class Reference

#include <thread-link.h>

Public Member Functions

 ThreadLink (size_t max_message_length, size_t max_messages)
 ~ThreadLink (void)
void write (const char *dest, const char *args,...)
void writeArray (const char *dest, const char *args, const rtosc_arg_t *aargs)
void raw_write (const char *msg)
bool hasNext (void) const
msg_t read (void)
msg_t peak (void) const
char * buffer (void)
size_t buffer_size (void) const

Private Attributes

const size_t MaxMsg
const size_t BufferSize
char * write_buffer
char * read_buffer
struct internal_ringbuffer_tring

Detailed Description

ThreadLink - A simple wrapper around jack's ringbuffers desinged to make sending messages via rt-osc trivial. This class provides the basics of reading and writing events via fixed sized buffers, which can be specified at compile time.

Constructor & Destructor Documentation

◆ ThreadLink()

rtosc::ThreadLink::ThreadLink ( size_t max_message_length,
size_t max_messages )

◆ ~ThreadLink()

rtosc::ThreadLink::~ThreadLink ( void )

Member Function Documentation

◆ buffer()

char * rtosc::ThreadLink::buffer ( void )

Raw write buffer access for more complicated task

◆ buffer_size()

size_t rtosc::ThreadLink::buffer_size ( void ) const

Access to write buffer length

◆ hasNext()

bool rtosc::ThreadLink::hasNext ( void ) const
Returns
true iff there is another message to be read in the buffer

◆ peak()

msg_t rtosc::ThreadLink::peak ( void ) const

Peak at last message read without reading another

◆ raw_write()

void rtosc::ThreadLink::raw_write ( const char * msg)

Directly write message to ringbuffer

◆ read()

msg_t rtosc::ThreadLink::read ( void )

Read a new message from the ringbuffer

◆ write()

void rtosc::ThreadLink::write ( const char * dest,
const char * args,
... )

Write message to ringbuffer

See also
rtosc_message()

◆ writeArray()

void rtosc::ThreadLink::writeArray ( const char * dest,
const char * args,
const rtosc_arg_t * aargs )

Write an arary of arguments to ringbuffer

See also
rtosc_amessage()

Member Data Documentation

◆ BufferSize

const size_t rtosc::ThreadLink::BufferSize
private

◆ MaxMsg

const size_t rtosc::ThreadLink::MaxMsg
private

◆ read_buffer

char* rtosc::ThreadLink::read_buffer
private

◆ ring

struct internal_ringbuffer_t* rtosc::ThreadLink::ring
private

◆ write_buffer

char* rtosc::ThreadLink::write_buffer
private

The documentation for this class was generated from the following files: