Можно ли вводить ввод в парсер FParsec в кусках, как из сокета? Если нет, возможно ли получить текущий результат и неотделимую часть входного потока, чтобы я мог выполнить это? Я пытаюсь запустить куски ввода, поступающие с SocketAsyncEventArgs
без буферизации всего сообщения.Chunked Parsing с FParsec
Обновление
Причины отметить использование SocketAsyncEventArgs
в том, чтобы обозначить, что передача данных в CharStream
может привести к асинхронному доступу к нижележащей Stream
. В частности, я рассматриваю использование кругового буфера для ввода данных, поступающих из сокета. Я помню документацию FParsec, в которой отмечалось, что базовый Stream
не должен получать доступ к асинхронному доступу, поэтому я планировал вручную контролировать разнесенный разбор.
Конечные вопросы:
- Могу ли я использовать кольцевой буфер под моим
Stream
передаваемое вCharStream
? - Неужели мне не нужно беспокоиться о ручном контроле над блоками в этом сценарии?
FParsec работает на CharStream, поэтому ответ, вероятно, да. Тем не менее, я буду откладывать более качественные ответы (надеюсь). –