本文整理汇总了C++中Error::assign方法的典型用法代码示例。如果您正苦于以下问题:C++ Error::assign方法的具体用法?C++ Error::assign怎么用?C++ Error::assign使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Error
的用法示例。
在下文中一共展示了Error::assign方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void UnixSocketAcceptor<Protocol, Dispatcher>::open(UnixProtocol<Protocol> const &protocol, Error &err)
{
if (!err)
{
_fd = ::socket(protocol.domain(), protocol.type(), protocol.protocol());
if (_fd == -1)
err.assign(errno);
}
}
示例2: setsockopt
void UnixSocketAcceptor<Protocol, Dispatcher>::set_option(UnixSocketBase::ReuseAddress const &opt, Error &err)
{
if (!err)
{
int ret;
int b = opt;
ret = setsockopt(_fd, SOL_SOCKET, SO_REUSEADDR, (char*)&b, sizeof(b));
if (ret == -1)
err.assign(errno);
}
}
示例3: cancel
void UnixSocketAcceptor<Protocol, Dispatcher>::close(Error &err)
{
if (!err)
{
int ret;
cancel(err);
ret = ::close(_fd);
if (ret)
err.assign(errno);
_fd = -1;
}
}
示例4: defined
void UnixSocketAcceptor<Protocol, Dispatcher>::set_option(UnixSocketBase::NonBlocking const &opt, Error &err)
{
if (!err)
{
int ret;
#if defined(WIN32)
unsigned long mode = (opt == true) ? 1 : 0;
ret = ioctlsocket(_fd, FIONBIO, &mode);
#else
ret = fcntl(_fd, F_GETFL, 0);
#endif
if (ret == -1)
{
err.assign(errno);
return ;
}
#if !defined(WIN32)
ret = fcntl(_fd, F_SETFL, (opt == true) ? ret | O_NONBLOCK : ret & ~O_NONBLOCK);
if (ret == -1)
err.assign(errno);
#endif
}
}
示例5: fcntl
void UnixSocketAcceptor<Protocol, Dispatcher>::get_option(UnixSocketBase::NonBlocking &opt, Error &err)
{
#if !defined(WIN32)
if (!err)
{
int ret;
int b;
ret = fcntl(_fd, F_GETFL, 0);
if (ret == -1)
err.assign(errno);
else
opt = (ret & O_NONBLOCK) ? true : false;
}
#endif
}
示例6: getpeername
UnixEndpoint<Protocol> UnixSocketAcceptor<Protocol, Dispatcher>::remote_endpoint(Error &err)
{
UnixEndpoint<Protocol> ep;
if (!err)
{
int ret;
socklen_t len = ep.addrlen();
ret = getpeername(_fd, ep.addr(), &len);
if (ret == -1)
err.assign(errno);
}
return ep;
}