]> rtime.felk.cvut.cz Git - frescor/frsh.git/commitdiff
Small additions: documentation, useful helper functions
authorMichal Sojka <sojkam1@fel.cvut.cz>
Thu, 30 Oct 2008 23:37:05 +0000 (00:37 +0100)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Thu, 30 Oct 2008 23:37:05 +0000 (00:37 +0100)
fres/cbroker/fcb.c
fres/contract/fres_container.h
fres/contract/fres_contract.h
fres/resmng/frm_generic.h

index 5ce2fc8e9d5bffe545a2f304f68879f3016b9bd1..2805bcbea5f8e00ee58c1d206b7e1481e4702658 100644 (file)
@@ -217,7 +217,7 @@ negotiate_contract(fres_contract_broker obj,
        }
 
        /* Commit contract */
-       ids._length = 1;
+       ids._length = ids._maximum = 1;
        ids._buffer = id;
        fres_resource_manager_commit_contracts(rm->rm, &ids, &contracts_sched, ev);
        if (forb_exception_occured(ev)) {
index 22d71fc72e75258a8619d9500a2c44b958ab6c6d..c2d603b0de39914c4b330c17a83b4194bec2c953 100644 (file)
@@ -97,4 +97,7 @@ FRES_CONTAINER_ACCESSOR(SPARE_CAPACITY, spare_capacity)
 int
 fres_block_register(enum fres_block_type, const struct fres_block_desc *desc);
 
+void *
+fres_block_duplicate_default(enum fres_block_type type, const void *block_data);
+
 #endif
index 116b1b72bc3b3029fa6427805cbc82951dc7daa5..6e6b302519c6923b4ef0deddcc18b0e989a21c29 100644 (file)
@@ -31,6 +31,26 @@ struct fres_contract *fres_contract_new(void);
 void fres_contract_destroy(struct fres_contract *contract);
 struct fres_contract *fres_contract_duplicate(struct fres_contract *src);
 
+static inline int
+fres_contract_add_block(struct fres_contract *contract,
+                       enum fres_block_type type, void *block)
+{
+       return fres_container_add_block(contract->container, type, block);
+}
+static inline void
+fres_contract_del_block(struct fres_contract *contract,
+                       enum fres_block_type type)
+{
+       fres_container_del_block(contract->container, type);
+}
+
+static inline void *
+fres_contract_get_block(struct fres_contract *contract,
+                       enum fres_block_type type)
+{
+       return fres_container_get_block(contract->container, type);
+}
+
 #define FRES_CONTRACT_ACCESSOR(type)                                   \
        static inline int                                               \
        fres_contract_add_##type(struct fres_contract *contract,        \
index bea28028e272f4c7681103c07934412721f1fa2d..87b9870a3b2c33610f60bd8286f72bf622479448 100644 (file)
  */
 typedef bool (*frm_adm_test_fnc_t)(struct fres_sa_scenario *scenario, void *priv);
 
+/** Description of a resource manager */
 struct fres_res_manager {
        frsh_resource_type_t res_type;
        frsh_resource_id_t res_id;
        frm_adm_test_fnc_t admission_test;
-       void *priv;
+       void *priv;             /**< Any data to be passed to admission test  */
 };
 
 int frm_register_and_run(forb_orb orb,