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

Packages that use TopologyDetails
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.priority
org.apache.storm.scheduler.resource.strategies.scheduling
org.apache.storm.scheduler.resource.strategies.scheduling.sorter

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

  Constructors in org.apache.storm.daemon.nimbus with parameters of type TopologyDetails
  Modifier
  Constructor
  Description
  ``
  `TopologyResources(TopologyDetails td, Assignment assignment)`
  ``
  `TopologyResources(TopologyDetails td, SchedulerAssignment assignment)`

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

  Methods in org.apache.storm.scheduler that return TopologyDetails
  Modifier and Type
  Method
  Description
  `TopologyDetails`
  Topologies.`getById(String topologyId)`
  Get a topology given an ID.
  `TopologyDetails`
  Topologies.`getByName(String topologyName)`
  Get a topology given a topology name.
  Methods in org.apache.storm.scheduler that return types with arguments of type TopologyDetails
  Modifier and Type
  Method
  Description
  `Collection<TopologyDetails>`
  Topologies.`getTopologies()`
  `Collection<TopologyDetails>`
  Topologies.`getTopologiesOwnedBy(String user)`
  Get all topologies submitted/owned by a given user.
  `Iterator<TopologyDetails>`
  Topologies.`iterator()`
  `List<TopologyDetails>`
  Cluster.`needsSchedulingTopologies()`
  `List<TopologyDetails>`
  ISchedulingState.`needsSchedulingTopologies()`
  Get all of the topologies that need scheduling.
  Methods in org.apache.storm.scheduler with parameters of type TopologyDetails
  Modifier and Type
  Method
  Description
  `int`
  Cluster.`getAssignedNumWorkers(TopologyDetails topology)`
  `int`
  ISchedulingState.`getAssignedNumWorkers(TopologyDetails topology)`
  Get the number of workers assigned to a topology.
  `Map<String,List<ExecutorDetails>>`
  Cluster.`getNeedsSchedulingComponentToExecutors(TopologyDetails topology)`
  `Map<String,List<ExecutorDetails>>`
  ISchedulingState.`getNeedsSchedulingComponentToExecutors(TopologyDetails topology)`
  Get the component name to executor list for executors that need to be scheduled.
  `Map<ExecutorDetails,String>`
  Cluster.`getNeedsSchedulingExecutorToComponents(TopologyDetails topology)`
  `Map<ExecutorDetails,String>`
  ISchedulingState.`getNeedsSchedulingExecutorToComponents(TopologyDetails topology)`
  Get the executor to component name map for executors that need to be scheduled.
  `Collection<ExecutorDetails>`
  Cluster.`getUnassignedExecutors(TopologyDetails topology)`
  `Collection<ExecutorDetails>`
  ISchedulingState.`getUnassignedExecutors(TopologyDetails topology)`
  get the unassigned executors of the topology.
  `boolean`
  Cluster.`needsScheduling(TopologyDetails topology)`
  `boolean`
  ISchedulingState.`needsScheduling(TopologyDetails topology)`
  Does the topology need scheduling.
  `boolean`
  Cluster.`needsSchedulingRas(TopologyDetails topology)`
  `boolean`
  ISchedulingState.`needsSchedulingRas(TopologyDetails topology)`
  Like `ISchedulingState.needsScheduling(TopologyDetails)` but does not take into account the number of workers requested.
  `void`
  Cluster.`setStatus(TopologyDetails td, String statusMessage)`
  set scheduler status for a topology.
  `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.
  Constructors in org.apache.storm.scheduler with parameters of type TopologyDetails
  Modifier
  Constructor
  Description
  ``
  `Topologies(TopologyDetails... details)`
  Create a new Topologies from a list of TopologyDetails.
  Constructor parameters in org.apache.storm.scheduler with type arguments of type TopologyDetails
  Modifier
  Constructor
  Description
  ``
  `Topologies(Map<String,TopologyDetails> topologies)`
  Create a new Topologies from a map of id to topology.

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

  Methods in org.apache.storm.scheduler.multitenant with parameters of type TopologyDetails
  Modifier and Type
  Method
  Description
  `void`
  DefaultPool.`addTopology(TopologyDetails td)`
  `void`
  FreePool.`addTopology(TopologyDetails td)`
  `void`
  IsolatedPool.`addTopology(TopologyDetails td)`
  `abstract void`
  NodePool.`addTopology(TopologyDetails td)`
  Add a topology to the pool.
  `boolean`
  DefaultPool.`canAdd(TopologyDetails td)`
  `boolean`
  FreePool.`canAdd(TopologyDetails td)`
  `boolean`
  IsolatedPool.`canAdd(TopologyDetails td)`
  `abstract boolean`
  NodePool.`canAdd(TopologyDetails td)`
  Check if this topology can be added to this pool.
  Constructors in org.apache.storm.scheduler.multitenant with parameters of type TopologyDetails
  Modifier
  Constructor
  Description
  ``
  `RoundRobinSlotScheduler(TopologyDetails td, int slotsToUse, Cluster cluster)`
  Create a new scheduler for a given topology.

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

  Methods in org.apache.storm.scheduler.resource that return TopologyDetails
  Modifier and Type
  Method
  Description
  `TopologyDetails`
  User.`getNextTopologyToSchedule(ISchedulingState cluster)`
  `TopologyDetails`
  User.`getRunningTopologyWithLowestPriority(ISchedulingState cluster)`
  Methods in org.apache.storm.scheduler.resource that return types with arguments of type TopologyDetails
  Modifier and Type
  Method
  Description
  `TreeSet<TopologyDetails>`
  User.`getPendingTopologies(ISchedulingState cluster)`
  `TreeSet<TopologyDetails>`
  User.`getRunningTopologies(ISchedulingState cluster)`
  Methods in org.apache.storm.scheduler.resource with parameters of type TopologyDetails
  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.
  `boolean`
  RasNode.`couldEverFit(ExecutorDetails exec, TopologyDetails td)`
  Is there any possibility that exec could ever fit on this node.
  `void`
  RasNode.`freeSingleExecutor(ExecutorDetails exec, TopologyDetails topo)`
  frees a single executor.
  `void`
  User.`markTopoUnsuccess(TopologyDetails topo)`
  `void`
  User.`markTopoUnsuccess(TopologyDetails topo, Cluster cluster, String msg)`
  `boolean`
  RasNode.`wouldFit(WorkerSlot ws, ExecutorDetails exec, TopologyDetails td)`
  Would scheduling exec in ws fit with the current resource constraints.

- ## Uses of TopologyDetails in org.apache.storm.scheduler.resource.strategies.priority

  Fields in org.apache.storm.scheduler.resource.strategies.priority with type parameters of type TopologyDetails
  Modifier and Type
  Field
  Description
  `protected final LinkedList<TopologyDetails>`
  DefaultSchedulingPriorityStrategy.SimulatedUser.`tds`
  Methods in org.apache.storm.scheduler.resource.strategies.priority that return TopologyDetails
  Modifier and Type
  Method
  Description
  `TopologyDetails`
  DefaultSchedulingPriorityStrategy.SimulatedUser.`getNextHighest()`
  `TopologyDetails`
  DefaultSchedulingPriorityStrategy.SimulatedUser.`simScheduleNextHighest()`
  `TopologyDetails`
  GenericResourceAwareSchedulingPriorityStrategy.GrasSimulatedUser.`simScheduleNextHighest()`
  Methods in org.apache.storm.scheduler.resource.strategies.priority that return types with arguments of type TopologyDetails
  Modifier and Type
  Method
  Description
  `List<TopologyDetails>`
  DefaultSchedulingPriorityStrategy.`getOrderedTopologies(ISchedulingState cluster, Map<String,User> userMap)`
  `List<TopologyDetails>`
  GenericResourceAwareSchedulingPriorityStrategy.`getOrderedTopologies(ISchedulingState cluster, Map<String,User> userMap)`
  `List<TopologyDetails>`
  ISchedulingPriorityStrategy.`getOrderedTopologies(ISchedulingState schedulingState, Map<String,User> userMap)`
  Prioritize the list of all topologies in the cluster.
  Methods in org.apache.storm.scheduler.resource.strategies.priority with parameters of type TopologyDetails
  Modifier and Type
  Method
  Description
  `protected double`
  DefaultSchedulingPriorityStrategy.SimulatedUser.`getScore(double availableCpu, double availableMemory, TopologyDetails td)`
  Get a score for the simulated user.
  `protected double`
  GenericResourceAwareSchedulingPriorityStrategy.GrasSimulatedUser.`getScore(double availableCpu, double availableMemory, Map<String,Double> availableGenericResources, TopologyDetails td)`
  Get a score for the simulated user.

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

  Fields in org.apache.storm.scheduler.resource.strategies.scheduling declared as TopologyDetails
  Modifier and Type
  Field
  Description
  `protected TopologyDetails`
  BaseResourceAwareStrategy.`topologyDetails`
  Methods in org.apache.storm.scheduler.resource.strategies.scheduling with parameters of type TopologyDetails
  Modifier and Type
  Method
  Description
  `protected void`
  BaseResourceAwareStrategy.`prepareForScheduling(Cluster cluster, TopologyDetails topologyDetails)`
  Initialize instance variables as the first step in `BaseResourceAwareStrategy.schedule(Cluster, TopologyDetails)`.
  `protected void`
  ConstraintSolverStrategy.`prepareForScheduling(Cluster cluster, TopologyDetails topologyDetails)`
  `SchedulingResult`
  BaseResourceAwareStrategy.`schedule(Cluster cluster, TopologyDetails td)`
  Note that this method is not thread-safe.
  `SchedulingResult`
  IStrategy.`schedule(Cluster schedulingState, TopologyDetails td)`
  This method is invoked to calculate a scheduling for topology td.
  `static boolean`
  ConstraintSolverStrategy.`validateSolution(Cluster cluster, TopologyDetails topo)`
  Determines if a scheduling is valid and all constraints are satisfied (for use in testing).
  Constructors in org.apache.storm.scheduler.resource.strategies.scheduling with parameters of type TopologyDetails
  Modifier
  Constructor
  Description
  ``
  `ConstraintSolverConfig(TopologyDetails topo)`
  ``
  `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)`

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

  Fields in org.apache.storm.scheduler.resource.strategies.scheduling.sorter declared as TopologyDetails
  Modifier and Type
  Field
  Description
  `protected TopologyDetails`
  ExecSorterByConnectionCount.`topologyDetails`
  `protected TopologyDetails`
  ExecSorterByProximity.`topologyDetails`
  `protected TopologyDetails`
  NodeSorter.`topologyDetails`
  `protected TopologyDetails`
  NodeSorterHostProximity.`topologyDetails`
  Constructors in org.apache.storm.scheduler.resource.strategies.scheduling.sorter with parameters of type TopologyDetails
  Modifier
  Constructor
  Description
  ``
  `ExecSorterByConnectionCount(TopologyDetails topologyDetails)`
  ``
  `ExecSorterByConstraintSeverity(Cluster cluster, TopologyDetails topologyDetails)`
  ``
  `ExecSorterByProximity(TopologyDetails topologyDetails)`
  ``
  `NodeSorter(Cluster cluster, TopologyDetails topologyDetails, BaseResourceAwareStrategy.NodeSortType nodeSortType)`
  Initialize for the default implementation node sorting.
  ``
  `NodeSorterHostProximity(Cluster cluster, TopologyDetails topologyDetails)`
  ``
  `NodeSorterHostProximity(Cluster cluster, TopologyDetails topologyDetails, BaseResourceAwareStrategy.NodeSortType nodeSortType)`
  Initialize for the default implementation node sorting.