about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2007-05-09 13:21:11 +0000
committerFlorian Westphal <fw@strlen.de>2007-05-09 13:21:11 +0000
commit63e89ceb21c4a12d1f3d29342b45ed2a5e513b2b (patch)
tree630de0900883d0f8acab304084eb1a3fff7aa1d2 /src
parent09416f36bf9fde8365022bc1f4d5f73d868edd7c (diff)
downloadngircd-63e89ceb21c4a12d1f3d29342b45ed2a5e513b2b.tar.gz
ngircd-63e89ceb21c4a12d1f3d29342b45ed2a5e513b2b.zip
make needlesly global function Conn_Write static.
Diffstat (limited to 'src')
-rw-r--r--src/ngircd/conn.c35
-rw-r--r--src/ngircd/conn.h3
2 files changed, 20 insertions, 18 deletions
diff --git a/src/ngircd/conn.c b/src/ngircd/conn.c
index 513c3c70..05130973 100644
--- a/src/ngircd/conn.c
+++ b/src/ngircd/conn.c
@@ -17,7 +17,7 @@
 #include "portab.h"
 #include "io.h"
 
-static char UNUSED id[] = "$Id: conn.c,v 1.206 2007/05/09 08:55:14 fw Exp $";
+static char UNUSED id[] = "$Id: conn.c,v 1.207 2007/05/09 13:21:11 fw Exp $";
 
 #include "imp.h"
 #include <assert.h>
@@ -83,6 +83,7 @@ static char UNUSED id[] = "$Id: conn.c,v 1.206 2007/05/09 08:55:14 fw Exp $";
 
 
 static bool Handle_Write PARAMS(( CONN_ID Idx ));
+static bool Conn_Write PARAMS(( CONN_ID Idx, char *Data, size_t Len ));
 static int New_Connection PARAMS(( int Sock ));
 static CONN_ID Socket2Index PARAMS(( int Sock ));
 static void Read_Request PARAMS(( CONN_ID Idx ));
@@ -607,12 +608,16 @@ va_dcl
 } /* Conn_WriteStr */
 
 
-GLOBAL bool
+/**
+ * Append Data to outbound write buf.
+ * @param Idx Index fo the connection.
+ * @param Data pointer to data
+ * @param Len length of Data
+ * @return true on success, false otherwise.
+ */
+static bool
 Conn_Write( CONN_ID Idx, char *Data, size_t Len )
 {
-	/* Daten in Socket schreiben. Bei "fatalen" Fehlern wird
-	 * der Client disconnectiert und false geliefert. */
-
 	CLIENT *c;
 	size_t writebuf_limit = WRITEBUFFER_LEN;
 	assert( Idx > NONE );
@@ -623,21 +628,19 @@ Conn_Write( CONN_ID Idx, char *Data, size_t Len )
 	assert( c != NULL);
 	if (Client_Type(c) == CLIENT_SERVER)
 		writebuf_limit = WRITEBUFFER_LEN * 10;
-	/* Ist der entsprechende Socket ueberhaupt noch offen? In einem
-	 * "Handler-Durchlauf" kann es passieren, dass dem nicht mehr so
-	 * ist, wenn einer von mehreren Conn_Write()'s fehlgeschlagen ist.
-	 * In diesem Fall wird hier einfach ein Fehler geliefert. */
+	/* Is the socket still open? A previous call to Conn_Write()
+	 * may have closed the connection due to a fatal error.
+	 * In this case it is sufficient to return an error */
 	if( My_Connections[Idx].sock <= NONE ) {
 		LogDebug("Skipped write on closed socket (connection %d).", Idx );
 		return false;
 	}
 
-	/* Pruefen, ob im Schreibpuffer genuegend Platz ist. Ziel ist es,
-	 * moeglichts viel im Puffer zu haben und _nicht_ gleich alles auf den
-	 * Socket zu schreiben (u.a. wg. Komprimierung). */
+	/* check if outbound buffer has enough space for data.
+	 * the idea is to keep data buffered  before sending, e.g. to improve
+	 * compression */
 	if (array_bytes(&My_Connections[Idx].wbuf) >= writebuf_limit) {
-		/* Der Puffer ist dummerweise voll. Jetzt versuchen, den Puffer
-		 * zu schreiben, wenn das nicht klappt, haben wir ein Problem ... */
+		/* Buffer is full, flush. Handle_Write deals with low-level errors, if any. */
 		if( ! Handle_Write( Idx )) return false;
 
 		/* check again: if our writebuf is twice als large as the initial limit: Kill connection */
@@ -651,13 +654,13 @@ Conn_Write( CONN_ID Idx, char *Data, size_t Len )
 
 #ifdef ZLIB
 	if ( Conn_OPTION_ISSET( &My_Connections[Idx], CONN_ZIP )) {
-		/* Daten komprimieren und in Puffer kopieren */
+		/* compress and move data to write buffer */
 		if( ! Zip_Buffer( Idx, Data, Len )) return false;
 	}
 	else
 #endif
 	{
-		/* Daten in Puffer kopieren */
+		/* copy data to write buffer */
 		if (!array_catb( &My_Connections[Idx].wbuf, Data, Len ))
 			return false;
 
diff --git a/src/ngircd/conn.h b/src/ngircd/conn.h
index 9a794a1e..03dcbfd1 100644
--- a/src/ngircd/conn.h
+++ b/src/ngircd/conn.h
@@ -8,7 +8,7 @@
  * (at your option) any later version.
  * Please read the file COPYING, README and AUTHORS for more information.
  *
- * $Id: conn.h,v 1.43 2007/04/04 21:52:12 fw Exp $
+ * $Id: conn.h,v 1.44 2007/05/09 13:21:11 fw Exp $
  *
  * Connection management (header)
  */
@@ -88,7 +88,6 @@ GLOBAL void Conn_ExitListeners PARAMS(( void ));
 
 GLOBAL void Conn_Handler PARAMS(( void ));
 
-GLOBAL bool Conn_Write PARAMS(( CONN_ID Idx, char *Data, size_t Len ));
 GLOBAL bool Conn_WriteStr PARAMS(( CONN_ID Idx, char *Format, ... ));
 
 GLOBAL void Conn_Close PARAMS(( CONN_ID Idx, char *LogMsg, char *FwdMsg, bool InformClient ));