当前位置: 首页 > news >正文

产权交易中心网站建设的原因昆明seocn整站优化

产权交易中心网站建设的原因,昆明seocn整站优化,网站301在哪做,石家庄最新疫情确诊轨迹☞ 返回总目录 5.3.6 Methods(方法) Proxy Class 与方法包装类 代理类与方法成员:对于远程服务的每种方法,Proxy Class 包含特定于该方法的包装类成员。例如示例中有 Calibrate、Adjust 和 LogCurrentState 三种方法对应的成员。…

☞ 返回总目录

5.3.6 Methods(方法)

Proxy Class 与方法包装类

  • 代理类与方法成员:对于远程服务的每种方法,Proxy Class 包含特定于该方法的包装类成员。例如示例中有 Calibrate、Adjust 和 LogCurrentState 三种方法对应的成员。代理类的方法类在特定命名空间 methods 中生成,而 methods 包含在代理命名空间内,代理中的方法成员用于调用远程服务实例提供的方法。

  • 方法包装类的构成:以 Adjust 方法为例,其包装类不复杂,由两部分组成。

    • 内部结构定义:如 Adjust 方法中的 Output 结构体,用于汇总方法的输出(OUT)/ 输入输出(INOUT)参数。
    • 括号运算符重载:用于调用服务方法,它将服务方法的所有输入(IN)/ 输入输出(INOUT)参数作为输入(IN)参数包含在内,并且在 ara::com API 中会把抽象服务方法描述中的 INOUT 参数拆分为一对 IN 和 OUT 参数。
  • 非单向方法的返回值:对非 “单向方法” 调用的返回值是一个 ara::core::Future,模板参数是汇总方法所有输出(OUT)参数的内部结构类型。

5.3.6.1 One - Way aka Fire - and - Forget Methods(单向方法)

  • 单向方法的特点:ara::com 支持 “单向(one - way)” 或 “发射后不管(fire - and - forget)” 方法。这种方法只有输入(IN)参数,没有输出(OUT)参数,不允许引发错误,无法与服务器进行握手 / 同步,客户端 / 调用者无法得知服务器是否处理了该调用。从资源角度看,这种方法在某些通信模式中是轻量级的。

5.3.6.2 Event - Driven vs Polling access to method results(事件驱动与轮询访问方法结果)

  • API 支持与核心类:与事件数据访问类似,为基于事件驱动和轮询的方法提供了 API 支持来访问服务方法调用结果,核心类是 ara::core::Future,它是 C++11/C++14 std::future 类的扩展版本。

  • 事件驱动机制:在事件驱动中,一旦方法调用结果到达,带有代理实例的应用程序作为方法调用者会被 ara::com 实现(Communication Management implementation)通知。ara::com 实现通过设置等待机制(WaitEvent),在方法结果可用时唤醒机制来通知用户。

  • Future 类的接口

    • 枚举类型 future_status:定义了 ready(共享状态已准备好)和 timeout(在指定超时时间过去之前共享状态未准备好)两种状态。
    • 模板类 Future
      • 构造与赋值:提供了默认构造函数、移动构造函数,禁用了拷贝构造函数和拷贝赋值运算符。
      • 获取值与结果:get () 函数获取类型为 T 的值,GetResult () 函数获取包含值或错误的 Result,两者行为与 std::future 函数类似,但 GetResult () 不会抛出异常。
      • 检查有效性:valid () 函数检查 Future 是否具有共享状态。
      • 等待机制:wait () 函数等待值或错误变为可用;wait_for () 函数等待给定时间段直到值或错误可用;wait_until () 函数等待直到给定时间点直到值或错误可用,后两者会根据情况返回 future_status。
      • 注册可调用对象:then () 函数注册一个可调用对象,当 Future 准备好时调用,其返回类型根据注册函数的返回类型确定。
      • 检查异步操作是否完成:is_ready () 函数返回异步操作是否完成。
  • 使用示例与调用方式

    • 基于异常的同步调用示例:在示例中,通过获取服务句柄,使用服务代理对象的 Calibrate 方法调用得到 Future 对象,然后进行阻塞式的 get () 调用获取结果。
    • 多种获取结果的方式:除了阻塞式的 get () 调用外,还有多种获取结果的方式,如不同变体的 wait () 函数,以及通过 then () 注册回调方法。这些方式都是事件驱动的,方法结果的到达事件会导致用户线程恢复执行或调用用户提供的函数。对于一些实时(RT)应用程序,可能不希望被方法调用返回事件激活,此时可以通过 ara::core::Future::is_ready () 进行轮询查看方法调用是否完成,此调用是非阻塞的。

5.3.6.3 Canceling Method Result(取消方法结果)

  • 取消结果的操作:当不再关心通过()操作符调用服务方法返回的 ara::core::future 的结果时,应明确告知通信管理。可以让 ara::core::Future 超出作用域使析构函数被调用,或者在某些情况下(如将返回的 Future 对象分配给了更大作用域的变量),可以用默认构造的实例覆盖变量中的 Future 对象来达到释放资源、停止方法结果的事件等待机制等目的。
http://www.hkea.cn/news/434126/

相关文章:

  • 网站建设公司 销量深圳谷歌seo公司
  • 新蔡哪有做网站建设的全球疫情今天最新消息
  • 怎么做平台网站百度seo报价方法
  • 帮人做网站 怎么收费怎么用网络推广
  • 网站排名优化建设百度广告投放技巧
  • 文件服务器网站搭建教程好的竞价托管公司
  • 黑龙江省城乡和住房建设厅网站首页百度链接地址
  • 网站模板修改工具专业seo关键词优化
  • 口碑好的句容网站建设yahoo搜索
  • 深圳网站建设外贸公司价格网络营销的背景和意义
  • 长春网站建设硕成传媒seo快速排名优化公司
  • web网站开发能使用c 吗免费建立个人网站申请
  • 织梦网站修改教程视频网站优化培训学校
  • 南沙区交通和建设局网站中国十大网络销售公司
  • 免费建设网站的方法百度网址大全 官网
  • 手机网站设计制作公司微信推广费用一般多少
  • 建设网站需要什么注册域名费用一般多少钱
  • 女性门户网站源码百度指数功能有哪些
  • 怎么帮公司做网站建设谷歌搜索引擎免费入口 香港
  • 请写出网站建设前期需要做的准备外贸定制网站建设电话
  • 南京门户网站建设网络营销优秀案例
  • 2012服务器如何做网站周口网络推广哪家好
  • 贵阳搜索玩的网站网络舆情软件免费入口
  • 前端自己写代码建网站要花多少钱游戏推广在哪里接活
  • 网站建设中+网页代码nba最新排名东西部
  • 东莞企业建设网站官网有限公司百度推广深圳分公司
  • 海外推广工作内容搜索引擎优化seo是什么
  • wordpress 发短信西安网络优化大的公司
  • dreamweaver个人网站南宁求介绍seo软件
  • 网站常用素材企业培训视频