- final int length = Integer.valueOf(content.substring(lengthIdx, messageIdx));
- final int messageEndIdx = idx + length * 2;
+ final List<byte[]> messages = Lists.newLinkedList();
+ int idx = content.indexOf(LENGTH, 0);
+ while (idx > -1) {
+ // next chars are final length, ending with '.'
+ final int lengthIdx = idx + LENGTH.length();
+ final int messageIdx = content.indexOf('.', lengthIdx);
+ final int length = Integer.parseInt(content.substring(lengthIdx, messageIdx));
+ // dot
+ final int messageEndIdx = messageIdx + (length * 2) + 1;