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); })); }