ACE 前摄式Acceptor
来源:互联网 发布:大学生网络购物论文 编辑:程序博客网 时间:2024/05/16 04:42
// --------------------------------------------------------------
//
// Copyright (C) 2008 - All Rights Reserved
//
// Author: LiuYin
// File: AsynchAcceptor
// Version: 1.0
// Date: 2008-4-9
//
// Purpose:
//
// --------------------------------------------------------------
#ifndef AsynchAcceptor_H
#define AsynchAcceptor_H
//////////////////////////////////////////////////////////////////////////
#include <ACE/Atomic_Op.h>
#include <ACE/Asynch_Acceptor.h>
//////////////////////////////////////////////////////////////////////////
template <class Handler>
class CAsynchAcceptor : public ACE_Asynch_Acceptor<Handler>
{
typedef ACE_Asynch_Acceptor<Handler> Super;
enum {
SleepSeconds = 0,
SleepMicroseconds = 4000,
};
public:
CAsynchAcceptor()
: initial_accepts_count_(0)
{
}
~CAsynchAcceptor()
{
if (this->get_handle() != ACE_INVALID_HANDLE) {
ACE_OS::closesocket(this->get_handle());
this->set_handle(ACE_INVALID_HANDLE);
}
while (initial_accepts_count_ > 0) {
ACE_OS::sleep(ACE_Time_Value(SleepSeconds, SleepMicroseconds));
}
}
int accept(size_t bytes_to_read = 0, const void *act = 0)
{
int ret = Super::accept(bytes_to_read, act);
initial_accepts_count_ += (ret == 0) ? 1 : 0;
return ret;
}
protected:
void handle_accept(const ACE_Asynch_Accept::Result &result)
{
Super::handle_accept(result);
--initial_accepts_count_;
}
private:
ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long> initial_accepts_count_;
};
//////////////////////////////////////////////////////////////////////////
#endif
- ACE 前摄式Acceptor
- ACE中Connector-Acceptor架构
- ACE之Acceptor-Connector框架
- ACE之使用Acceptor-Connector框架
- ACE之旅——Acceptor-Connector框架实例
- ACE接受器-连接器设计模式Acceptor-Connector
- 探究 ACE 的 Proactor_Test 示例中的 Acceptor 和 Connector 分别如何与 Proactor 关联。
- ACE的接受器(Acceptor)和连接器(Connector):连接建立模式
- Acceptor-Connector
- muduo : Acceptor
- ACE 前摄式处理器
- ACE 前摄式处理器
- ACE
- ACE
- ACE
- ACE
- ACE
- ACE
- 教你使用Windows远程桌面实现远程控制
- 没有积分真痛苦
- ACE 消息泵
- 什么样的处理器会引领嵌入式行业的未来
- 基于ARM9芯片S3C2410异常中断程序设计
- ACE 前摄式Acceptor
- cvsnt安装使用配置
- ACE 前摄式处理器
- strcpy的实现
- 又是活动!!!
- ACE 反应式处理器
- ARM处理器中断处理的编程实现
- 《QQ自由幻想》网游打造完美在线,偶有偶风采
- 基于Apache、oracle10g和tomcat5.5的ALUI安装配置方法