From b77dae34999581f42b3a436abdbe35c777b64b98 Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Mon, 30 Dec 2002 17:14:59 +0000 Subject: [PATCH] - Reorganized code for new modules "conn-func.c" and "conn-func.h". --- src/ngircd/conn-zip.c | 5 +- src/ngircd/conn.c | 253 +----------------------------------------- src/ngircd/conn.h | 35 +----- 3 files changed, 10 insertions(+), 283 deletions(-) diff --git a/src/ngircd/conn-zip.c b/src/ngircd/conn-zip.c index 4f5efaad..afdfd5d2 100644 --- a/src/ngircd/conn-zip.c +++ b/src/ngircd/conn-zip.c @@ -14,12 +14,12 @@ #include "portab.h" -#define __conn_zip_c__ +#define CONN_MODULE #ifdef USE_ZLIB -static char UNUSED id[] = "$Id: conn-zip.c,v 1.1 2002/12/30 16:07:23 alex Exp $"; +static char UNUSED id[] = "$Id: conn-zip.c,v 1.2 2002/12/30 17:15:06 alex Exp $"; #include "imp.h" #include @@ -27,6 +27,7 @@ static char UNUSED id[] = "$Id: conn-zip.c,v 1.1 2002/12/30 16:07:23 alex Exp $" #include #include "conn.h" +#include "conn-func.h" #include "log.h" #include "exp.h" diff --git a/src/ngircd/conn.c b/src/ngircd/conn.c index 80da71d7..3975a920 100644 --- a/src/ngircd/conn.c +++ b/src/ngircd/conn.c @@ -12,11 +12,11 @@ */ -#define __conn_c__ +#define CONN_MODULE #include "portab.h" -static char UNUSED id[] = "$Id: conn.c,v 1.112 2002/12/30 16:07:23 alex Exp $"; +static char UNUSED id[] = "$Id: conn.c,v 1.113 2002/12/30 17:14:59 alex Exp $"; #include "imp.h" #include @@ -54,6 +54,7 @@ static char UNUSED id[] = "$Id: conn.c,v 1.112 2002/12/30 16:07:23 alex Exp $"; #include "client.h" #include "conf.h" #include "conn-zip.h" +#include "conn-func.h" #include "log.h" #include "parse.h" #include "tool.h" @@ -82,8 +83,6 @@ LOCAL fd_set My_Listeners; LOCAL fd_set My_Sockets; LOCAL fd_set My_Connects; -LOCAL LONG WCounter; - GLOBAL VOID Conn_Init( VOID ) @@ -615,252 +614,6 @@ Conn_Close( CONN_ID Idx, CHAR *LogMsg, CHAR *FwdMsg, BOOLEAN InformClient ) } /* Conn_Close */ -GLOBAL VOID -Conn_UpdateIdle( CONN_ID Idx ) -{ - /* Idle-Timer zuruecksetzen */ - - assert( Idx > NONE ); - My_Connections[Idx].lastprivmsg = time( NULL ); -} - - -GLOBAL time_t -Conn_GetIdle( CONN_ID Idx ) -{ - /* Idle-Time einer Verbindung liefern (in Sekunden) */ - - assert( Idx > NONE ); - return time( NULL ) - My_Connections[Idx].lastprivmsg; -} /* Conn_GetIdle */ - - -GLOBAL time_t -Conn_LastPing( CONN_ID Idx ) -{ - /* Zeitpunkt des letzten PING liefern */ - - assert( Idx > NONE ); - return My_Connections[Idx].lastping; -} /* Conn_LastPing */ - - -GLOBAL VOID -Conn_SetPenalty( CONN_ID Idx, time_t Seconds ) -{ - /* Penalty-Delay fuer eine Verbindung (in Sekunden) setzen; - * waehrend dieser Zeit wird der entsprechende Socket vom Server - * bei Lese-Operationen komplett ignoriert. Der Delay kann mit - * dieser Funktion nur erhoeht, nicht aber verringert werden. */ - - time_t t; - - assert( Idx > NONE ); - assert( Seconds >= 0 ); - - t = time( NULL ) + Seconds; - if( t > My_Connections[Idx].delaytime ) My_Connections[Idx].delaytime = t; -} /* Conn_SetPenalty */ - - -GLOBAL VOID -Conn_ResetPenalty( CONN_ID Idx ) -{ - assert( Idx > NONE ); - My_Connections[Idx].delaytime = 0; -} /* Conn_ResetPenalty */ - - -GLOBAL VOID -Conn_ClearFlags( VOID ) -{ - /* Alle Connection auf "nicht-markiert" setzen */ - - CONN_ID i; - - for( i = 0; i < Pool_Size; i++ ) My_Connections[i].flag = 0; -} /* Conn_ClearFlags */ - - -GLOBAL INT -Conn_Flag( CONN_ID Idx ) -{ - /* Ist eine Connection markiert (TRUE) oder nicht? */ - - assert( Idx > NONE ); - return My_Connections[Idx].flag; -} /* Conn_Flag */ - - -GLOBAL VOID -Conn_SetFlag( CONN_ID Idx, INT Flag ) -{ - /* Connection markieren */ - - assert( Idx > NONE ); - My_Connections[Idx].flag = Flag; -} /* Conn_SetFlag */ - - -GLOBAL CONN_ID -Conn_First( VOID ) -{ - /* Connection-Struktur der ersten Verbindung liefern; - * Ist keine Verbindung vorhanden, wird NONE geliefert. */ - - CONN_ID i; - - for( i = 0; i < Pool_Size; i++ ) - { - if( My_Connections[i].sock != NONE ) return i; - } - return NONE; -} /* Conn_First */ - - -GLOBAL CONN_ID -Conn_Next( CONN_ID Idx ) -{ - /* Naechste Verbindungs-Struktur liefern; existiert keine - * weitere, so wird NONE geliefert. */ - - CONN_ID i = NONE; - - assert( Idx > NONE ); - - for( i = Idx + 1; i < Pool_Size; i++ ) - { - if( My_Connections[i].sock != NONE ) return i; - } - return NONE; -} /* Conn_Next */ - - -GLOBAL VOID -Conn_SetOption( CONN_ID Idx, INT Option ) -{ - /* Option fuer Verbindung setzen. - * Initial sind alle Optionen _nicht_ gesetzt. */ - - assert( Idx > NONE ); - assert( Option != 0 ); - - My_Connections[Idx].options |= Option; -} /* Conn_SetOption */ - - -GLOBAL VOID -Conn_UnsetOption( CONN_ID Idx, INT Option ) -{ - /* Option fuer Verbindung loeschen */ - - assert( Idx > NONE ); - assert( Option != 0 ); - - My_Connections[Idx].options &= ~Option; -} /* Conn_UnsetOption */ - - -GLOBAL INT -Conn_Options( CONN_ID Idx ) -{ - assert( Idx > NONE ); - return My_Connections[Idx].options; -} /* Conn_Options */ - - -GLOBAL time_t -Conn_StartTime( CONN_ID Idx ) -{ - /* Zeitpunkt des Link-Starts liefern (in Sekunden) */ - - assert( Idx > NONE ); - return My_Connections[Idx].starttime; -} /* Conn_Uptime */ - - -GLOBAL INT -Conn_SendQ( CONN_ID Idx ) -{ - /* Laenge der Daten im Schreibbuffer liefern */ - - assert( Idx > NONE ); -#ifdef USE_ZLIB - if( My_Connections[Idx].options & CONN_ZIP ) return My_Connections[Idx].zip.wdatalen; - else -#endif - return My_Connections[Idx].wdatalen; -} /* Conn_SendQ */ - - -GLOBAL LONG -Conn_SendMsg( CONN_ID Idx ) -{ - /* Anzahl gesendeter Nachrichten liefern */ - - assert( Idx > NONE ); - return My_Connections[Idx].msg_out; -} /* Conn_SendMsg */ - - -GLOBAL LONG -Conn_SendBytes( CONN_ID Idx ) -{ - /* Anzahl gesendeter Bytes (unkomprimiert) liefern */ - - assert( Idx > NONE ); - return My_Connections[Idx].bytes_out; -} /* Conn_SendBytes */ - - -GLOBAL INT -Conn_RecvQ( CONN_ID Idx ) -{ - /* Laenge der Daten im Lesebuffer liefern */ - - assert( Idx > NONE ); -#ifdef USE_ZLIB - if( My_Connections[Idx].options & CONN_ZIP ) return My_Connections[Idx].zip.rdatalen; - else -#endif - return My_Connections[Idx].rdatalen; -} /* Conn_RecvQ */ - - -GLOBAL LONG -Conn_RecvMsg( CONN_ID Idx ) -{ - /* Anzahl empfangener Nachrichten liefern */ - - assert( Idx > NONE ); - return My_Connections[Idx].msg_in; -} /* Conn_RecvMsg */ - - -GLOBAL LONG -Conn_RecvBytes( CONN_ID Idx ) -{ - /* Anzahl empfangener Bytes (unkomprimiert) liefern */ - - assert( Idx > NONE ); - return My_Connections[Idx].bytes_in; -} /* Conn_RecvBytes */ - - -GLOBAL VOID -Conn_ResetWCounter( VOID ) -{ - WCounter = 0; -} /* Conn_ResetWCounter */ - - -GLOBAL LONG -Conn_WCounter( VOID ) -{ - return WCounter; -} /* Conn_WCounter */ - - LOCAL BOOLEAN Try_Write( CONN_ID Idx ) { diff --git a/src/ngircd/conn.h b/src/ngircd/conn.h index 130cea06..e9ca711d 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.28 2002/12/30 16:07:23 alex Exp $ + * $Id: conn.h,v 1.29 2002/12/30 17:14:59 alex Exp $ * * Connection management (header) */ @@ -29,7 +29,7 @@ typedef INT CONN_ID; -#if defined(__conn_c__) || defined(__conn_zip_c__) +#ifdef CONN_MODULE #include "defines.h" #include "resolve.h" @@ -74,8 +74,9 @@ typedef struct _Connection GLOBAL CONNECTION *My_Connections; GLOBAL CONN_ID Pool_Size; +GLOBAL LONG WCounter; -#endif /* defined() */ +#endif /* CONN_MODULE */ GLOBAL VOID Conn_Init PARAMS((VOID )); @@ -93,34 +94,6 @@ GLOBAL BOOLEAN Conn_WriteStr PARAMS(( CONN_ID Idx, CHAR *Format, ... )); GLOBAL VOID Conn_Close PARAMS(( CONN_ID Idx, CHAR *LogMsg, CHAR *FwdMsg, BOOLEAN InformClient )); -GLOBAL VOID Conn_UpdateIdle PARAMS(( CONN_ID Idx )); -GLOBAL time_t Conn_GetIdle PARAMS(( CONN_ID Idx )); -GLOBAL time_t Conn_LastPing PARAMS(( CONN_ID Idx )); -GLOBAL time_t Conn_StartTime PARAMS(( CONN_ID Idx )); -GLOBAL INT Conn_SendQ PARAMS(( CONN_ID Idx )); -GLOBAL INT Conn_RecvQ PARAMS(( CONN_ID Idx )); -GLOBAL LONG Conn_SendMsg PARAMS(( CONN_ID Idx )); -GLOBAL LONG Conn_RecvMsg PARAMS(( CONN_ID Idx )); -GLOBAL LONG Conn_SendBytes PARAMS(( CONN_ID Idx )); -GLOBAL LONG Conn_RecvBytes PARAMS(( CONN_ID Idx )); - -GLOBAL VOID Conn_SetPenalty PARAMS(( CONN_ID Idx, time_t Seconds )); -GLOBAL VOID Conn_ResetPenalty PARAMS(( CONN_ID Idx )); - -GLOBAL VOID Conn_ClearFlags PARAMS(( VOID )); -GLOBAL INT Conn_Flag PARAMS(( CONN_ID Idx )); -GLOBAL VOID Conn_SetFlag PARAMS(( CONN_ID Idx, INT Flag )); - -GLOBAL CONN_ID Conn_First PARAMS(( VOID )); -GLOBAL CONN_ID Conn_Next PARAMS(( CONN_ID Idx )); - -GLOBAL VOID Conn_SetOption PARAMS(( CONN_ID Idx, INT Option )); -GLOBAL VOID Conn_UnsetOption PARAMS(( CONN_ID Idx, INT Option )); -GLOBAL INT Conn_Options PARAMS(( CONN_ID Idx )); - -GLOBAL VOID Conn_ResetWCounter PARAMS(( VOID )); -GLOBAL LONG Conn_WCounter PARAMS(( VOID )); - GLOBAL INT Conn_MaxFD; -- 2.39.2