#include <client_library.h>
Membri pubblici | |
Library () | |
Library(): costruttore della classe Library. | |
void | dm_init (char *config_file) |
void dm_init(char* config_file): funzione pubblica che inizializza la libreria. | |
int | dm_block_map (int ID, void *address) |
int dm_block_map(int ID, void* address): funzione pubblica che stabilisce l'associazione tra blocco di memoria e indirizzo di memoria locale. | |
void | dm_block_unmap (int ID) |
void dm_block_unmap(int ID): funzione pubblica che segnala al server che il client non è più interessato al blocco ID. | |
int | dm_block_update (int ID) |
int dm_block_update(int ID): funzione pubblica che aggiorna il contenuto della copia locale con il contenuto globale sul server. | |
int | dm_block_write (int ID) |
int dm_block_write(int ID): funzione pubblica che sincronizza il contenuto locale del blocco con il contenuto globale sul server. | |
int | dm_block_wait (int ID) |
int dm_block_wait(int ID): funzione pubblica che controlla la validità della copia locale del blocco. | |
Membri privati | |
server_list * | find_server (int id) |
server_list * find_server(int id): funzione privata che restituisce il server contenente il blocco identificato da id. | |
block_list * | find_block (int id, server_list *sl) |
block_list * find_block(int id, server_list *sl): funzione privata che restituisce il blocco identificato da id. | |
void | create_socket () |
void create_socket(): funzione privata che crea i socket necessari per mettersi in connessione con i server. | |
int | client_connect (char *ip_add, int port, int cl_sk, server_list *sl) |
int client_connect(char *ip_add, int port, int cl_sk, server_list *sl): funzione privata che effettua la connessione del client al server. | |
void | read_config_file (char *config_file) |
void read_config_file(char* config_file): funzione privata che legge il file di configurazione. | |
Attributi privati | |
server_list * | head |
Puntatore alla testa della lista dei server. |
La classe implementa le strutture dati e le funzioni di interfaccia richieste dalle specifiche. Utilizza, inoltre, diverse funzioni private per svolgere le operazioni necessarie ai metodi richiesti.