## 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
    Constructor and 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 and 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 and 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 and 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
    Constructor and 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
    Constructor and 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 and 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
    Constructor and 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 and 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 and 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 and 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 and Description
    --- | ---
    `protected LinkedList<TopologyDetails>` | DefaultSchedulingPriorityStrategy.SimulatedUser.`tds`

    Methods in org.apache.storm.scheduler.resource.strategies.priority that return TopologyDetails
    Modifier and Type | Method and 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 and Description
    --- | ---
    `List<TopologyDetails>` | ISchedulingPriorityStrategy.`getOrderedTopologies(ISchedulingState schedulingState, Map<String,User> userMap)` Prioritize the list of all topologies in the cluster.
    `List<TopologyDetails>` | DefaultSchedulingPriorityStrategy.`getOrderedTopologies(ISchedulingState cluster, Map<String,User> userMap)`
    `List<TopologyDetails>` | GenericResourceAwareSchedulingPriorityStrategy.`getOrderedTopologies(ISchedulingState cluster, Map<String,User> userMap)`

    Methods in org.apache.storm.scheduler.resource.strategies.priority with parameters of type TopologyDetails
    Modifier and Type | Method and Description
    --- | ---
    `protected double` | GenericResourceAwareSchedulingPriorityStrategy.GrasSimulatedUser.`getScore(double availableCpu, double availableMemory, Map<String,Double> availableGenericResources, TopologyDetails td)` Get a score for the simulated user.
    `protected double` | DefaultSchedulingPriorityStrategy.SimulatedUser.`getScore(double availableCpu, double availableMemory, 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 and Description
    --- | ---
    `protected TopologyDetails` | BaseResourceAwareStrategy.`topologyDetails`

    Methods in org.apache.storm.scheduler.resource.strategies.scheduling with parameters of type TopologyDetails
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | ConstraintSolverStrategy.`prepareForScheduling(Cluster cluster, TopologyDetails topologyDetails)`
    `protected void` | BaseResourceAwareStrategy.`prepareForScheduling(Cluster cluster, TopologyDetails topologyDetails)` Initialize instance variables as the first step in `BaseResourceAwareStrategy.schedule(Cluster, TopologyDetails)`.
    `SchedulingResult` | IStrategy.`schedule(Cluster schedulingState, TopologyDetails td)` This method is invoked to calculate a scheduling for topology td.
    `SchedulingResult` | BaseResourceAwareStrategy.`schedule(Cluster cluster, TopologyDetails td)` Note that this method is not thread-safe.
    `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
    Constructor and 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 and Description
    --- | ---
    `protected TopologyDetails` | NodeSorterHostProximity.`topologyDetails`
    `protected TopologyDetails` | ExecSorterByConnectionCount.`topologyDetails`
    `protected TopologyDetails` | NodeSorter.`topologyDetails`
    `protected TopologyDetails` | ExecSorterByProximity.`topologyDetails`

    Constructors in org.apache.storm.scheduler.resource.strategies.scheduling.sorter with parameters of type TopologyDetails
    Constructor and 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.

Copyright © 2021 The Apache Software Foundation. All rights reserved.