public static bool Write(this IBlockOutDevice me, IBlockInDevice source) { bool result = source.NotNull() && me.NotNull(); Collection.IVector<byte> data; while (result && !source.Empty && (data = source.Read()).NotNull() && data.Count > 0) result &= me.Write(data); return result; }
public static IBlockDevice Wrap(IBlockInDevice inDevice, IBlockOutDevice outDevice) { return inDevice.NotNull() || outDevice.NotNull() ? new BlockDeviceCombiner(inDevice, outDevice) { Wrapped = true } : null; }
public static IBlockDevice Open(IBlockInDevice inDevice, IBlockOutDevice outDevice) { return inDevice.NotNull() || outDevice.NotNull() ? new BlockDeviceCombiner(inDevice, outDevice) : null; }