summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-08-09 14:53:19 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-08-09 14:53:19 +0000
commitab46b96db4d457e6a4f2e978c38b79762cdeb9d5 (patch)
tree01b9489ae9804ee45b765ad7045efee54b34347b /include
parentf0680338833dd76966ba1769980abb9eafb50467 (diff)
Move socket_ref and module_sockets vectors/arrays into InspIRCd*. These are public members, which InspSocket can modify.
(eventually, this will be marshalled safely through some accessors). When constructing an InspSocket you must now provide an InspIRCd* instance to 'attach' the socket to. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4812 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'include')
-rw-r--r--include/inspircd.h2
-rw-r--r--include/inspsocket.h8
-rw-r--r--include/userprocess.h2
3 files changed, 8 insertions, 4 deletions
diff --git a/include/inspircd.h b/include/inspircd.h
index 91d57f75d..54500cd4d 100644
--- a/include/inspircd.h
+++ b/include/inspircd.h
@@ -104,6 +104,8 @@ class InspIRCd : public classbase
SocketEngine* SE;
serverstats* stats;
ServerConfig* Config;
+ std::vector<InspSocket*> module_sockets;
+ InspSocket* socket_ref[MAX_DESCRIPTORS];
DNS* Res;
std::string GetRevision();
diff --git a/include/inspsocket.h b/include/inspsocket.h
index d2a8ed522..42ce01a27 100644
--- a/include/inspsocket.h
+++ b/include/inspsocket.h
@@ -35,6 +35,7 @@ enum InspSocketState { I_DISCONNECTED, I_CONNECTING, I_CONNECTED, I_LISTENING, I
enum InspSocketError { I_ERR_TIMEOUT, I_ERR_SOCKET, I_ERR_CONNECT, I_ERR_BIND, I_ERR_RESOLVE, I_ERR_WRITE, I_ERR_NOMOREFDS };
class InspSocket;
+class InspIRCd;
/**
* InspSocket is an extendable socket class which modules
@@ -50,6 +51,7 @@ class InspSocket;
class InspSocket : public Extensible
{
public:
+ InspIRCd* Instance;
std::deque<std::string> outbuffer;
@@ -165,7 +167,7 @@ class InspSocket : public Extensible
* The default constructor does nothing
* and should not be used.
*/
- InspSocket();
+ InspSocket(InspIRCd* SI);
/**
* This constructor is used to associate
@@ -175,7 +177,7 @@ class InspSocket : public Extensible
* will be set with the given IP address
* and placed in CONNECTED state.
*/
- InspSocket(int newfd, const char* ip);
+ InspSocket(InspIRCd* SI, int newfd, const char* ip);
/**
* This constructor is used to create a new
@@ -188,7 +190,7 @@ class InspSocket : public Extensible
* @param listening true to listen on the given host:port pair, or false to connect to them
* @param maxtime Number of seconds to wait, if connecting, before the connection times out and an OnTimeout() event is generated
*/
- InspSocket(const std::string &ipaddr, int port, bool listening, unsigned long maxtime);
+ InspSocket(InspIRCd* SI, const std::string &ipaddr, int port, bool listening, unsigned long maxtime);
/**
* This method is called when an outbound
diff --git a/include/userprocess.h b/include/userprocess.h
index cc3d713a0..1a93e68cd 100644
--- a/include/userprocess.h
+++ b/include/userprocess.h
@@ -10,6 +10,6 @@ void CheckRoot();
void OpenLog(char** argv, int argc);
void DoBackgroundUserStuff(time_t TIME);
void ProcessUser(userrec* cu);
-void DoSocketTimeouts(time_t TIME);
+void DoSocketTimeouts(time_t TIME, InspIRCd* SI);
#endif