All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.emc.mongoose.api.model.io.task.data.DataIoTask Maven / Gradle / Ivy

There is a newer version: 4.0.0-alpha5
Show newest version
package com.emc.mongoose.api.model.io.task.data;

import com.github.akurilov.commons.collection.Range;

import com.emc.mongoose.api.model.io.task.IoTask;
import com.emc.mongoose.api.model.item.DataItem;

import java.util.BitSet;
import java.util.List;

/**
 Created by kurila on 11.07.16.
 */
public interface DataIoTask
extends IoTask {
	
	@Override
	I getItem();
	
	void markRandomRanges(final int count);
	
	boolean hasMarkedRanges();
	
	long getMarkedRangesSize();
	
	BitSet[] getMarkedRangesMaskPair();
	
	List getFixedRanges();
	
	int getCurrRangeIdx();
	
	void setCurrRangeIdx(final int i);
	
	DataItem getCurrRange();
	
	DataItem getCurrRangeUpdate();

	long getCountBytesDone();

	void setCountBytesDone(long n);

	long getRespDataTimeStart();

	void startDataResponse()
	throws IllegalStateException;

	long getDataLatency();
}