Como ler arquivos intercalados simultaneamente usando extensões reativas

Eu sou novo para as extensões reativas e gostaria de usá-lo (em c #) para ler um arquivo que contém vários fluxos que são intercalados. Basicamente, o arquivo está no formatoABCDABCDABCD.... Eu preferiria ler o arquivo sequencialmente e separar os fluxos (ieAAA.., BBB.., etc.) e processa cada fluxo em paralelo, usando encadeamentos separados para cada fluxo.

Terá de haver alguma forma de armazenamento em buffer para garantir que cada fluxo possa permanecer ocupado o máximo possível (dentro dos limites, é claro). Nem todos os fluxos começam ao mesmo tempo, necessariamente, e nesse caso um número de elementos deve ser ignorado para os fluxos atrasados. Nesse caso, o buffering pode preencher a lacuna.

Os elementos no arquivo são pequenos (4 bytes), então é bastante tagarela. Portanto, também estou procurando uma maneira de lidar com isso de forma eficiente.

Comecei criando um enumerável para ler o arquivo. Isso poderia ser feito para fornecer uma estrutura que contenha o ID do fluxo, ou os fluxos poderiam ser separados com base na ordem (número do elemento número de módulos do fluxo). O mais tardio é provavelmente mais eficiente.

questionAnswers(2)

yourAnswerToTheQuestion