    001package org.eclipse.january.io;
    002
    003import java.io.IOException;
    004
    005import org.eclipse.january.IMonitor;
    006import org.eclipse.january.dataset.IDataset;
    007import org.eclipse.january.dataset.SliceND;
    008
    009/**
    010 * Used by lazy writeable datasets to write slices to a file in an asynchronous manner
    011 */
    012public interface ILazyAsyncSaver extends ILazySaver {
    013
    014        /**
    015         * Non-blocking version of {@link #setSlice(IMonitor, IDataset, SliceND)}
    016         * @param mon can be null
    017         * @param data to use
    018         * @param slice destination where to set with items of data
    019         * @throws IOException when cannot write data
    020         */
    021        public void setSliceAsync(IMonitor mon, IDataset data, SliceND slice) throws IOException;
    022}