Class EphemeralInstanceAllocator
- java.lang.Object
 - 
- uk.co.ractf.polaris.controller.instanceallocation.EphemeralInstanceAllocator
 
 
- 
- All Implemented Interfaces:
 InstanceAllocator
public class EphemeralInstanceAllocator extends java.lang.Object implements InstanceAllocator
 
- 
- 
Constructor Summary
Constructors Constructor Description EphemeralInstanceAllocator(ClusterState clusterState) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description uk.co.ractf.polaris.api.instance.Instanceallocate(uk.co.ractf.polaris.api.instanceallocation.InstanceRequest request)Allocate anInstanceto a user based on theAllocationrules defined in theChallenge, this should return the same instance if called multiple times with the sameInstanceRequest, unless a call toInstanceAllocator.requestNewAllocation(InstanceRequest)has been made, in which case the instance returned from here will be avoided where possible.uk.co.ractf.polaris.api.instance.InstancerequestNewAllocation(uk.co.ractf.polaris.api.instanceallocation.InstanceRequest request)Discard the currentInstanceallocation and get a new one, also add the currentlyInstanceto an avoid list so the instance allocator can avoid allocating that instance to the same user/team again. 
 - 
 
- 
- 
Constructor Detail
- 
EphemeralInstanceAllocator
public EphemeralInstanceAllocator(ClusterState clusterState)
 
 - 
 
- 
Method Detail
- 
allocate
public uk.co.ractf.polaris.api.instance.Instance allocate(uk.co.ractf.polaris.api.instanceallocation.InstanceRequest request)
Description copied from interface:InstanceAllocatorAllocate anInstanceto a user based on theAllocationrules defined in theChallenge, this should return the same instance if called multiple times with the sameInstanceRequest, unless a call toInstanceAllocator.requestNewAllocation(InstanceRequest)has been made, in which case the instance returned from here will be avoided where possible.- Specified by:
 allocatein interfaceInstanceAllocator- Parameters:
 request- the instance request- Returns:
 - the allocated instance
 
 
- 
requestNewAllocation
public uk.co.ractf.polaris.api.instance.Instance requestNewAllocation(uk.co.ractf.polaris.api.instanceallocation.InstanceRequest request)
Description copied from interface:InstanceAllocatorDiscard the currentInstanceallocation and get a new one, also add the currentlyInstanceto an avoid list so the instance allocator can avoid allocating that instance to the same user/team again.- Specified by:
 requestNewAllocationin interfaceInstanceAllocator- Parameters:
 request- the instance request to ge- Returns:
 - a new instance for the user/team
 
 
 - 
 
 -