[LAD] easiest way to serialize messages for sending over a ringbuffer?
Iain Duncan
iainduncanlists at gmail.com
Wed Dec 14 03:02:21 UTC 2011
On Tue, Dec 13, 2011 at 5:53 AM, Paul Davis <paul at linuxaudiosystems.com>wrote:
> On Mon, Dec 12, 2011 at 11:44 PM, Iain Duncan <iainduncanlists at gmail.com>
> wrote:
>
> > Yup, what I'm talking about is being able to put a data structure on to
> the
> > ring buffer. It needs be castable to a const *char, so the structure
> needs
> > a way to be converted to a string.
>
> these two statements are not related. in an awful lot of C code,
> "pointer to char" means "pointer". in newer better C code, one uses
> void*. in newer, better code than that, one doesn't use raw pointers
> much at all.
>
> are you working in C or C++ ?
>
Thanks Paul. I'm working in C++, but I'm using the jack C api, which from
the docs I see has a signature for
size_t jack_ringbuffer_write ( jack_ringbuffer_t * rb, const char * src,
size_t cnt )
My DataMessage structure is just a simple C structure for now. Is there a
recommended way of writing it to the ringbuffer given that I want to do
something like this:
void MessageQueue::push( DataMessage msg ){
// write to the ring buffer, converting DataMessage to a string
unsigned int written = jack_ringbuffer_write( mRingBuffer, (char *)
&msg , sizeof(DataMessage) );
// etc
}
Thanks
Iain
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-dev/attachments/20111213/94a09d74/attachment.html>
More information about the Linux-audio-dev
mailing list