本文整理汇总了C++中impl_type::reset方法的典型用法代码示例。如果您正苦于以下问题:C++ impl_type::reset方法的具体用法?C++ impl_type::reset怎么用?C++ impl_type::reset使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类impl_type
的用法示例。
在下文中一共展示了impl_type::reset方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: open_namedpipe
static bool open_namedpipe(impl_type& impl,const String& name_)
{
String name=make_pipename(name_);
int fd;
struct sockaddr_un un;
if ((fd = socket(AF_UNIX, SOCK_STREAM, 0)) < 0)
{
return false;
}
impl.reset(fd);
socklen_t nlen=unix_sockaddr(un,make_pipename(String::Format("%s.%5d",name_,getpid())));
if (bind(fd, (struct sockaddr *)&un, nlen) < 0)
{
return false;
}
unlink(un.sun_path);
nlen=unix_sockaddr(un,name);
if (connect(fd, (struct sockaddr *)&un, nlen) < 0)
{
return false;
}
return true;
}
示例2: accept_namedpipe
static bool accept_namedpipe(impl_type& impl)
{
int clifd;
struct sockaddr_un un;
socklen_t len = sizeof(un);
for(;;)
{
if(Thread::this_thread().test_canceled())
{
return false;
}
if ((clifd = accept(impl.serv, (struct sockaddr *)&un, &len)) >= 0)
{
break;
}
return false;
}
impl.reset(clifd);
return true;
}
示例3: link_pipe
static bool link_pipe(impl_type& reader,impl_type& writer,int buflen)
{
HANDLE hReader,hWriter;
bool flag=::CreatePipe(&hReader,&hWriter,NULL,buflen)!=0;
if(flag)
{
reader.reset(hReader);
writer.reset(hWriter);
}
else
{
reader.reset();
writer.reset();
}
return flag;
}
示例4: close_pipe
static void close_pipe(impl_type& impl)
{
impl.reset();
if(impl.serv.ok())
{
impl.serv.reset();
String tmp=make_pipename(impl.name);
unlink(tmp.c_str());
impl.name="";
}
}
示例5: create_namedpipe
static bool create_namedpipe(impl_type& impl,const String& name_)
{
String name=make_pipename(name_);
int tout=0;//NMPWAIT_WAIT_FOREVER;
int nnum=PIPE_UNLIMITED_INSTANCES;
HANDLE hPipe = CreateNamedPipeW(IConv::to_wide(name).c_str(), PIPE_ACCESS_DUPLEX,
PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_WAIT,
nnum, 0, 0, tout, NULL);
if(hPipe==INVALID_HANDLE_VALUE)
{
return false;
}
impl.reset(hPipe);
return true;
}
示例6: close_pipe
static void close_pipe(impl_type& impl)
{
impl.reset();
}
示例7: disconnect_namedpipe
static void disconnect_namedpipe(impl_type& impl)
{
impl.reset();
}