trasmissione di tanti pacchetti piccoli, che comporta un utilizzo non
ottimale della banda disponibile, un meccanismo di bufferizzazione dei
pacchetti uscenti controllato da un apposito algoritmo (detto
- \textsl{algoritmo di Nagle}, vedi sez.\ref{sez:tcp_protocol_xxx}).
- Il comportamento normale prevede invece che i pacchetti siano accumulati
+ \textsl{algoritmo di Nagle}, vedi sez.\ref{sez:tcp_protocol_xxx}). Il
+ comportamento normale prevede invece che i pacchetti siano accumulati
fintanto che non si raggiunge una quantità di dati considerata adeguata per
- eseguire la trasmissione.
+ eseguire la trasmissione.
Impostando questa opzione si disabilita questo meccanismo ed i pacchetti
vengono inviati immediatamente qualunque sia la loro dimensione; l'opzione
viene sovrascritta dall'eventuale impostazione \const{TCP\_CORK} (che blocca
l'invio immediato), tuttavia quando la si abilita viene sempre forzato lo
scaricamento della coda di invio (con conseguente trasmissione di tutti i
- pacchetti pendenti), anche qualora si fosse già abilitata \const{TCP\_CORK}.
+ pacchetti pendenti), anche qualora si fosse già abilitata
+ \const{TCP\_CORK}.\footnote{si tenga presente però che \const{TCP\_CORK} può
+ essere specificata insieme a \const{TCP\_NODELAY} soltanto a partire dal
+ kernel 2.5.71.}
\item[\const{TCP\_MAXSEG}] permette di leggere e modificare il valore della
\itindex{Maximum~Segment~Size} MSS dei pacchetti uscenti, e se l'opzione è
\item[\const{TCP\_CORK}] quando questa opzione viene abilitata non vengono
inviati pacchetti di dati fintanto che essa non venga disabilitata; a quel
- punto tutti i pacchetti rimasti in coda saranno inviati.
+ punto tutti i dati rimasti in coda saranno inviati in un solo pacchetto.
+ Questa opzione viene usata per gestire direttamente il flusso dei dati
+ mettendo un ``\textsl{tappo}'' al flusso di uscita, in modo ottimizzare a
+ mano il throughput.
+
+ Questa opzione non è disponibile su tutti i kernel unix-like e deve essere
+ evitata se si vuole avere codice portabile.
\item[\const{TCP\_KEEPINTVL}]