resource/attribute.c \
resource/resource.c \
resource/resource-set.c \
- resource/resource-class.c \
+ resource/application-class.c \
resource/resource-owner.c \
resource/resource-client.c \
resource/zone.c
#include <murphy/resource/client-api.h>
#include <murphy/resource/config-api.h>
-#include "resource-class.h"
+#include "application-class.h"
#include "resource-set.h"
#include "zone.h"
static mrp_htbl_t *name_hash;
static void init_name_hash(void);
-static int add_to_name_hash(mrp_resource_class_t *);
+static int add_to_name_hash(mrp_application_class_t *);
#if 0
-static void remove_from_name_hash(mrp_resource_class_t *);
+static void remove_from_name_hash(mrp_application_class_t *);
#endif
-mrp_resource_class_t *mrp_resource_class_create(const char *name, uint32_t pri)
+mrp_application_class_t *mrp_resource_class_create(const char *name, uint32_t pri)
{
- mrp_resource_class_t *class;
+ mrp_application_class_t *class;
mrp_list_hook_t *insert_before, *clhook, *n;
uint32_t zone;
insert_before = &class_list;
mrp_list_foreach_back(&class_list, clhook, n) {
- class = mrp_list_entry(clhook, mrp_resource_class_t, list);
+ class = mrp_list_entry(clhook, mrp_application_class_t, list);
if (!strcasecmp(name, class->name)) {
mrp_log_warning("Multiple definitions for class '%s'", name);
insert_before = &class->list;
}
- if (!(class = mrp_allocz(sizeof(mrp_resource_class_t)))) {
+ if (!(class = mrp_allocz(sizeof(mrp_application_class_t)))) {
mrp_log_error("Memory alloc failure. Can't create resource class '%s'",
name);
return NULL;
}
-mrp_resource_class_t *mrp_resource_class_find(const char *name)
+mrp_application_class_t *mrp_application_class_find(const char *name)
{
- mrp_resource_class_t *class = NULL;
+ mrp_application_class_t *class = NULL;
if (name_hash && name)
class = mrp_htbl_lookup(name_hash, (void *)name);
return class;
}
-mrp_resource_class_t *mrp_resource_class_iterate_classes(void **cursor)
+mrp_application_class_t *mrp_application_class_iterate_classes(void **cursor)
{
mrp_list_hook_t *entry;
*cursor = entry->prev;
- return mrp_list_entry(entry, mrp_resource_class_t, list);
+ return mrp_list_entry(entry, mrp_application_class_t, list);
}
mrp_resource_set_t *
-mrp_resource_class_iterate_rsets(mrp_resource_class_t *class,
- uint32_t zone,
- void **cursor)
+mrp_application_class_iterate_rsets(mrp_application_class_t *class,
+ uint32_t zone,
+ void **cursor)
{
mrp_list_hook_t *list, *entry;
return mrp_list_entry(entry, mrp_resource_set_t, class.list);
}
-const char **mrp_resource_class_get_all_names(uint32_t buflen,const char **buf)
+const char **mrp_application_class_get_all_names(uint32_t buflen,
+ const char **buf)
{
mrp_list_hook_t *entry, *n;
- mrp_resource_class_t *class;
+ mrp_application_class_t *class;
bool freeit = false;
uint32_t i = 0;
}
mrp_list_foreach(&class_list, entry, n) {
- class = mrp_list_entry(entry, mrp_resource_class_t, list);
+ class = mrp_list_entry(entry, mrp_application_class_t, list);
if (i >= buflen-1) {
if (freeit)
}
-int mrp_resource_class_add_resource_set(const char *class_name,
- const char *zone_name,
- mrp_resource_set_t *rset)
+int mrp_application_class_add_resource_set(const char *class_name,
+ const char *zone_name,
+ mrp_resource_set_t *rset)
{
- mrp_resource_class_t *class;
+ mrp_application_class_t *class;
mrp_zone_t *zone;
MRP_ASSERT(!rset->class.ptr || !mrp_list_empty(&rset->class.list),
"attempt to add multiple times the same resource set");
- if (!(class = mrp_resource_class_find(class_name)))
+ if (!(class = mrp_application_class_find(class_name)))
return -1;
if (!(zone = mrp_zone_find_by_name(zone_name)))
rset->class.ptr = class;
rset->zone = mrp_zone_get_id(zone);
- mrp_resource_class_move_resource_set(rset);
+ mrp_application_class_move_resource_set(rset);
return 0;
}
-void mrp_resource_class_move_resource_set(mrp_resource_set_t *rset)
+void mrp_application_class_move_resource_set(mrp_resource_set_t *rset)
{
- mrp_resource_class_t *class;
+ mrp_application_class_t *class;
mrp_list_hook_t *list, *lentry, *n, *insert_before;
mrp_resource_set_t *rentry;
uint32_t key;
zone = rset->zone;
list = insert_before = class->resource_sets + zone;
- key = mrp_resource_class_get_sorting_key(rset);
+ key = mrp_application_class_get_sorting_key(rset);
mrp_list_foreach_back(list, lentry, n) {
rentry = mrp_list_entry(lentry, mrp_resource_set_t, class.list);
- if (key >= mrp_resource_class_get_sorting_key(rentry))
+ if (key >= mrp_application_class_get_sorting_key(rentry))
break;
insert_before = lentry;
mrp_list_append(insert_before, &rset->class.list);
}
-uint32_t mrp_resource_class_get_sorting_key(mrp_resource_set_t *rset)
+uint32_t mrp_application_class_get_sorting_key(mrp_resource_set_t *rset)
{
uint32_t priority;
uint32_t usage;
}
-int mrp_resource_class_print(char *buf, int len)
+int mrp_application_class_print(char *buf, int len)
{
#define PRINT(fmt, args...) if (p<e) { p += snprintf(p, e-p, fmt , ##args); }
mrp_zone_t *zone;
- mrp_resource_class_t *class;
+ mrp_application_class_t *class;
mrp_resource_set_t *rset;
mrp_list_hook_t *clen, *n;
mrp_list_hook_t *list, *rsen, *m;
e = (p = buf) + len;
clcnt = rscnt = 0;
- PRINT("Resource classes:\n");
+ PRINT("Application classes:\n");
mrp_list_foreach_back(&class_list, clen, n) {
- class = mrp_list_entry(clen, mrp_resource_class_t, list);
+ class = mrp_list_entry(clen, mrp_application_class_t, list);
PRINT(" %3u - %s\n", class->priority, class->name);
for (zid = 0; zid < MRP_ZONE_MAX; zid++) {
}
-static int add_to_name_hash(mrp_resource_class_t *class)
+static int add_to_name_hash(mrp_application_class_t *class)
{
MRP_ASSERT(class && class->name, "invalid argument");
}
#if 0
-static void remove_from_name_hash(mrp_resource_class_t *class)
+static void remove_from_name_hash(mrp_application_class_t *class)
{
- mrp_resource_class_t *deleted;
+ mrp_application_class_t *deleted;
if (class && class->name && name_hash) {
deleted = mrp_htbl_remove(name_hash, (void *)class->name, false);
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef __MURPHY_RESOURCE_CLASS_H__
-#define __MURPHY_RESOURCE_CLASS_H__
+#ifndef __MURPHY_APPLICATION_CLASS_H__
+#define __MURPHY_APPLICATION_CLASS_H__
#include <murphy/common/list.h>
-struct mrp_resource_class_s {
+struct mrp_application_class_s {
mrp_list_hook_t list;
const char *name;
uint32_t priority;
mrp_list_hook_t resource_sets[MRP_ZONE_MAX];
};
-mrp_resource_class_t *mrp_resource_class_find(const char *);
-mrp_resource_class_t *mrp_resource_class_iterate_classes(void **);
-mrp_resource_set_t *mrp_resource_class_iterate_rsets(mrp_resource_class_t *,
- uint32_t, void **);
+mrp_application_class_t *mrp_application_class_find(const char *);
+mrp_application_class_t *mrp_application_class_iterate_classes(void **);
+mrp_resource_set_t *
+mrp_application_class_iterate_rsets(mrp_application_class_t*,uint32_t,void**);
-void mrp_resource_class_move_resource_set(mrp_resource_set_t *);
+void mrp_application_class_move_resource_set(mrp_resource_set_t *);
-uint32_t mrp_resource_class_get_sorting_key(mrp_resource_set_t *);
+uint32_t mrp_application_class_get_sorting_key(mrp_resource_set_t *);
-#endif /* __MURPHY_RESOURCE_CLASS_H__ */
+#endif /* __MURPHY_APPLICATION_CLASS_H__ */
/*
* Local Variables:
const char **mrp_resource_definition_get_all_names(uint32_t buflen,
const char **buf);
-const char **mrp_resource_class_get_all_names(uint32_t buflen,
- const char **buf);
+const char **mrp_application_class_get_all_names(uint32_t buflen,
+ const char **buf);
-int mrp_resource_class_add_resource_set(const char *class_name,
- const char *zone_name,
- mrp_resource_set_t *resource_set);
+int mrp_application_class_add_resource_set(const char *class_name,
+ const char *zone_name,
+ mrp_resource_set_t *resource_set);
mrp_resource_set_t *mrp_resource_set_create(mrp_resource_client_t *client,
uint32_t priority,
int mrp_zone_definition_create(mrp_attr_def_t *attrdefs);
uint32_t mrp_zone_create(const char *name, mrp_attr_t *attrs);
-mrp_resource_class_t *mrp_resource_class_create(const char *name,
- uint32_t priority);
+mrp_application_class_t *mrp_resource_class_create(const char *name,
+ uint32_t priority);
-int mrp_resource_class_print(char *buf, int len);
+int mrp_application_class_print(char *buf, int len);
int mrp_resource_owner_print(char *buf, int len);
typedef struct mrp_attr_s mrp_attr_t;
typedef struct mrp_zone_def_s mrp_zone_def_t;
typedef struct mrp_zone_s mrp_zone_t;
+typedef struct mrp_application_class_s mrp_application_class_t;
typedef struct mrp_resource_owner_s mrp_resource_owner_t;
-typedef struct mrp_resource_class_s mrp_resource_class_t;
typedef struct mrp_resource_set_s mrp_resource_set_t;
typedef struct mrp_resource_def_s mrp_resource_def_t;
typedef struct mrp_resource_s mrp_resource_t;
#include <murphy-db/mqi.h>
#include "resource-owner.h"
-#include "resource-class.h"
+#include "application-class.h"
#include "resource-set.h"
#include "resource.h"
#include "zone.h"
static mrp_resource_owner_t *get_owner(uint32_t, uint32_t);
static void reset_owners(uint32_t, mrp_resource_owner_t *);
static bool grant_ownership(mrp_resource_owner_t *, mrp_zone_t *,
- mrp_resource_class_t *, mrp_resource_set_t *,
+ mrp_application_class_t *, mrp_resource_set_t *,
mrp_resource_t *);
static bool advice_ownership(mrp_resource_owner_t *, mrp_zone_t *,
- mrp_resource_class_t *, mrp_resource_set_t *,
+ mrp_application_class_t *, mrp_resource_set_t *,
mrp_resource_t *);
static void manager_start_transaction(mrp_zone_t *);
static void manager_end_transaction(mrp_zone_t *);
static void delete_resource_owner(mrp_zone_t *, mrp_resource_t *);
-static void insert_resource_owner(mrp_zone_t *, mrp_resource_class_t *,
+static void insert_resource_owner(mrp_zone_t *, mrp_application_class_t *,
mrp_resource_t *);
-static void update_resource_owner(mrp_zone_t *, mrp_resource_class_t *,
+static void update_resource_owner(mrp_zone_t *, mrp_application_class_t *,
mrp_resource_t *);
static void set_attr_descriptors(mqi_column_desc_t *, mrp_resource_t *);
mrp_resource_owner_t oldowners[RESOURCE_MAX];
mrp_resource_owner_t backup[RESOURCE_MAX];
mrp_zone_t *zone;
- mrp_resource_class_t *class;
+ mrp_application_class_t *class;
mrp_resource_set_t *rset;
mrp_resource_t *res;
mrp_resource_def_t *rdef;
rcnt = mrp_resource_definition_count();
clc = NULL;
- while ((class = mrp_resource_class_iterate_classes(&clc))) {
+ while ((class = mrp_application_class_iterate_classes(&clc))) {
rsc = NULL;
- while ((rset = mrp_resource_class_iterate_rsets(class,zoneid,&rsc))) {
+ while ((rset=mrp_application_class_iterate_rsets(class,zoneid,&rsc))) {
mandatory = rset->resource.mask.mandatory;
grant = 0;
advice = 0;
mrp_zone_t *zone;
mrp_resource_owner_t *owner;
- mrp_resource_class_t *class;
+ mrp_application_class_t *class;
mrp_resource_set_t *rset;
mrp_resource_t *res;
mrp_resource_def_t *rdef;
memset(ptr, 0, size);
}
-static bool grant_ownership(mrp_resource_owner_t *owner,
- mrp_zone_t *zone,
- mrp_resource_class_t *class,
- mrp_resource_set_t *rset,
- mrp_resource_t *res)
+static bool grant_ownership(mrp_resource_owner_t *owner,
+ mrp_zone_t *zone,
+ mrp_application_class_t *class,
+ mrp_resource_set_t *rset,
+ mrp_resource_t *res)
{
mrp_resource_def_t *rdef = res->def;
mrp_resource_mgr_ftbl_t *ftbl = rdef->manager.ftbl;
return true;
}
-static bool advice_ownership(mrp_resource_owner_t *owner,
- mrp_zone_t *zone,
- mrp_resource_class_t *class,
- mrp_resource_set_t *rset,
- mrp_resource_t *res)
+static bool advice_ownership(mrp_resource_owner_t *owner,
+ mrp_zone_t *zone,
+ mrp_application_class_t *class,
+ mrp_resource_set_t *rset,
+ mrp_resource_t *res)
{
mrp_resource_def_t *rdef = res->def;
mrp_resource_mgr_ftbl_t *ftbl = rdef->manager.ftbl;
}
static void insert_resource_owner(mrp_zone_t *zone,
- mrp_resource_class_t *class,
+ mrp_application_class_t *class,
mrp_resource_t *res)
{
mrp_resource_def_t *rdef = res->def;
}
static void update_resource_owner(mrp_zone_t *zone,
- mrp_resource_class_t *class,
+ mrp_application_class_t *class,
mrp_resource_t *res)
{
static uint32_t zone_id;
struct mrp_resource_owner_s {
- mrp_resource_class_t *class; /**< owner class */
- mrp_resource_set_t *rset; /**< owner resource set */
- mrp_resource_t *res; /**< owner resource */
- bool share; /**< do not use this */
+ mrp_application_class_t *class; /**< owner application class */
+ mrp_resource_set_t *rset; /**< owner resource set */
+ mrp_resource_t *res; /**< owner resource */
+ bool share; /**< do not use this */
};
#include <murphy/resource/common-api.h>
#include "resource-set.h"
-#include "resource-class.h"
+#include "application-class.h"
#include "resource.h"
#include "resource-client.h"
#include "resource-owner.h"
rset->request.id = reqid;
rset->request.stamp = get_request_stamp();
- mrp_resource_class_move_resource_set(rset);
+ mrp_application_class_move_resource_set(rset);
mrp_resource_owner_update_zone(rset->zone, reqid);
}
}
rset->request.id = reqid;
rset->request.stamp = get_request_stamp();
- mrp_resource_class_move_resource_set(rset);
+ mrp_application_class_move_resource_set(rset);
mrp_resource_owner_update_zone(rset->zone, reqid);
}
}
gap, rset->id,
rset->resource.mask.all, mandatory,
rset->resource.mask.grant, rset->resource.mask.advice,
- mrp_resource_class_get_sorting_key(rset), rset->class.priority,
+ mrp_application_class_get_sorting_key(rset), rset->class.priority,
rset->resource.share ? "shared ":"exclusive",
state_str(rset->state));
} client;
struct {
mrp_list_hook_t list;
- mrp_resource_class_t *ptr;
+ mrp_application_class_t *ptr;
uint32_t priority;
} class;
uint32_t zone;