Multi-ApplicationOnlineProfiling  2.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
MALP_Blackboard.h File Reference
#include <stddef.h>
#include <stdint.h>
#include <unistd.h>
#include "Hash_Table.h"
#include "Chained_List.h"
#include "Spinlock.h"
#include "Knowledge_System.h"
#include "Data_Entry.h"
#include "Key_Entry.h"
#include "Pbb_Workers.h"
#include "MALP_Blackboard_Level.h"
Include dependency graph for MALP_Blackboard.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Ks_cell
 The Knowledge system cell structure Structure containing an internal hash table and table of knowledge systems ( Knowledge system ) More...
 
struct  Key_cell
 The Key_cell structure Structure containing an internal hash table and table of key entries ( Key entry ) More...
 
struct  Name_cell
 The Name_cell structure Structure containing an internal hash table and table of cell names. More...
 
struct  MALP_blackboard
 The MALP_blackboard structure. More...
 

Macros

#define KS_COLL_AVOID   5
 Number of KS cells (Number of elements) More...
 
#define KEY_COLL_AVOID   5
 Number of column keys (Number of elements) More...
 
#define NAME_COLL_AVOID   5
 Number of column names (Number of elements) More...
 

Functions

void MALP_blackboard_init (struct MALP_blackboard *bb, uint32_t workers_count, void *context)
 MALP_blackboard initialisation. More...
 
static void MALP_blackboard_set_default_KS_handler (struct MALP_blackboard *bb, void(*default_handler)(struct MALP_blackboard *, uint64_t KS_id, struct Data_entry **, uint32_t, void *))
 sets MALP_blackboard's default Knowledge system handler More...
 
void MALP_blackboard_wait (struct MALP_blackboard *bb)
 MALP_blackboard_wait Function to call the wait function for the Pbb workers of a MALP blackboard. More...
 
void MALP_blackboard_release (struct MALP_blackboard *bb)
 MALP_blackboard release. More...
 
static uint32_t MALP_blackboard_cpu_count (struct MALP_blackboard *bb)
 Return the number of currently online processors for a MALP_blackboard. More...
 
int MALP_Blackboard_ks_present (struct MALP_blackboard *bb, uint64_t type)
 test if a knowledge system is available in a MALP_Blackboard Test if a knowledge system of a specific type, defined by its key, is available in a MALP_Blackboard More...
 
struct Knowledge_systemMALP_Blackboard_new_ks (struct MALP_blackboard *bb, uint64_t type, uint64_t *sensivities, uint32_t sensivities_count, void(*process)(struct MALP_blackboard *bb, struct Data_entry **de, uint32_t entry_count, void *arg), void *arg)
 Create a new Knowledge system while associating a key (used as an id and a type) and a handler (process) More...
 
void MALP_Blackboard_delete_ks (struct MALP_blackboard *bb, uint64_t type)
 MALP_Blackboard_delete_ks. More...
 
int MALP_Blackboard_submit_data (struct MALP_blackboard *bb, uint64_t key, void *payload, size_t payload_size)
 MALP_Blackboard_submit_data. More...
 
int MALP_Blackboard_submit_data_entry (struct MALP_blackboard *bb, struct Data_entry *de)
 MALP_Blackboard_submit_data_entry. More...
 
int MALP_Blackboard_resubmit_data_entry (struct MALP_blackboard *bb, struct Data_entry *de)
 MALP_Blackboard_resubmit_data_entry. More...
 
static int MALP_Blackboard_writable_data (struct Data_entry *de)
 MALP_Blackboard_writable_data. More...
 
static uint64_t MALP_Blackboard_pending (struct MALP_blackboard *bb)
 Returns the number of pebnding data block counter. More...
 
static void MALP_Blackboard_wait_pending (struct MALP_blackboard *bb, uint64_t value)
 MALP_Blackboard_wait_pending. More...
 
static uint64_t MALP_Blackboard_type_hash (uint64_t type)
 MALP_Blackboard_type_hash. More...
 
static uint64_t MALP_Blackboard_type_state_hash (uint64_t type, uint64_t state)
 MALP_Blackboard_type_state_hash. More...
 
static void MALP_Blackboard_add_pending (struct MALP_blackboard *bb)
 Increments the number of pending data block counter. More...
 
static void MALP_Blackboard_remove_pending (struct MALP_blackboard *bb)
 Decrements the number of pending data block counter. More...
 
int knowledge_system_test_func (void *pks, uint64_t key, void *arg)
 knowledge_system_test_func More...
 
int empty_knowledge_system_test_func (void *pks, uint64_t key, void *arg)
 empty_knowledge_system_test_func More...
 
int key_entry_test_func (void *pke, uint64_t key, void *arg)
 key_entry_test_func More...
 
int empty_key_entry_test_func (void *pke, uint64_t key, void *arg)
 empty_key_entry_test_func More...
 

Function Documentation

int MALP_Blackboard_resubmit_data_entry ( struct MALP_blackboard bb,
struct Data_entry de 
)

MALP_Blackboard_resubmit_data_entry.

Parameters
bb
de
Returns

Definition at line 283 of file MALP_Blackboard.c.

Here is the call graph for this function: