CARS
|
#include <stdlib.h>
Go to the source code of this file.
Defines | |
#define | SOCKET_PATH "./tmp/cars.sck" |
#define | NSEC_TIMER 0 |
#define | LOG_FILE_NAME "./mgcars.log" |
#define | PERM_FILE (S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) |
#define | POOL_SIZE 8 |
#define | MAX_TRY 5 |
#define | DELAY 1 |
#define | PROMPT "client> " |
#define | FREE_OFFER_LIST |
#define | CHAR_LENGTH 4 |
#define | BUFF_SIZE 512 |
#define | MAX_PID_CHAR 6 |
Si dichiara che il contenuto di questo file e' in ogni sua parte opera originale dell' autore.
#define BUFF_SIZE 512 |
Macro che imposta la dimensione del buffer dei messaggi. Per maggiori info vedi CHAR_LENGTH
#define CHAR_LENGTH 4 |
BUFF_SIZE
Queste macro sono relative al protocollo di comunicazione implementato nella libreria comsock.
I dati relativi ad un messaggio, prima di essere inviati, vengono serializzati in un array di caratteri.
Il valore CHAR_LENGTH rappresenta il numero di caratteri necessari per rappresentare la dimensione del buffer.
Un numero inferiore di caratteri permettere di esprimere numeri piu' piccoli, e di conseguenza la dimensione del buffer risultera' piu' piccola
Il valore di default risulta in genere sufficiente a soddisfare tutti i casi.
INFO: incrementare i valori solo in presenza di grafi con nomi di citta' parecchio lunghi, oppure con grafi molto grandi, dove i path generati sono molto lunghi.
DEFAULT CHAR_LENGTH 4 BUFF_SIZE 512
#define DELAY 1 |
Variabile che imposta il delay in secondi da attendere per l'avvio di un thread
Per maggiori info vedi MAX_TRY
Referenced by printEnv(), and tryStartThread().
#define FREE_OFFER_LIST |
Queste macro, se definita, fa variare il comportamento del server, nel merito al mantenimento o meno delle offerte elaborate
Se questa macro e' settata (non commentata) il server provvedera' ad eliminare tutte le offerte che non vengono accoppiate non nessuna richiesta ad ogni esecuzione del match
Se questa macro non e' settata (commentata) il server non eliminera' tali offerte, e le terra' disponibili per tutte le esecuzioni del match
INFO: il settaggio o meno di questa macro fa variare l'esito dei risultati calcolati, si pensi bene di che genere di sistema si ha bisogno nel settare o meno questa macro
INFO: utilizzare questa macro porta ad un miglioramento delle prestazioni, dato che il numero delle offerte viene azzerato ogni volta.
DEFAULT non-commentata
#define LOG_FILE_NAME "./mgcars.log" |
Questa macro definisce il nome del file sul quale il server salvera' il proprio log.
DEFAULT "./mgcars.log"
Referenced by main(), and printEnv().
#define MAX_PID_CHAR 6 |
Queste macro rappresenta il numero massimo di cifre di un PID (process identifier) del sistema in uso
E' utilizzata dal client per generare la stringa che contiene il nome del socket sul quale attende i messaggi in ingresso.
Il valore di default risultato corretto nella maggior parte dei casi.
Referenced by createSocketName(), goingBackToSleep(), and worker_thread().
#define MAX_TRY 5 |
DELAY
Queste macro definiscono il comportamento da seguire nel caso in cui non si riesca ad avviare un thread.
In caso di fallimento ad avviare un thread, si attenderanno DELAY secondi e si riprovera' per MAX_TRY volte.
INFO: Si consideri che il fatto di non riuscire ad avviare un thread per assenza di risorse dovrebbe essere un caso piu' unico che raro, dato che, molto probabilmente, dopo DELAY secondi non sara' comunque possibile avviare un nuovo thread.
INFO: Se accade spesso questo evento, forse e' meglio considerare l'eventualita' di diminuire il numero dei thread avviati.
DEFAULT MAX TRY 5 DELAY 1
Referenced by printEnv(), and tryStartThread().
#define NSEC_TIMER 0 |
Questa macro definisce il numero di microsecondi da attendere prima di far partire il match. Deve essere utilizzata in combinazione con la macro SEC_TIMER definita nel file comsock.h
INFO: per computer poco potenti aumentare il tempo di attesa, in modo da non sovraccaricare troppo il sistema. Per computer piu' potenti, e' possibile diminuire il valore. Si tenga di conto che a valori minori corrispondono tempi di risposta minori per i client
DEFAULT 0
Referenced by match(), and printEnv().
#define PERM_FILE (S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) |
Questa macro definisce i permessi di default con cui viene aperto il file di log.
Il tipo con cui deve essere specificata deve essere lo stesso richiesto dalla svc open (per info vedi open(2)).
Si tenga di conto che il valore effettivo dei bit di protezione sara' il risultato di (PERM_FILE & ~umask), per maggiori info si veda umask(2) e umask(1).
DEFAULT (S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH)
Referenced by main().
#define POOL_SIZE 8 |
Questa macro definisce la dimensione del pool di thread worker che devono essere avviati all'avvio del sistema
Rappresenta un valore molto importante ai fini delle prestazioni del sistema
INFO: Un valore troppo piccolo porta ad un carico minore del sistema, ma puo' portare a rifiutare alcune richieste nei confronti di qualche utente.
INFO: Un valore troppo grande porta ad un carico maggiore del sistema, ma si riesce a servire contemporaneamente piu' utenti.
INFO: Si consiglia di provare alcuni valori e di cercare il valore adatto alla propria infrastruttura.
DEFAULT 32
Referenced by findActivateThread(), initializePool(), main(), match(), printEnv(), signal_handler(), and startWorker().
#define PROMPT "client> " |
Queste macro definisce il prompt che deve essere visualizzato ogni volta che il client attende un valore in input.
Puo' essere personalizzato a piacimento.
DEFAULT "client> "
Referenced by main().
#define SOCKET_PATH "./tmp/cars.sck" |
Questa macro definisce il nome del file sul quale il server apre la sua socket Inserire un path di file valido, altrimenti il server non potra' avviarsi, e i client non potranno connettersi
DEFAULT "./tmp/cars.sck"
Referenced by main(), and printEnv().