/** * @file fra.idl * @author Michal Sojka * @date Thu Nov 13 14:05:39 2008 * * @brief FORB interface to resource allocator * * */ #ifndef _FRA_IDL #define _FRA_IDL #include "../contract/fres_contract_idl.idl" module fres { /** * Interface to the allocator * */ interface resource_allocator { /** * Creates or changes VRESes. * * This method is called after the contracts are * negotiated with the resource manager. The manager * together with the contract broker ensure that the * state after applying the changes specified by @a * schedulable_contracts parameter is schedulable. It * is up to the allocator to apply the changes in such * way that schedulability is maintained during the * change. The changes are received in the same order * as returned by the manager, so if the manager * already prepares the order of aplying changes, the * allocator can use it. * * @param schedulable_contracts Contracts for VRESes * to be created or (if they already exist) * changed. * * @return Zero on success, non-zero error number in * case of error. */ long change_vreses(in contract::ptr_seq schedulable_contracts); /** * Cancel VRESes given by their IDs. * * @param ids * * @return Zero on success, non-zero error code on error. */ long cancel_vreses(in contract::id_seq ids); }; }; #endif