Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejava
titleResourceSpec
/**
 * Describes the different resource components of the fine-grained resource requirement.
 *
 * <ol>
 *   <li>CPU cores
 *   <li>Task Heap Memory
 *   <li>Task Off-Heap Memory
 *   <li>Managed Memory
 *   <li>Extended resources
 * </ol>
 */
@PublicEvolving
public interfaceclass ResourceSpec {
    /**
     * Get the CPU cores.
     *
     * @return the CPU cores
     */
    CPUResource getCpuCores();

    /**
     * Get the task heap memory.
     *
     * @return the task heap memory
     */
    MemorySize getTaskHeapMemory();

    /**
     * Get the task off-heap memory.
     *
     * @return the task off-heap memory.
     */
    MemorySize getTaskOffHeapMemory();

    /**
     * Get the managed memory.
     *
     * @return the managed memory
     */
    MemorySize getManagedMemory();

    /**
     * Get the extended resource with the given name if present.
     *
     * @param name of the extended resource
     * @return an optional extended resource
     */
    Optional<ExternalResource> getExtendedResource(String name);

    /**
     * Get all the extended resources indexed by their name.
     *
     * @return all the extended resources indexed by their name
     */
    Map<String, ExternalResource> getExtendedResources();
}

...