@@ -184,8 +184,8 @@ async Task Respond(int stream)
184184
185185 void IRSocketProtocol . RequestStream ( in RSocketProtocol . RequestStream message , ReadOnlySequence < byte > metadata , ReadOnlySequence < byte > data )
186186 {
187- Respond ( message . Stream ) . Start ( ) ;
188- async Task Respond ( int stream )
187+ Stream ( message . Stream ) . Start ( ) ;
188+ async Task Stream ( int stream )
189189 {
190190 var source = Streamer ( ( data , metadata ) ) ; //TODO Handle Errors.
191191 var enumerator = source . GetAsyncEnumerator ( ) ;
@@ -205,36 +205,55 @@ async Task Respond(int stream)
205205 }
206206
207207
208- public Func < IAsyncEnumerable < ( ReadOnlySequence < byte > Data , ReadOnlySequence < byte > Metadata ) > , IAsyncEnumerable < ( ReadOnlySequence < byte > data , ReadOnlySequence < byte > metadata ) > > Channeler { get ; set ; } = request => throw new NotImplementedException ( ) ;
208+ //public void Channel<TSource, TResult>(IAsyncEnumerable<TSource> outgoing,
209+ // Func<TSource, (ReadOnlySequence<byte> data, ReadOnlySequence<byte> metadata)> outgoingMapper,
210+ // Func<(ReadOnlySequence<byte> data, ReadOnlySequence<byte> metadata), TResult> incomingMapper)
211+ //{
212+ // var receiver = new Receiver<TSource>(stream => Task.CompletedTask, sourceMapper);
209213
210- void IRSocketProtocol . RequestChannel ( in RSocketProtocol . RequestChannel message , ReadOnlySequence < byte > metadata , ReadOnlySequence < byte > data )
211- {
212- throw new NotImplementedException ( ) ;
213- //Respond(message.Stream).Start();
214-
215- //new Receiver<bool>()
216-
217- //new Receiver<bool>(stream => RequestFireAndForget(stream, data, metadata), _ => true).ExecuteAsync(result: true);
218- //var id = StreamDispatch(stream);
219-
220-
221- //async Task Respond(int stream)
222- //{
223- // var source = Channeler((data, metadata)); //TODO Handle Errors.
224- // var enumerator = source.GetAsyncEnumerator();
225- // try
226- // {
227- // while (await enumerator.MoveNextAsync())
228- // {
229- // var (Data, Metadata) = enumerator.Current;
230- // new RSocketProtocol.Payload(stream, Data, Metadata, next: true).Write(Transport.Output, Data, Metadata);
231- // await Transport.Output.FlushAsync();
232- // }
233- // new RSocketProtocol.Payload(stream, complete: true).Write(Transport.Output);
234- // await Transport.Output.FlushAsync();
235- // }
236- // finally { await enumerator.DisposeAsync(); }
237- //}
238- }
214+ // Channeler = request =>
215+ // (
216+ // receiver,
217+ // );
218+ //}
219+
220+
221+ //public Func<(ReadOnlySequence<byte> Data, ReadOnlySequence<byte> Metadata),
222+ // (IObservable<(ReadOnlySequence<byte> data, ReadOnlySequence<byte> metadata)> Incoming,
223+ // IAsyncEnumerable<(ReadOnlySequence<byte> data, ReadOnlySequence<byte> metadata)> Outgoing)>
224+ // Channeler { get; set; } = (request, incoming) => throw new NotImplementedException();
225+
226+ //void IRSocketProtocol.RequestChannel(in RSocketProtocol.RequestChannel message, ReadOnlySequence<byte> metadata, ReadOnlySequence<byte> data)
227+ //{
228+ // Channel(message.Stream).Start();
229+
230+ // //new Receiver<bool>()
231+
232+ // //new Receiver<bool>(stream => RequestFireAndForget(stream, data, metadata), _ => true).ExecuteAsync(result: true);
233+ // //var id = StreamDispatch(stream);
234+
235+ // async Task Channel(int stream)
236+ // {
237+ // var (Incoming, Outoing) = Channeler((data, metadata)); //TODO Handle Errors.
238+
239+
240+ // using (observable.Subscribe())
241+ // {
242+ // var enumerator = source.GetAsyncEnumerator();
243+ // try
244+ // {
245+ // while (await enumerator.MoveNextAsync())
246+ // {
247+ // var (Data, Metadata) = enumerator.Current;
248+ // new RSocketProtocol.Payload(stream, Data, Metadata, next: true).Write(Transport.Output, Data, Metadata);
249+ // await Transport.Output.FlushAsync();
250+ // }
251+ // new RSocketProtocol.Payload(stream, complete: true).Write(Transport.Output);
252+ // await Transport.Output.FlushAsync();
253+ // }
254+ // finally { await enumerator.DisposeAsync(); }
255+ // }
256+ // }
257+ //}
239258 }
240259}
0 commit comments