public Stream Read(int stride = 1) { com.IStream comStream; FRawIn.GetData(Position, out comStream); Position += stride; if (comStream != null) { var stream = comStream as Stream; if (stream != null) { return(stream); } return(new ComAdapterStream(comStream)); } return(EmptyComStream.Instance); }
public override bool Sync() { var isChanged = IsChanged = FRawIn.PinIsChanged; if (isChanged) { var length = Length = FRawIn.SliceCount; for (int i = 0; i < length; i++) { com.IStream comStream; FRawIn.GetData(i, out comStream); this[i] = ResourceProvider.Return(Wrap(comStream)).ShareSerially().Do(s => { if (s.CanSeek) { s.Position = 0; } }); } } return(isChanged); }