Aggiornamento data copyright
[gapil.git] / tcpsock.tex
index ff3a21885d591e032775433b3210ca42022191c9..102242bc1d657650645e8a0afcbce99308bfbf97 100644 (file)
@@ -1,6 +1,6 @@
 %% tcpsock.tex
 %%
-%% Copyright (C) 2000-2007 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2011 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
@@ -165,12 +165,12 @@ connessione.  Normalmente vengono usate le seguenti opzioni:
   spostare a sinistra il valore della finestra annunciata inserito nel
   pacchetto). Con Linux è possibile indicare al kernel di far negoziare il
   fattore di scala in fase di creazione di una connessione tramite la
-  \textit{sysctl} \texttt{tcp\_window\_scaling} (vedi
-  sez.~\ref{sec:sock_ipv4_sysctl}).\footnote{per poter usare questa
+  \textit{sysctl} \itindex{TCP~window~scaling} \texttt{tcp\_window\_scaling}
+  (vedi sez.~\ref{sec:sock_ipv4_sysctl}).\footnote{per poter usare questa
     funzionalità è comunque necessario ampliare le dimensioni dei buffer di
     ricezione e spedizione, cosa che può essere fatta sia a livello di sistema
-    con le opportune \textit{sysctl} (vedi sez.~\ref{sec:sock_ipv4_sysctl}) che
-    a livello di singoli socket con le relative opzioni (vedi
+    con le opportune \textit{sysctl} (vedi sez.~\ref{sec:sock_ipv4_sysctl})
+    che a livello di singoli socket con le relative opzioni (vedi
     sez.~\ref{sec:sock_tcp_udp_options}).}
 
 \item \textit{timestamp option}, è anche questa una nuova opzione necessaria
@@ -241,9 +241,9 @@ deve ancora eseguire la chiusura passiva a quello che sta eseguendo la
 chiusura attiva.  Nella sequenza indicata i dati verrebbero persi, dato che si
 è chiuso il socket dal lato che esegue la chiusura attiva; esistono tuttavia
 situazioni in cui si vuole poter sfruttare questa possibilità, usando una
-procedura che è chiamata \textit{half-close}; torneremo su questo aspetto e su
-come utilizzarlo in sez.~\ref{sec:TCP_shutdown}, quando parleremo della
-funzione \func{shutdown}.
+procedura che è chiamata \itindex{half-close} \textit{half-close}; torneremo
+su questo aspetto e su come utilizzarlo in sez.~\ref{sec:TCP_shutdown}, quando
+parleremo della funzione \func{shutdown}.
 
 La emissione del FIN avviene quando il socket viene chiuso, questo però non
 avviene solo per la chiamata esplicita della funzione \func{close}, ma anche
@@ -481,7 +481,7 @@ l'elenco delle porte assegnate dalla IANA (la \textit{Internet Assigned Number
   Authority}) ma l'elenco viene costantemente aggiornato e pubblicato su
 internet (una versione aggiornata si può trovare all'indirizzo
 \href{http://www.iana.org/assignments/port-numbers}
-{\texttt{http://www.iana.org/assignments/port-numbers}}); inoltre in un
+{\textsf{http://www.iana.org/assignments/port-numbers}}); inoltre in un
 sistema unix-like un analogo elenco viene mantenuto nel file
 \conffile{/etc/services}, con la corrispondenza fra i vari numeri di porta ed
 il nome simbolico del servizio.  I numeri sono divisi in tre intervalli:
@@ -1980,7 +1980,7 @@ in sez.~\ref{sec:file_line_io} a proposito dell'I/O su terminale), solo allora
 \func{fgets} ritornerà ed il client scriverà quanto immesso sul socket, per
 poi passare a rileggere quanto gli viene inviato all'indietro dal server, che
 a sua volta sarà inviato sullo standard output, che nel caso ne provoca
-l'immediatamente stampa a video.
+l'immediata stampa a video.
 
 
 \subsection{La conclusione normale}
@@ -2775,8 +2775,6 @@ sez.~\ref{sec:file_multiplexing} e non staremo a ripetere quanto detto l
 sappiamo che la funzione ritorna quando uno o più dei file descriptor messi
 sotto controllo è pronto per la relativa operazione.
 
-
-
 In quell'occasione non abbiamo però definito cosa si intende per pronto,
 infatti per dei normali file, o anche per delle pipe, la condizione di essere
 pronti per la lettura o la scrittura è ovvia; invece lo è molto meno nel caso
@@ -3089,9 +3087,9 @@ valori:
 \item[\macro{SHUT\_WR}] chiude il lato in scrittura del socket, non sarà più
   possibile scrivere dati su di esso. Nel caso di socket TCP la chiamata causa
   l'emissione di un segmento FIN, secondo la procedura chiamata
-  \textit{half-close}. Tutti i dati presenti nel buffer di scrittura prima
-  della chiamata saranno inviati, seguiti dalla sequenza di chiusura
-  illustrata in sez.~\ref{sec:TCP_conn_term}.
+  \itindex{half-close} \textit{half-close}. Tutti i dati presenti nel buffer
+  di scrittura prima della chiamata saranno inviati, seguiti dalla sequenza di
+  chiusura illustrata in sez.~\ref{sec:TCP_conn_term}.
 \item[\macro{SHUT\_RDWR}] chiude sia il lato in lettura che quello in
   scrittura del socket. È equivalente alla chiamata in sequenza con
   \macro{SHUT\_RD} e \macro{SHUT\_WR}.
@@ -3583,6 +3581,14 @@ quanto l'uscita 
 anche a questo server le considerazioni finali di
 sez.~\ref{sec:TCP_serv_select}.
 
+
+
+
+\subsection{I/O multiplexing con \func{epoll}}
+\label{sec:TCP_serv_epoll}
+
+Da fare.
+
 % TODO fare esempio con epoll