Buffering NSOutputStream utilizado como NSInputStream?

Tengo esta clase de consumidor que toma un NSInputStream como argumento que se procesará de forma asíncrona, y quiero enviar datos que provienen de una clase de productor que requiere que tenga un NSOutputStream proporcionado como fuente de salida. Ahora, ¿cómo podría configurar una secuencia de almacenamiento en búfer (o transparente) que actúe como la secuencia de salida para el productor y al mismo tiempo que NSInputStream para mi clase de consumidor?

He examinado un poco el NSOutputStream + outputStreamToMemory y + outputStreamToBuffer: capacidad: pero realmente no he descubierto cómo usarlo como entrada para un NSInputSource.

Tuve una idea de configurar una clase de intermediario que contiene el búfer real, luego crear dos subclases (una para cada NSInput / OutputStream) que contiene una referencia a esta clase de búfer, y hacer que estas subclases deleguen la mayoría de las llamadas a esa clase, por ejemplo, métodos de subclase de salida hasSpaceAvailable, escriba: maxLength :, y para la entrada, hasBytesAvailable, lea: maxLength: etc.

Se agradece cualquier consejo sobre cómo abordar esta situación. Gracias.

Respuestas a la pregunta(4)

Su respuesta a la pregunta