资源简介
ACE 程序员指南 配套源代码,书中的示例代码
代码片段和文件信息
// $Id: AO.cpp 94310 2011-07-09 19:10:06Z schmidt $
#include “ace/config-lite.h“
#if defined (ACE_HAS_THREADS)
#include “ace/OS_NS_unistd.h“
#include “ace/Activation_Queue.h“
#include “ace/Method_Request.h“
#include “ace/Task.h“
#include “ace/Future.h“
#include “ace/Auto_Ptr.h“
// Listing 1 code/ch15
class HA_ControllerAgent
{
// Proxy to the HA_Controller that is on the network.
public:
HA_ControllerAgent ()
{
ACE_TRACE(“HA_ControllerAgent::HA_ControllerAgent“);
status_result_ = 1;
}
int status_update (void)
{
ACE_TRACE (“HA_ControllerAgent::status_update“);
ACE_DEBUG ((LM_DEBUG
ACE_TEXT (“Obtaining a status_update in %t “)
ACE_TEXT (“thread of control\n“)));
// Simulate time to send message and get status.
ACE_OS::sleep (2);
return next_result_id ();
}
private:
int next_result_id (void)
{
ACE_TRACE (“HA_ControllerAgent::next_cmd_id“);
return status_result_++;
}
int status_result_;
};
// Listing 1
// Listing 2 code/ch15
class StatusUpdate : public ACE_Method_Request
{
public:
StatusUpdate (HA_ControllerAgent& controller
ACE_Future& returnVal)
: controller_(controller) returnVal_(returnVal)
{
ACE_TRACE (“StatusUpdate::StatusUpdate“);
}
virtual int call (void)
{
ACE_TRACE (“StatusUpdate::call“);
// status_update with the controller.
this->returnVal_.set (this->controller_.status_update ());
return 0;
}
private:
HA_ControllerAgent& controller_;
ACE_Future returnVal_;
};
// Listing 2
// Listing 3 code/ch15
class ExitMethod : public ACE_Method_Request
{
public:
virtual int call (void)
{
// Cause exit.
return -1;
}
};
// Listing 3
// Listing 4 code/ch15
class Scheduler : public ACE_Task_base
{
public:
Scheduler ()
{
ACE_TRACE (“Scheduler::Scheduler“);
this->activate ();
}
virtual int svc (void)
{
ACE_TRACE (“Scheduler::svc“);
while (1)
{
// Dequeue the next method object
auto_ptr
request (this->activation_queue_.dequeue ());
// Invoke the method request.
if (request->call () == -1)
break;
}
return 0;
}
int enqueue (ACE_Method_Request *request)
{
ACE_TRACE (“Scheduler::enqueue“);
return this->activation_queue_.enqueue (request);
}
private:
ACE_Activation_Queue activation_queue_;
};
// Listing 4
// Listing 5 code/ch15
class HA_ControllerAgentProxy
{
// This acts as a Proxy to the controller impl object.
public:
ACE_Future status_update (void)
{
ACE_TRACE(“HA_ControllerAgentProxy::status_update“);
ACE_Future result;
// Create and enqueue a method request on the scheduler.
this->scheduler_.enqueue
(new StatusUpdate (this->controller_ result));
// Return Future to the cl
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-06-10 13:20 APG\
目录 0 2014-06-30 11:12 APG\Active_ob
文件 284 2009-04-29 15:53 APG\Active_ob
文件 2716 2013-05-27 10:22 APG\Active_ob
文件 2709 2013-05-27 10:31 APG\Active_ob
文件 4176 2011-07-09 21:10 APG\Active_ob
文件 4294 2011-07-09 21:10 APG\Active_ob
文件 17462 2013-05-27 10:22 APG\Active_ob
文件 798 2013-05-27 10:22 APG\Active_ob
文件 9571 2013-05-27 10:31 APG\Active_ob
文件 2629 2014-06-30 11:12 APG\Active_ob
文件 17447 2013-05-27 10:22 APG\Active_ob
文件 797 2013-05-27 10:22 APG\Active_ob
文件 9560 2013-05-27 10:31 APG\Active_ob
文件 2629 2014-06-30 11:12 APG\Active_ob
文件 1403 2013-05-27 10:16 APG\Active_ob
文件 5051 2013-05-27 10:16 APG\Active_ob
文件 5058 2013-05-27 10:16 APG\Active_ob
文件 84272 2013-05-27 10:22 APG\APG_vc10.sln
文件 84055 2013-05-27 10:31 APG\APG_vc9.sln
目录 0 2014-06-30 11:12 APG\Config\
文件 1854 2008-03-04 15:51 APG\Config\ARGV_Example.cpp
文件 17670 2013-05-27 10:22 APG\Config\ARGV_Example_vc10.vcxproj
文件 1119 2013-05-27 10:22 APG\Config\ARGV_Example_vc10.vcxproj.filters
文件 9798 2013-05-27 10:31 APG\Config\ARGV_Example_vc9.vcproj
文件 2629 2014-06-30 11:12 APG\Config\ARGV_Example_vc9.vcproj.LIUJINLI.liujinli_.user
文件 510 2009-04-29 15:53 APG\Config\config.mpc
文件 17667 2013-05-27 10:22 APG\Config\Config_HA_Status_vc10.vcxproj
文件 1116 2013-05-27 10:22 APG\Config\Config_HA_Status_vc10.vcxproj.filters
文件 9807 2013-05-27 10:31 APG\Config\Config_HA_Status_vc9.vcproj
文件 2629 2014-06-30 11:12 APG\Config\Config_HA_Status_vc9.vcproj.LIUJINLI.liujinli_.user
............此处省略804个文件信息
- 上一篇:Windows xp sp3 repair文件夹
- 下一篇:SSH框架项目时序图
相关资源
- 设计模式课程设计---游戏《怪物物语
- 计算机图形学试验扫描线填充算法源
- 超级玛丽奔跑跳跃微信小游戏源代码
- 11016119李永强实习源代码.rar
- 搜集的完整的contourlet变换的源代码
- 101规约源代码可模拟从站
- Cadence User Interface SKILL Functions Referen
- Altera 官方SDRAM_controller IP CORE源代码
- 班夫旅游小程序源代码
- 普林斯顿 实分析经典Real Analysis-Meas
- linux源代码分析之内存管理
- FaceDetection人脸识别系统源代码
- 汽车销售管理系统报告和源代码
- 汽车销售管理系统报告+源代码
- struts2做的BBS网站源代码
- raytracegroundup_v4.8_RayTracing_Scenes_Globe_
-
raytracegroundup_v2.1_PLY_Multiplyob
jectsGr - raytracegroundup_shadow_20170225
- raytracegroundup_transplant1_picturechapter15_
- BWT 转换 源代码
- SD卡调试源代码 基于飞思卡尔MC9S12
- 键盘钢琴KeyboardPiano(源代码)
- U盘防火墙 源代码 并附解析
- 图书管理系统源代码102984
- eclipse 开发桌面程序
- CompareFace
- 任哲uCOS-II 最新版书的源代码
- IDC报告-金融业IT
- nehe-opengl源代码
- Cisco Packet Tracer26个企业组网详解思科
评论
共有 条评论