#include <server.h>
Membri pubblici | |
Server () | |
Server(): costruttore della classe Server. | |
int | port_control (int port) |
int port_control(int port): funzione pubblica che effettua il controllo sulla porta associata al server. | |
void | read_config_file (const char *config_file) |
read_config_file(const char *config_file): funzione pubblica che legge il file di configurazione. | |
int | block_map (int sk) |
int block_map(int sk): funzione pubblica che stabilisce l'associazione tra client e blocco. | |
int | block_unmap (int sk) |
int block_unmap(int sk): funzione pubblica che cancella l'associazione tra client e blocco. | |
int | block_update (int sk) |
int block_update(int sk): funzione pubblica che invia il contenuto del blocco al client. | |
int | block_write (int sk) |
int block_write(int sk): funzione pubblica che aggiorna il contenuto della copia globale del blocco con quello della copia locale. | |
int | block_wait (int sk) |
int block_wait(int sk): funzione pubblica che controlla la validità della copia locale del blocco. | |
Membri privati | |
void | add_block (int id_block) |
void add_block(int id_block): funzione privata che crea e inserisce un nuovo blocco in lista. | |
block * | find_block (int id) |
block * find_block(int id): funzione privata che restituisce il blocco identificato da id. | |
client_list * | find_client (int client_id, block *bk_elem) |
client_list * find_client(int client_id, block* bk_elem): funzione privata che restituisce il client identificato da client_id. | |
void | add_client (int client_id, block *bk_elem) |
void add_client(int client_id, block *bk_elem): funzione privata che crea e inserisce un nuovo client in lista. | |
void | delete_client (int client_id, block *bk_elem) |
void delete_client(int client_id, block *bk_elem): funzione privata che elimina un client dalla lista di client. | |
void | change_valid (int client_id, block *bk_elem) |
void change_valid(int client_id, block *bk_elem): funzione privata che modifica la validità della copia locale del blocco. | |
int | client_unblock (int client_id, block *bk_elem) |
int client_unblock(int client_id, block *bk_elem): funzione privata che sblocca la wait. | |
Attributi privati | |
block * | head |
Puntatore alla testa della lista di blocchi. |
La classe server implementa le strutture dati e i metodi richiesti dalle specifiche lato server. Utilizza, inoltre, diverse funzioni private per svolgere le operazioni necessarie ai metodi richiesti.