# Uses of Class
org.apache.storm.scheduler.WorkerSlot

Packages that use WorkerSlot
Package
Description
org.apache.storm.daemon.nimbus
org.apache.storm.scheduler
org.apache.storm.scheduler.multitenant
org.apache.storm.scheduler.resource
org.apache.storm.scheduler.resource.strategies.scheduling

- ## Uses of WorkerSlot in org.apache.storm.daemon.nimbus

  Methods in org.apache.storm.daemon.nimbus that return types with arguments of type WorkerSlot
  Modifier and Type
  Method
  Description
  `Collection<WorkerSlot>`
  Nimbus.StandaloneINimbus.`allSlotsAvailableForScheduling(Collection<SupervisorDetails> supervisors, Topologies topologies, Set<String> topologiesMissingAssignments)`
  Method parameters in org.apache.storm.daemon.nimbus with type arguments of type WorkerSlot
  Modifier and Type
  Method
  Description
  `void`
  Nimbus.StandaloneINimbus.`assignSlots(Topologies topologies, Map<String,Collection<WorkerSlot>> newSlotsByTopologyId)`

- ## Uses of WorkerSlot in org.apache.storm.scheduler

  Methods in org.apache.storm.scheduler that return types with arguments of type WorkerSlot
  Modifier and Type
  Method
  Description
  `Collection<WorkerSlot>`
  INimbus.`allSlotsAvailableForScheduling(Collection<SupervisorDetails> existingSupervisors, Topologies topologies, Set<String> topologiesMissingAssignments)`
  Returns all slots that are available for the next round of scheduling.
  `static Map<WorkerSlot,List<ExecutorDetails>>`
  EvenScheduler.`getAliveAssignedWorkerSlotExecutors(Cluster cluster, String topologyId)`
  `List<WorkerSlot>`
  Cluster.`getAssignableSlots()`
  `List<WorkerSlot>`
  Cluster.`getAssignableSlots(SupervisorDetails supervisor)`
  `List<WorkerSlot>`
  ISchedulingState.`getAssignableSlots()`
  Get all non-blacklisted slots in the cluster.
  `List<WorkerSlot>`
  ISchedulingState.`getAssignableSlots(SupervisorDetails supervisor)`
  Return all non-blacklisted slots on this supervisor.
  `List<WorkerSlot>`
  Cluster.`getAvailableSlots()`
  `List<WorkerSlot>`
  Cluster.`getAvailableSlots(SupervisorDetails supervisor)`
  `List<WorkerSlot>`
  ISchedulingState.`getAvailableSlots()`
  Get all the available worker slots in the cluster.
  `List<WorkerSlot>`
  ISchedulingState.`getAvailableSlots(SupervisorDetails supervisor)`
  Return all the available slots on this supervisor.
  `Map<ExecutorDetails,WorkerSlot>`
  SchedulerAssignment.`getExecutorToSlot()`
  Get the map of executor to WorkerSlot.
  `Map<ExecutorDetails,WorkerSlot>`
  SchedulerAssignmentImpl.`getExecutorToSlot()`
  `List<WorkerSlot>`
  Cluster.`getNonBlacklistedAvailableSlots(List<String> blacklistedSupervisorIds)`
  `List<WorkerSlot>`
  ISchedulingState.`getNonBlacklistedAvailableSlots(List<String> blacklistedSupervisorIds)`
  Get all the available worker slots in the cluster, that are not blacklisted.
  `Map<WorkerSlot,WorkerResources>`
  SchedulerAssignment.`getScheduledResources()`
  Get the slot to resource mapping.
  `Map<WorkerSlot,WorkerResources>`
  SchedulerAssignmentImpl.`getScheduledResources()`
  `Set<WorkerSlot>`
  SchedulerAssignment.`getSlots()`
  Get the set of all slots that are a part of this.
  `Set<WorkerSlot>`
  SchedulerAssignmentImpl.`getSlots()`
  `Map<WorkerSlot,Collection<ExecutorDetails>>`
  SchedulerAssignment.`getSlotToExecutors()`
  Get the mapping of slot to executors on that slot.
  `Map<WorkerSlot,Collection<ExecutorDetails>>`
  SchedulerAssignmentImpl.`getSlotToExecutors()`
  `Collection<WorkerSlot>`
  Cluster.`getUsedSlots()`
  `Collection<WorkerSlot>`
  ISchedulingState.`getUsedSlots()`
  Get all currently occupied slots.
  `Collection<WorkerSlot>`
  Cluster.`getUsedSlotsByTopologyId(String topologyId)`
  `Collection<WorkerSlot>`
  ISchedulingState.`getUsedSlotsByTopologyId(String topologyId)`
  get slots used by a topology.
  `Map<String,Map<WorkerSlot,WorkerResources>>`
  Cluster.`getWorkerResourcesMap()`
  `Map<String,Map<WorkerSlot,WorkerResources>>`
  ISchedulingState.`getWorkerResourcesMap()`
  Gets the reference to the full topology->worker resource map.
  `static Set<WorkerSlot>`
  DefaultScheduler.`slotsCanReassign(Cluster cluster, Set<WorkerSlot> slots)`
  `static List<WorkerSlot>`
  EvenScheduler.`sortSlots(List<WorkerSlot> availableSlots)`
  Methods in org.apache.storm.scheduler with parameters of type WorkerSlot
  Modifier and Type
  Method
  Description
  `void`
  Cluster.`assign(WorkerSlot slot, String topologyId, Collection<ExecutorDetails> executors)`
  Assign the slot to the executors for this topology.
  `void`
  SchedulerAssignmentImpl.`assign(WorkerSlot slot, Collection<ExecutorDetails> executors)`
  Deprecated.
  `void`
  SchedulerAssignmentImpl.`assign(WorkerSlot slot, Collection<ExecutorDetails> executors, WorkerResources slotResources)`
  Assign the slot to executors.
  `void`
  Cluster.`freeSlot(WorkerSlot slot)`
  Free the specified slot.
  `WorkerResources`
  Cluster.`getWorkerResources(WorkerSlot ws)`
  `WorkerResources`
  ISchedulingState.`getWorkerResources(WorkerSlot ws)`
  Get the resources for a given slot.
  `boolean`
  Cluster.`isSlotOccupied(WorkerSlot slot)`
  `boolean`
  ISchedulingState.`isSlotOccupied(WorkerSlot slot)`
  Check if a slot is occupied or not.
  `boolean`
  SchedulerAssignment.`isSlotOccupied(WorkerSlot slot)`
  Is this slot part of this assignment or not.
  `boolean`
  SchedulerAssignmentImpl.`isSlotOccupied(WorkerSlot slot)`
  `void`
  SchedulerAssignmentImpl.`unassignBySlot(WorkerSlot slot)`
  Release the slot occupied by this assignment.
  `boolean`
  Cluster.`wouldFit(WorkerSlot ws, ExecutorDetails exec, TopologyDetails td, NormalizedResourceOffer resourcesAvailable, double maxHeap)`
  `boolean`
  ISchedulingState.`wouldFit(WorkerSlot ws, ExecutorDetails exec, TopologyDetails td, NormalizedResourceOffer resourcesAvailable, double maxHeap)`
  Would scheduling exec on ws fit? With a heap <= maxHeap total memory added <= memoryAvailable and cpu added <= cpuAvailable.
  Method parameters in org.apache.storm.scheduler with type arguments of type WorkerSlot
  Modifier and Type
  Method
  Description
  `void`
  INimbus.`assignSlots(Topologies topologies, Map<String,Collection<WorkerSlot>> newSlotsByTopologyId)`
  this is called after the assignment is changed in ZK.
  `void`
  Cluster.`freeSlots(Collection<WorkerSlot> slots)`
  free the slots.
  `static Set<WorkerSlot>`
  DefaultScheduler.`slotsCanReassign(Cluster cluster, Set<WorkerSlot> slots)`
  `static List<WorkerSlot>`
  EvenScheduler.`sortSlots(List<WorkerSlot> availableSlots)`
  Constructor parameters in org.apache.storm.scheduler with type arguments of type WorkerSlot
  Modifier
  Constructor
  Description
  ``
  `SchedulerAssignmentImpl(String topologyId, Map<ExecutorDetails,WorkerSlot> executorToSlot, Map<WorkerSlot,WorkerResources> resources, Map<String,Double> nodeIdToTotalSharedOffHeap)`
  Create a new assignment.

