aeron

Message fragmentation in Aeron Messaging


  1. When a large message has to be fragmented because its size is greater than MTU size, does the fragmentation happen when placing the message on the logbuffer?

  2. if yes and a large message is broken up into 3 fragments, the 1st fragment's header will have a flag 'B', the 2nd fragment wont have any flag for fragment position and the 3rd/final fragment's header will a flag 'E'.. When these fragments are sent to the subscriber, if the fragments are delivered out of order, for example if fragment 2 is delivered, how will aeron determine that a fragment has been received and not a complete message?


Solution

  • Fragmentation happens on append to the log buffer and order is preserved. Fragments are NOT delivered out-of-order to the subscriber. The log buffer is rebuilt in order and can handle loss, duplicates, and out-of-order receives.