Package jasima.core.simulation.generic
Class ResourceNonBlocking
- java.lang.Object
-
- jasima.core.simulation.generic.ResourceNonBlocking
-
public class ResourceNonBlocking extends Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classResourceNonBlocking.Request
-
Constructor Summary
Constructors Constructor Description ResourceNonBlocking()ResourceNonBlocking(int totalCapacity)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidacquire(int amount)booleancanAcquire(int capacity)intcapacityAvailable()intcapacityTotal()protected voidcheckFulfilment()ResourceNonBlocking.Requestget(int amount, BiConsumer<ResourceNonBlocking,ResourceNonBlocking.Request> onAvailableCallback)intgetCapacityTotal()SimulationgetSim()voidput(ResourceNonBlocking.Request req)voidrelease(int amount)voidscheduleFulfilmentCheck()voidsetCapacityTotal(int capacityTotal)voidsetSim(Simulation sim)
-
-
-
Method Detail
-
canAcquire
public boolean canAcquire(int capacity)
-
capacityAvailable
public int capacityAvailable()
-
capacityTotal
public int capacityTotal()
-
get
public ResourceNonBlocking.Request get(int amount, BiConsumer<ResourceNonBlocking,ResourceNonBlocking.Request> onAvailableCallback)
-
put
public void put(ResourceNonBlocking.Request req)
-
scheduleFulfilmentCheck
public void scheduleFulfilmentCheck()
-
checkFulfilment
protected void checkFulfilment()
-
acquire
public void acquire(int amount) throws SimProcess.MightBlock- Throws:
SimProcess.MightBlock
-
release
public void release(int amount) throws SimProcess.MightBlock- Throws:
SimProcess.MightBlock
-
getSim
public Simulation getSim()
-
setSim
public void setSim(Simulation sim)
-
getCapacityTotal
public int getCapacityTotal()
-
setCapacityTotal
public void setCapacityTotal(int capacityTotal)
-
-