- ## Uses of WorkerSlot in org.apache.storm.scheduler.multitenant

  Methods in org.apache.storm.scheduler.multitenant with parameters of type WorkerSlot
  Modifier and Type
  Method
  Description
  `void`
  Node.`free(WorkerSlot ws, Cluster cluster, boolean forceFree)`
  Frees a single slot in this node.

- ## Uses of WorkerSlot in org.apache.storm.scheduler.resource

  Methods in org.apache.storm.scheduler.resource that return types with arguments of type WorkerSlot
  Modifier and Type
  Method
  Description
  `Collection<WorkerSlot>`
  RasNode.`getFreeSlots()`
  `Collection<WorkerSlot>`
  RasNode.`getSlotsAvailableToScheduleOn()`
  `Collection<WorkerSlot>`
  RasNode.`getUsedSlots()`
  `Collection<WorkerSlot>`
  RasNode.`getUsedSlots(String topId)`
  Get slots used by the given topology.
  Methods in org.apache.storm.scheduler.resource with parameters of type WorkerSlot
  Modifier and Type
  Method
  Description
  `void`
  RasNode.`assign(WorkerSlot target, TopologyDetails td, Collection<ExecutorDetails> executors)`
  Assigns a worker to a node.
  `void`
  RasNode.`assignSingleExecutor(WorkerSlot ws, ExecutorDetails exec, TopologyDetails td)`
  Assign a single executor to a slot, even if other things are in the slot.
  `void`
  RasNode.`free(WorkerSlot ws)`
  Frees a single slot in this node.
  `boolean`
  RasNode.`wouldFit(WorkerSlot ws, ExecutorDetails exec, TopologyDetails td)`
  Would scheduling exec in ws fit with the current resource constraints.
  Method parameters in org.apache.storm.scheduler.resource with type arguments of type WorkerSlot
  Modifier and Type
  Method
  Description
  `void`
  RasNodes.`freeSlots(Collection<WorkerSlot> workerSlots)`
  Free everything on the given slots.
  Constructor parameters in org.apache.storm.scheduler.resource with type arguments of type WorkerSlot
  Modifier
  Constructor
  Description
  ``
  `RasNode(String nodeId, SupervisorDetails sup, Cluster cluster, Map<String,WorkerSlot> workerIdToWorker, Map<String,Map<String,Collection<ExecutorDetails>>> assignmentMap)`
  Create a new node.

