summaryrefslogtreecommitdiff
path: root/src/socket.cpp
diff options
context:
space:
mode:
authorGravatar w00t2008-09-08 16:58:41 +0000
committerGravatar w00t2008-09-08 16:58:41 +0000
commit74f401f1997b89783217cd636f396e35f5c2a9d0 (patch)
treec988875a1ceb7ba3b3baa37d04485ac0e02988a4 /src/socket.cpp
parentMove this to another (yet more appropriate) place, saves some syscalls in an ... (diff)
Make OnAcceptReady pure virtual, rename ListenSocket to ListenSocketBase, create ClientListenSocket and inherit from ListenSocketBase to create User objects.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10469 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/socket.cpp')
-rw-r--r--src/socket.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/socket.cpp b/src/socket.cpp
index f1a814358..01c07e2d0 100644
--- a/src/socket.cpp
+++ b/src/socket.cpp
@@ -172,6 +172,7 @@ int irc::sockets::OpenTCPSocket(char* addr, int socktype)
}
}
+// XXX: it would be VERY nice to genericize this so all listen stuff (server/client) could use the one function. -- w00t
int InspIRCd::BindPorts(bool, int &ports_found, FailedPortList &failed_ports)
{
char configToken[MAXBUF], Addr[MAXBUF], Type[MAXBUF];
@@ -180,7 +181,7 @@ int InspIRCd::BindPorts(bool, int &ports_found, FailedPortList &failed_ports)
std::vector<std::pair<std::string, int> > old_ports;
/* XXX: Make a copy of the old ip/port pairs here */
- for (std::vector<ListenSocket*>::iterator o = Config->ports.begin(); o != Config->ports.end(); ++o)
+ for (std::vector<ListenSocketBase *>::iterator o = Config->ports.begin(); o != Config->ports.end(); ++o)
old_ports.push_back(make_pair((*o)->GetIP(), (*o)->GetPort()));
for (int count = 0; count < Config->ConfValueEnum(Config->config_data, "bind"); count++)
@@ -202,7 +203,7 @@ int InspIRCd::BindPorts(bool, int &ports_found, FailedPortList &failed_ports)
*Addr = 0;
bool skip = false;
- for (std::vector<ListenSocket*>::iterator n = Config->ports.begin(); n != Config->ports.end(); ++n)
+ for (std::vector<ListenSocketBase *>::iterator n = Config->ports.begin(); n != Config->ports.end(); ++n)
{
if (((*n)->GetIP() == Addr) && ((*n)->GetPort() == portno))
{
@@ -220,7 +221,7 @@ int InspIRCd::BindPorts(bool, int &ports_found, FailedPortList &failed_ports)
}
if (!skip)
{
- ListenSocket* ll = new ListenSocket(this, portno, Addr);
+ ClientListenSocket *ll = new ClientListenSocket(this, portno, Addr);
if (ll->GetFd() > -1)
{
bound++;
@@ -241,7 +242,7 @@ int InspIRCd::BindPorts(bool, int &ports_found, FailedPortList &failed_ports)
{
for (size_t k = 0; k < old_ports.size(); ++k)
{
- for (std::vector<ListenSocket*>::iterator n = Config->ports.begin(); n != Config->ports.end(); ++n)
+ for (std::vector<ListenSocketBase *>::iterator n = Config->ports.begin(); n != Config->ports.end(); ++n)
{
if (((*n)->GetIP() == old_ports[k].first) && ((*n)->GetPort() == old_ports[k].second))
{