Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

connection Class Reference

Please note: classes serverrec and userrec both inherit from class connection. More...

#include <connection.h>

Inheritance diagram for connection:

Inheritance graph
[legend]
Collaboration diagram for connection:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 connection ()
 Default constructor.

bool CreateListener (char *host, int p)
 Create a listening socket on 'host' using port number 'p'.

bool BeginLink (char *targethost, int port, char *password, char *servername, int myport)
 Begin an outbound link to another ircd at targethost.

bool MeshCookie (char *targethost, int port, long cookie, char *servername)
 Begin an outbound mesh link to another ircd on a network you are already an authenticated member of.

void TerminateLink (char *targethost)
 Terminate a link to 'targethost' by calling the ircd_connector::CloseConnection method.

bool SendPacket (char *message, const char *host)
 Send a message to a server by name, if the server is unavailable directly route the packet via another server If the server still cannot be reached after attempting to route the message remotely, returns false.

bool RecvPacket (std::deque< std::string > &messages, char *host)
 Returns the next available packet and returns true if data is available.

ircd_connectorFindHost (std::string host)
 Find the ircd_connector oject related to a certain servername given in 'host'.

bool AddIncoming (int fd, char *targethost, int sourceport)
 Add an incoming connection to the connection pool.

long GenKey ()
 This function is deprecated and may be removed in a later alpha/beta.


Public Attributes

int fd
 File descriptor of the connection.

char host [256]
 Hostname of connection.

long ip
 IP of connection.

char inbuf [MAXBUF]
 Inbuf of connection.

long bytes_in
 Stats counter for bytes inbound.

long bytes_out
 Stats counter for bytes outbound.

long cmds_in
 Stats counter for commands inbound.

long cmds_out
 Stats counter for commands outbound.

bool haspassed
 True if server/user has authenticated, false if otherwise.

int port
 Port number For a userrec, this is the port they connected to the network on.

int registered
 Used by userrec to indicate the registration status of the connection.

short int state
 Reserved for future use.

time_t lastping
 Time the connection was last pinged.

time_t signon
 Time the connection was created, set in the constructor.

time_t idle_lastmsg
 Time that the connection last sent data, used to calculate idle time.

time_t nping
 Used by PING checks with clients.

char internal_addr [1024]
 Unused, will be removed in a future alpha/beta.

int internal_port
 Unused, will be removed in a future alpha/beta.

std::vector< ircd_connectorconnectors
 With a serverrec, this is a list of all established server connections.


Detailed Description

Please note: classes serverrec and userrec both inherit from class connection.

Definition at line 160 of file connection.h.


Constructor & Destructor Documentation

connection::connection  
 

Default constructor.


Member Function Documentation

bool connection::AddIncoming int    fd,
char *    targethost,
int    sourceport
 

Add an incoming connection to the connection pool.

(reserved for core use)

bool connection::BeginLink char *    targethost,
int    port,
char *    password,
char *    servername,
int    myport
 

Begin an outbound link to another ircd at targethost.

bool connection::CreateListener char *    host,
int    p
 

Create a listening socket on 'host' using port number 'p'.

ircd_connector* connection::FindHost std::string    host
 

Find the ircd_connector oject related to a certain servername given in 'host'.

long connection::GenKey  
 

This function is deprecated and may be removed in a later alpha/beta.

bool connection::MeshCookie char *    targethost,
int    port,
long    cookie,
char *    servername
 

Begin an outbound mesh link to another ircd on a network you are already an authenticated member of.

bool connection::RecvPacket std::deque< std::string > &    messages,
char *    host
 

Returns the next available packet and returns true if data is available.

Writes the servername the data came from to 'host'. If no data is available this function returns false. This function will automatically close broken links and reroute pathways, generating split messages on the network.

bool connection::SendPacket char *    message,
const char *    host
 

Send a message to a server by name, if the server is unavailable directly route the packet via another server If the server still cannot be reached after attempting to route the message remotely, returns false.

void connection::TerminateLink char *    targethost
 

Terminate a link to 'targethost' by calling the ircd_connector::CloseConnection method.


Member Data Documentation

long connection::bytes_in
 

Stats counter for bytes inbound.

Definition at line 181 of file connection.h.

Referenced by userrec::userrec().

long connection::bytes_out
 

Stats counter for bytes outbound.

Definition at line 185 of file connection.h.

Referenced by userrec::userrec().

long connection::cmds_in
 

Stats counter for commands inbound.

Definition at line 189 of file connection.h.

Referenced by userrec::userrec().

long connection::cmds_out
 

Stats counter for commands outbound.

Definition at line 193 of file connection.h.

Referenced by userrec::userrec().

std::vector<ircd_connector> connection::connectors
 

With a serverrec, this is a list of all established server connections.

With a userrec this is unused.

Definition at line 240 of file connection.h.

int connection::fd
 

File descriptor of the connection.

Definition at line 165 of file connection.h.

Referenced by Server::SendTo(), serverrec::serverrec(), and userrec::userrec().

bool connection::haspassed
 

True if server/user has authenticated, false if otherwise.

Definition at line 197 of file connection.h.

Referenced by userrec::userrec().

char connection::host[256]
 

Hostname of connection.

Not used if this is a serverrec

Definition at line 169 of file connection.h.

time_t connection::idle_lastmsg
 

Time that the connection last sent data, used to calculate idle time.

Definition at line 223 of file connection.h.

Referenced by userrec::userrec().

char connection::inbuf[MAXBUF]
 

Inbuf of connection.

Only used for userrec

Definition at line 177 of file connection.h.

char connection::internal_addr[1024]
 

Unused, will be removed in a future alpha/beta.

Definition at line 231 of file connection.h.

int connection::internal_port
 

Unused, will be removed in a future alpha/beta.

Definition at line 235 of file connection.h.

long connection::ip
 

IP of connection.

Reserved for future use.

Definition at line 173 of file connection.h.

Referenced by userrec::userrec().

time_t connection::lastping
 

Time the connection was last pinged.

Definition at line 215 of file connection.h.

Referenced by serverrec::serverrec(), and userrec::userrec().

time_t connection::nping
 

Used by PING checks with clients.

Definition at line 227 of file connection.h.

Referenced by userrec::userrec().

int connection::port
 

Port number For a userrec, this is the port they connected to the network on.

For a serverrec this is the current listening port of the serverrec object.

Definition at line 203 of file connection.h.

Referenced by userrec::userrec().

int connection::registered
 

Used by userrec to indicate the registration status of the connection.

Definition at line 207 of file connection.h.

Referenced by userrec::userrec().

time_t connection::signon
 

Time the connection was created, set in the constructor.

Definition at line 219 of file connection.h.

Referenced by serverrec::serverrec(), and userrec::userrec().

short int connection::state
 

Reserved for future use.

Definition at line 211 of file connection.h.


The documentation for this class was generated from the following file:
Generated on Sat Apr 17 13:33:54 2004 for InspIRCd by doxygen1.3-rc3