Circular buffer message passing system