From 7d283ead756f22b2c659414b89938777ad97599f Mon Sep 17 00:00:00 2001 From: brain Date: Mon, 12 Dec 2005 22:29:06 +0000 Subject: Efficiency suggestion by w00t, faster processing of module sockets at the expense of a bit of ram git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2357 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/socket.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/socket.cpp') diff --git a/src/socket.cpp b/src/socket.cpp index 625c0ff70..8da570fe4 100644 --- a/src/socket.cpp +++ b/src/socket.cpp @@ -46,6 +46,8 @@ extern time_t TIME; extern bool unlimitcore; extern int MaxConn; +InspSocket* socket_ref[65535]; + InspSocket::InspSocket() { this->state = I_DISCONNECTED; @@ -57,6 +59,7 @@ InspSocket::InspSocket(int newfd, char* ip) this->state = I_CONNECTED; this->IP = ip; SE->AddFd(this->fd,true,X_ESTAB_MODULE); + socket_ref[this->fd] = this; } InspSocket::InspSocket(std::string host, int port, bool listening, unsigned long maxtime) @@ -85,6 +88,7 @@ InspSocket::InspSocket(std::string host, int port, bool listening, unsigned long { this->state = I_LISTENING; SE->AddFd(this->fd,true,X_ESTAB_MODULE); + socket_ref[this->fd] = this; log(DEBUG,"New socket now in I_LISTENING state"); return; } @@ -132,6 +136,7 @@ InspSocket::InspSocket(std::string host, int port, bool listening, unsigned long } this->state = I_CONNECTING; SE->AddFd(this->fd,false,X_ESTAB_MODULE); + socket_ref[this->fd] = this; return; } } @@ -143,6 +148,7 @@ void InspSocket::Close() this->OnClose(); shutdown(this->fd,2); close(this->fd); + socket_ref[this->fd] = NULL; this->fd = -1; } } -- cgit v1.3.1-10-gc9f91