SocketEngine::AddFd(this, FD_WANT_FAST_READ | FD_WANT_EDGE_WRITE);
}
-void BufferedSocket::DoConnect(const std::string &ipaddr, int aport, unsigned long maxtime, const std::string &connectbindip)
+void BufferedSocket::DoConnect(const std::string& ipaddr, int aport, unsigned int maxtime, const std::string& connectbindip)
{
BufferedSocketError err = BeginConnect(ipaddr, aport, maxtime, connectbindip);
if (err != I_ERR_NONE)
}
}
-BufferedSocketError BufferedSocket::BeginConnect(const std::string &ipaddr, int aport, unsigned long maxtime, const std::string &connectbindip)
+BufferedSocketError BufferedSocket::BeginConnect(const std::string& ipaddr, int aport, unsigned int maxtime, const std::string& connectbindip)
{
irc::sockets::sockaddrs addr, bind;
if (!irc::sockets::aptosa(ipaddr, aport, addr))
return BeginConnect(addr, bind, maxtime);
}
-BufferedSocketError BufferedSocket::BeginConnect(const irc::sockets::sockaddrs& dest, const irc::sockets::sockaddrs& bind, unsigned long timeout)
+BufferedSocketError BufferedSocket::BeginConnect(const irc::sockets::sockaddrs& dest, const irc::sockets::sockaddrs& bind, unsigned int timeout)
{
if (fd < 0)
- fd = socket(dest.sa.sa_family, SOCK_STREAM, 0);
+ fd = socket(dest.family(), SOCK_STREAM, 0);
if (fd < 0)
return I_ERR_SOCKET;
- if (bind.sa.sa_family != 0)
+ if (bind.family() != 0)
{
if (SocketEngine::Bind(fd, bind) < 0)
return I_ERR_BIND;
SocketEngine::NonBlocking(fd);
- if (SocketEngine::Connect(this, &dest.sa, dest.sa_size()) == -1)
+ if (SocketEngine::Connect(this, dest) == -1)
{
if (errno != EINPROGRESS)
return I_ERR_CONNECT;
const SendQueue::Element& elem = *i;
iovecs[j].iov_base = const_cast<char*>(elem.data());
iovecs[j].iov_len = elem.length();
- rv_max += elem.length();
+ rv_max += iovecs[j].iov_len;
}
rv = SocketEngine::WriteV(this, iovecs, bufcount);
}
}
}
+bool StreamSocket::OnSetEndPoint(const irc::sockets::sockaddrs& local, const irc::sockets::sockaddrs& remote)
+{
+ return false;
+}
+
void StreamSocket::WriteData(const std::string &data)
{
if (fd < 0)