diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-08-09 14:53:19 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-08-09 14:53:19 +0000 |
commit | ab46b96db4d457e6a4f2e978c38b79762cdeb9d5 (patch) | |
tree | 01b9489ae9804ee45b765ad7045efee54b34347b /include | |
parent | f0680338833dd76966ba1769980abb9eafb50467 (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.h | 2 | ||||
-rw-r--r-- | include/inspsocket.h | 8 | ||||
-rw-r--r-- | include/userprocess.h | 2 |
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 |