public class PlanExecutionLaunchControlImpl extends Object implements PlanExecutionLaunchControl
| Modifier and Type | Class and Description |
|---|---|
protected static class |
PlanExecutionLaunchControlImpl.ExecutionRequestEntry |
protected static class |
PlanExecutionLaunchControlImpl.PerRepositoryQueues |
protected static class |
PlanExecutionLaunchControlImpl.PerTriggerableMemory |
PlanExecutionLaunchControl.ReleaseLocksActionsNO_OP_RELEASE_LOCKS_ACTION| Constructor and Description |
|---|
PlanExecutionLaunchControlImpl() |
| Modifier and Type | Method and Description |
|---|---|
void |
clear()
Clears the whole internal state of the launch control object by removing the tracking of currently acquired locks.
|
protected PlanExecutionLaunchControl.ReleaseLocksActions |
createReleaseLocksObject(@NotNull Set<Long> lockedRepositoriesIds) |
protected void |
releaseLock(@NotNull Long repositoryId) |
void |
schedule(@NotNull TriggerableInternalKey triggerableInternalKey,
@Nullable BuildDetectionAction buildDetectionAction,
@NotNull Consumer<PlanExecutionLaunchControl.ReleaseLocksActions> runnableBody)
Scheduling the
TriggerableInternalKey to execute. |
protected boolean |
shouldBeRunImmediately(@Nullable BuildDetectionAction buildDetectionAction) |
public void schedule(@NotNull
@NotNull TriggerableInternalKey triggerableInternalKey,
@Nullable
@Nullable BuildDetectionAction buildDetectionAction,
@NotNull
@NotNull Consumer<PlanExecutionLaunchControl.ReleaseLocksActions> runnableBody)
PlanExecutionLaunchControlTriggerableInternalKey to execute. The launch control will execute the request
once it is the most effective. All scheduled actions will be eventually executed.schedule in interface PlanExecutionLaunchControltriggerableInternalKey - key of the triggerable that asked for executionbuildDetectionAction - action in which context the execution will be maderunnableBody - the side effect that will be executed once the launch control decides it is the best time to do sopublic void clear()
PlanExecutionLaunchControlclear in interface PlanExecutionLaunchControlprotected void releaseLock(@NotNull
@NotNull Long repositoryId)
protected boolean shouldBeRunImmediately(@Nullable
@Nullable BuildDetectionAction buildDetectionAction)
protected PlanExecutionLaunchControl.ReleaseLocksActions createReleaseLocksObject(@NotNull @NotNull Set<Long> lockedRepositoriesIds)
Copyright © 2023 Atlassian Software Systems Pty Ltd. All rights reserved.