- ## Uses of WorkerSlot in org.apache.storm.scheduler.resource.strategies.scheduling

  Methods in org.apache.storm.scheduler.resource.strategies.scheduling with parameters of type WorkerSlot
  Modifier and Type
  Method
  Description
  `protected int`
  BaseResourceAwareStrategy.`assignBoundAckersForNewWorkerSlot(ExecutorDetails exec, RasNode node, WorkerSlot workerSlot)`
  Determine how many bound ackers to put into the given workerSlot.
  `void`
  SchedulingSearcherState.`assignCurrentExecutor(Map<ExecutorDetails,String> execToComp, RasNode node, WorkerSlot workerSlot)`
  Attempt to assign current executor (execIndex points to) to worker and node.
  `void`
  SchedulingSearcherState.`assignSingleBoundAcker(RasNode node, WorkerSlot workerSlot)`
  Remove the head of unassigned ackers and attempt to assign it to a workerSlot as a bound acker.
  `void`
  SchedulingSearcherState.`backtrack(Map<ExecutorDetails,String> execToComp, RasNode[] nodesForExec, WorkerSlot[] workerSlotForExec)`
  Backtrack to prior executor that was directly assigned.
  `void`
  SchedulingSearcherState.`freeWorkerSlotWithBoundAckers(RasNode node, WorkerSlot workerSlot)`
  Free the bound-ackers for the given node and workerSlot.
  `Map<String,Integer>`
  SchedulingSearcherState.`getCompAssignmentCntMapForWorker(WorkerSlot workerSlot)`
  Get a map of component to count for the specified worker slot.
  `int`
  SchedulingSearcherState.`getNumOfAckersToBind(ExecutorDetails exec, WorkerSlot workerSlot)`
  Determine how many bound ackers to put in before assigning the executor to current workerSlot.
  `protected boolean`
  BaseResourceAwareStrategy.`isExecAssignmentToWorkerValid(ExecutorDetails exec, WorkerSlot worker)`
  Check if the assignment of the executor to the worker is valid.
  `protected boolean`
  ConstraintSolverStrategy.`isExecAssignmentToWorkerValid(ExecutorDetails exec, WorkerSlot worker)`
  Check if any constraints are violated if exec is scheduled on worker.
  Constructor parameters in org.apache.storm.scheduler.resource.strategies.scheduling with type arguments of type WorkerSlot
  Modifier
  Constructor
  Description
  ``
  `SchedulingSearcherState(Map<WorkerSlot,Map<String,Integer>> workerCompAssignmentCnts, Map<RasNode,Map<String,Integer>> nodeCompAssignmentCnts, int maxStatesSearched, long maxTimeMs, List<ExecutorDetails> execs, LinkedList<ExecutorDetails> unassignedAckers, TopologyDetails td, Map<ExecutorDetails,String> execToComp)`