X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fconnection.h;h=f24fc303d18c7925602d656f9e836a880258ea16;hb=8c2d96013084de950e3a63be4ae6ed626c4093ab;hp=d74d6d20f9fda831b07e54b9e5b6c6b4a5edac00;hpb=f81a2e12b09634cacd4ccf9da584c835ee71bf24;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/connection.h b/include/connection.h index d74d6d20f..f24fc303d 100644 --- a/include/connection.h +++ b/include/connection.h @@ -1,44 +1,79 @@ -/* +/* +------------------------------------+ + * | Inspire Internet Relay Chat Daemon | + * +------------------------------------+ + * + * InspIRCd: (C) 2002-2008 InspIRCd Development Team + * See: http://www.inspircd.org/wiki/index.php/Credits + * + * This program is free but copyrighted software; see + * the file COPYING for details. + * + * --------------------------------------------------- + */ -$Log$ -Revision 1.1 2003/01/26 23:52:59 brain -Modified documentation for base classes -Added base classes +#ifndef __CONNECTION_H__ +#define __CONNECTION_H__ -Revision 1.1 2003/01/26 20:15:00 brain -Added server classes for linking - - -*/ - -#include "inspircd_config.h" +#include +#include "inspircd_config.h" #include "base.h" -#include -#include - -#ifndef __CONNECTION_H__ -#define __CONNECTION_H__ - -class connection : public classbase +#include "socketengine.h" + +/** connection is the base class of User, and holds basic user properties. + * This can be extended for holding other user-like objects in the future. + */ +class CoreExport connection : public EventHandler { public: - int fd; // file descriptor - char host[256]; // hostname - long ip; // ipv4 address - char inbuf[MAXBUF]; // recvQ - long bytes_in; - long bytes_out; - long cmds_in; - long cmds_out; + /** Hostname of connection. + * This should be valid as per RFC1035. + */ + char host[65]; + + /** Stats counter for bytes inbound + */ + int bytes_in; + + /** Stats counter for bytes outbound + */ + int bytes_out; + + /** Stats counter for commands inbound + */ + int cmds_in; + + /** Stats counter for commands outbound + */ + int cmds_out; + + /** True if user has authenticated, false if otherwise + */ bool haspassed; - int port; - int registered; + + /** Used by User to indicate the registration status of the connection + * It is a bitfield of the REG_NICK, REG_USER and REG_ALL bits to indicate + * the connection state. + */ + char registered; + + /** Time the connection was last pinged + */ time_t lastping; + + /** Time the connection was created, set in the constructor. This + * may be different from the time the user's classbase object was + * created. + */ time_t signon; + + /** Time that the connection last sent a message, used to calculate idle time + */ time_t idle_lastmsg; + + /** Used by PING checking code + */ time_t nping; }; #endif -