class RemoteInputChannel extends InputChannel {

	void retriggerSubpartitionRequest(int subpartitionIndex) throws IOException, InterruptedException {
		checkState(partitionRequestClient != null, "Missing initial subpartition request.");

		if (increaseBackoff()) {
			partitionRequestClient.requestSubpartition(
					partitionId, subpartitionIndex, this, getCurrentBackoff());
		}
		else {
			failPartitionRequest();
		}
	}

	public  RemoteInputChannel(
			SingleInputGate inputGate,
			int channelIndex,
			ResultPartitionID partitionId,
			ConnectionID connectionId,
			ConnectionManager connectionManager);
	public  RemoteInputChannel(
			SingleInputGate inputGate,
			int channelIndex,
			ResultPartitionID partitionId,
			ConnectionID connectionId,
			ConnectionManager connectionManager,
			Tuple2<Integer, Integer> initialAndMaxBackoff);

}