Clarifying the concepts regarding message buffers and queues.
According to this response, queues are used when there are multiple readers/writers and when you want to send a fixed-sized buffer, whereas, with stream buffers, there has to be a single reader/writer unless you use mutexes and the size of the data passed doesn’t always have to be the same.
Are these points really what set each other apart? What really makes a queue not accommodate variable-sized data? Looks like queues use linked list as an underlying data structure and stream buffers dynamic arrays. Is there a high level visual for each data structure that helps understand better?
I have a “main task” that basically will have some sort of a data structure used to receive stuff from multiple other tasks, and the main task parses it, and executes functionality accordingly.