Thanks a lot Martin ... exactly what i needed !
I have more questions if can please you explain )))
1) in [1] what's the point of aligning the memory ?
2) Is the Aeron term appender log supposed to be consumed by a single core per log to be cache optimized ? if all message types in the buffer are handled by any core then i will introduce branch mis-predction since the first thing i have to do for each message is check what type of message it is before handling it. If i decide to handle one message type per core i will not be cache optimized since the cpu will keep jumping ahead in memory. Or Is the idea to create one log per message type then and process them all in batches from a single core at a time ?
3) Why is zeroing the non active buffer important if each block is overwriting the previously stored data with new framed based blocks ?