package org.ovirt.engine.core.dao; import java.util.List; import java.util.Map; import org.ovirt.engine.core.common.businessentities.VmNumaNode; import org.ovirt.engine.core.compat.Guid; public interface VmNumaNodeDao extends Dao { /** * Get all numa nodes of a vm by vm id * @param vmId * the id of vm * @return the list of numa nodes */ List<VmNumaNode> getAllVmNumaNodeByVmId(Guid vmId); /** * Get vm numa node information that in the vms which belong to the specified vds group * @param clusterId * the id of the cluster * * @return Map with VM id as key and a list of numa nodes as value */ Map<Guid, List<VmNumaNode>> getVmNumaNodeInfoByClusterId(Guid clusterId); /** * Save the given list of numa nodes using a more efficient method to save all of them at * once, rather than each at a time. * * @param numaNodes * the numa nodes to be saved * @param vmId * the vm id that the numa nodes belong to(leave null if save vdsNumaNode) */ void massSaveNumaNode(List<VmNumaNode> numaNodes, Guid vmId); /** * Update non-statistics data of the given list of numa nodes using a more efficient method * to update all of them at once, rather than each at a time. * * @param numaNodes * the numa nodes to be updated */ void massUpdateNumaNode(List<VmNumaNode> numaNodes); /** * Remove numa nodes using a more efficient method to remove all of them at once, * rather than each at a time. * * @param numaNodeIds * the numa node ids to be removed */ void massRemoveNumaNodeByNumaNodeId(List<Guid> numaNodeIds); }