Ejemplo n.º 1
0
 ToDynamicFrameSubject(this Socket socket, ISimpleFrameEncoder encoder, IDynamicFrameDecoder decoder,
                       SyncBufManager bufferManager, CancellationToken token)
 {
     return(Subject.Create <DisposableValue <ArraySegment <byte> >, DisposableValue <ArraySegment <byte> > >(
                socket.ToFrameClientObserver(encoder, token, bufferManager),
                socket.ToDynamicFrameObservable(bufferManager, decoder)));
 }
 ToFrameClientSubject(this Socket socket, ISimpleFrameEncoder encoder, ISimpleFrameDecoder decoder,
                      BufferManager bufferManager, CancellationToken token)
 {
     return(Subject.Create(socket.ToFrameClientObserver(encoder, token),
                           socket.ToFrameClientObservable(bufferManager, decoder)));
 }
 public static IObserver <DisposableValue <ArraySegment <byte> > > ToFrameClientObserver(this Socket socket,
                                                                                         ISimpleFrameEncoder encoder, CancellationToken token)
 {
     return(Observer.Create <DisposableValue <ArraySegment <byte> > >(async disposableBuffer =>
     {
         await socket.SendCompletelyAsync(
             encoder.EncoderSendFrame(disposableBuffer.Value),
             encoder.SendFlags, //SocketFlags.None,
             token);
     }));
 }