package org.kne.cloud.network.congestion;

import java.util.function.Consumer;

public interface CongestionAlgorithm {
	public void reset();
	public void setWindowControlConsumer(Consumer<Long>windowControlConsumer);
	public void putAck(long packetSize,long RTTns,boolean ecn);
	default public void putAck(long packetSize,long RTTns,long OWDup,boolean ecn) {
		putAck(packetSize,RTTns,ecn);
	}
	public void putLoss(long packetSize,long lossns,int losscounter);
	public void setCurrentWindowUsed(long maxwindow);
	public void setCurrentBandwidth(long bandwidth);
	public long getRTO();
	public String getName();
	
}
