当前位置: 首页>>代码示例>>C++>>正文


C++ impl_type::reset方法代码示例

本文整理汇总了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;
	}
开发者ID:xuanya4202,项目名称:ew_base,代码行数:28,代码来源:pipe.cpp

示例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;

	}
开发者ID:xuanya4202,项目名称:ew_base,代码行数:27,代码来源:pipe.cpp

示例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;
	}
开发者ID:xuanya4202,项目名称:ew_base,代码行数:17,代码来源:pipe.cpp

示例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="";
		}
	}
开发者ID:hanwd,项目名称:ew_base,代码行数:11,代码来源:pipe.cpp

示例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;
	}
开发者ID:xuanya4202,项目名称:ew_base,代码行数:20,代码来源:pipe.cpp

示例6: close_pipe

	static void close_pipe(impl_type& impl)
	{
		impl.reset();
	}
开发者ID:xuanya4202,项目名称:ew_base,代码行数:4,代码来源:pipe.cpp

示例7: disconnect_namedpipe

	static void disconnect_namedpipe(impl_type& impl)
	{
		impl.reset();
	}
开发者ID:hanwd,项目名称:ew_base,代码行数:4,代码来源:pipe.cpp


注:本文中的impl_type::reset方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。