Since we allocate them all at once, store messages in an array, not a linked list.