Буферизация NSOutputStream использовала в качестве NSInputStream?

У меня есть этот потребительский класс, который берет NSInputStream в качестве аргумента, который будет обработан асинхронный, и я хочу продвинуть данные, которые прибывают из класса производителя, который требует, чтобы этому обеспечили NSOutputStream как его выходной источник. Теперь, как я мог настроить буферизацию (или прозрачный) поток, который действует как поток вывода для производителя, и в то же время как NSInputStream для моего потребительского класса?

Я немного посмотрел на NSOutputStream +outputStreamToMemory и +outputStreamToBuffer:capacity: но действительно не выяснили, как использовать его в качестве входа для NSInputSource.

У меня была некоторая идея настроить класс посредника, который содержит фактический буфер, затем создавая два подкласса (один для каждого NSInput/OutputStream), который содержит ссылку на этот класс буферизации, и наличие этих подклассов делегирует большинство вызовов к тому классу, например, производит методы подклассов hasSpaceAvailable, write:maxLength: и для входа, hasBytesAvailable, read:maxLength: и т.д.

Ценятся любые подсказки относительно того, как приблизиться к этой ситуации.Спасибо.

14
задан cahlbin 10 July 2010 в 22:19
поделиться