Ya veo. Entonces permíteme hacer una mejor sugerencia. Implementa un Buffer circular.
Deberás estar recibiendo datos continuamente, ya no interrumpas ese proceso. El buffer circular te dará chance de no perder datos, de saber qué tanto has recibido, de tener el apuntador al último dato leído, de dar de baja datos, etc.
Creo que es la solución más sensata. Deberás tener un buffer circular de un tamaño que acepte al menos unos 5 paquetes del mayor tamaño (sean 50 bytes por paquete por ejemplo).
Saludos.