public abstract class AbstractQueueOfExecutables extends Object implements QueueOfExecutables
QueueOfExecutables.ExecutableData
Modifier | Constructor and Description |
---|---|
protected |
AbstractQueueOfExecutables(com.google.common.base.Function<CommonContext,com.google.common.base.Optional<Collection<BuildAgent>>> executorCalculator,
CommonContextMap map) |
Modifier and Type | Method and Description |
---|---|
void |
enqueue(CommonContext context)
Adds a new executable to store.
|
com.google.common.collect.ImmutableList<QueueOfExecutables.ExecutableData> |
executablesForAgent(long agentId)
Returns executables available for an agent.
|
CommonContext |
get(ResultKey resultKey)
Retrieves an executable with given key from storage.
|
CommonContext |
inflight(ResultKey resultKey)
Called when a given executable is en route to agent.
|
void |
recalculateExecutors()
Recalculates executors for all executables - until then, any information about executor-executable
mapping should be considered to be invalid.
|
void |
recalculateExecutors(Set<Key> keys)
Recalculates executors for a given plan - until then, any information about executor-executable
mapping for this plan should be considered to be invalid.
|
CommonContext |
remove(ResultKey resultKey)
Called when an executable should be removed from the queue.
|
int |
size()
Returns the amount of executables in queue (not counting executables in flight)
|
protected AbstractQueueOfExecutables(com.google.common.base.Function<CommonContext,com.google.common.base.Optional<Collection<BuildAgent>>> executorCalculator, CommonContextMap map)
@Nullable public CommonContext inflight(@NotNull ResultKey resultKey)
QueueOfExecutables
inflight
in interface QueueOfExecutables
@Nullable public CommonContext remove(@NotNull ResultKey resultKey)
QueueOfExecutables
remove
in interface QueueOfExecutables
public void enqueue(@NotNull CommonContext context)
QueueOfExecutables
enqueue
in interface QueueOfExecutables
@NotNull public com.google.common.collect.ImmutableList<QueueOfExecutables.ExecutableData> executablesForAgent(long agentId)
QueueOfExecutables
executablesForAgent
in interface QueueOfExecutables
public void recalculateExecutors()
QueueOfExecutables
recalculateExecutors
in interface QueueOfExecutables
public int size()
QueueOfExecutables
size
in interface QueueOfExecutables
public void recalculateExecutors(@NotNull Set<Key> keys)
QueueOfExecutables
recalculateExecutors
in interface QueueOfExecutables
keys
- the keys to invalidate@Nullable public CommonContext get(@NotNull ResultKey resultKey)
QueueOfExecutables
get
in interface QueueOfExecutables
Copyright © 2017 Atlassian Software Systems Pty Ltd. All rights reserved.