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

儿童故事网站建设wordpress手动更新插件

儿童故事网站建设,wordpress手动更新插件,手机礼品网站模板,郑州网站建设 服务创业5.3.4 Finding Services Proxy Class提供类(静态)方法来查找“连接”的服务实例。由于服务实例的可用性本质上是动态的(因为它有一个生命周期)#xff0c;所以ara::com提供了如下两种不同的方法来实现“FindService ”: StartFindService是一个类方法#xff0c;它在后台启…5.3.4 Finding Services Proxy Class提供类(静态)方法来查找“连接”的服务实例。由于服务实例的可用性本质上是动态的(因为它有一个生命周期)所以ara::com提供了如下两种不同的方法来实现“FindService ”: StartFindService是一个类方法它在后台启动一个连续的“FindService”活动当服务实例的可用性发生变化时它会通过回调通知调用者。FindService是一次性调用它在调用后返回一个可用的服务实例。 根据采用实例标识符的不同存在两种不同的重载方式(参见第4.8.1小节): 一个使用ara::com::InstanceIdentifier 一个采用ara::core::InstanceSpecifier 请注意只有技术绑定将用于查找/搜索这些绑定是由服务接口部署形式的服务实例清单中的相应服务接口配置的。 同步的一次性变体**FindService为匹配的服务实例返回一个句柄容器**(参见5.3.3小节),如果当前没有匹配的服务实例那么这个容器也可能是空的。 与此相反StartFindService返回一个FindServiceHandle该句柄可通过调用StopFindService来停止正在进行的监视服务实例可用性的后台活动。 StartFindService的第一个(特定于此变体)参数是用户提供的处理函数具有以下签名: using FindServiceHandler std::functionvoid(ServiceHandleContainerT, FindServiceHandle); 每当绑定检测到在对**StartFindService的调用匹配的服务实例的可用性已经改变时它将调用用户提供的处理程序**该处理程序具有现在可用的服务实例的句柄的更新列表。 在被调用后StartFindService的行为与FindService相似它将使用当前可用的服务实例触发用户提供的处理函数这些服务实例也可能是空的句柄列表。 在初始回调之后如果初始服务可用性发生变化它将再次调用提供的处理程序。 请注意ara::com用户/开发人员确实可以在用户提供的处理程序中调用StopFindService这是显式允许的。 为此处理程序显式获取FindServiceHandle参数。处理者不必是可重入的。这意味着绑定实现者必须负责序列化对用户提供的处理函数的调用。 请注意当用作FindService的返回值或FindServiceHandler的参数时ServiceHandleContainer可以实现为分配或非分配容器只要它满足C编程语言的一般和序列容器要求。 5.3.4.1 Auto Update Proxy instance 无论您使用一次性的FindService还是StartFindService变体在这两种情况下您都会获得一个标识服务实例的句柄然后从该句柄创建Proxy实例。但是这里抛出2种重用的问题 如果服务实例停止运行然后又重新运行(例如由于一些生命周期状态变化),会发生什么情况呢 当服务实例再次可用时服务消费者端的现有代理实例还能被重用吗 好消息是: ara::com的设计团队要求从绑定实现中解决以上2种重用的问题因为这样能够简化了实现服务消费者的任务。 在基于服务的通信领域中预计在整个系统(例如车辆)的生命周期期间服务的提供者服务端和消费者客户端的实例由于自身的生命周期概念而频繁地启动和停止。 为了解决这个问题ara::com的团队设计了服务发现服务的提供者和消费者的生命周期在服务提供和(再)订阅方面受到监控 如果一个服务消费者应用程序已经从一些FindService变量返回的句柄实例化了一个服务代理实例可能发生的顺序如下图所示。 图片解释如下 T0:服务消费者可能成功调用该代理的服务方法(根据5.3.5.2订阅事件上的GetSubscriptionState()将返回kSubscribed)。T1:通过服务发现通知服务实例关闭。T2:在Service Proxy上调用服务方法将导致kServiceNotAvailable错误因为调用的目标服务实例不再存在。相应地任何订阅事件上的GetSubscriptionState()将在此时返回kSubscriptionPending(参见5.3.5.2 ),即使该事件之前已经被成功订阅(kSubscribed)。T3:通过服务发现通知服务实例再次出现。Service Proxy侧的通信管理将被通知并且将利用传输层寻址信息来静默地更新Proxy实例。图中显示了代理的传输层部分它将颜色从蓝色更改为玫瑰色。T4: Proxy实例上的服务方法调用将再次成功服务消费者之前订阅的事件上的GetSubscriptionState()将再次返回kSubscribed。 Proxy实例的如上行为可以使客户端应用程序的实现者免于以下操作: 通过GetSubscriptionState()对事件进行轮询因为在服务实例已关闭的情况下才需要调用GetSubscriptionState()重新调用一次FindService以获得新的句柄。重新注册一个FindServiceHandler在服务实例使用新句柄时关闭或启动时调用它 然后从新句柄重新创建代理实例(并重做所需的事件订阅调用)。 请注意如果您已经注册了FindServiceHandler那么绑定实现必须确保在调用已注册的FindServiceHandler之前对现有的Proxy实例进行“自动更新”! 这样做的原因是:当给出Proxy实例的句柄时应该支持应用程序开发者与FindServiceHandler中的现有Proxy实例进行交互用信号通知服务实例再次启动。 下面的代码片段显示了这种期望: /*** Reference to radar instance, we work with,* initialized during startup*/RadarServiceProxy *myRadarProxy;void radarServiceAvailabilityHandler(ServiceHandleContainerRadarServiceProxy::HandleType curHandles, FindServiceHandle handle) {for (RadarServiceProxy::HandleType handle : curHandles) {if (handle.GetInstanceId() myRadarProxy-GetHandle().GetInstanceId()) {/**This call on the proxy instance shall NOT lead to an exception, regarding service instance not reachable, since proxy instance should be already auto updated at this point in time.*/ara::core::FutureCalibrate::Output out myRadarProxy-Calibrate(test);// ... do something with out.}}}
http://www.hkea.cn/news/14391742/

相关文章:

  • 成都龙泉网站建设淘宝网站建设类目需要什么资质
  • 外贸网站价格表wordpress登入界面
  • 云南建设网站澜沧项目怎样开个人网站
  • 设计企业网站哪家好电商网站开发环境
  • 网站建设先进技术域名服务器作用
  • 做网站平台廊坊seo按天计费
  • 网站建设克隆网站建设实训小组总结
  • 网站加速cdn品牌设计logo设计
  • 2024免费网站推广游戏代理商如何赚钱
  • 企业网站 用个人备案网站建设基本完成
  • 上海公司网站制作价格湖北专业网站建设
  • 一个com的网站多少钱江苏城乡建设部网站首页
  • ps怎样做网站设计WordPress 文件同步
  • 广州网页设计网站建设成都手机网站开发
  • wordpress点击分类目录404百度优化软件
  • 公司做网站选择哪个公司好登录中国沈阳网站
  • 昆明网站建设公司农村电商平台
  • 浙江建设监理协会官方网站最好的机票网站建设
  • 空压机东莞网站建设专业网站设计制作服务
  • 龙里县建设局管方网站代理ip免费软件
  • 网站的总体结构犀牛建筑网校
  • 个人电脑做网站长尾词挖掘工具爱站网
  • 网站如何建设与安全管理制度珠海网站设计培训学校
  • 百度网站的优点做网站有自己的服务器
  • 网站建设初级工程师天元建设集团有限公司第八建筑工程公司
  • 网站经常被挂马16岁0元开网店赚钱软件
  • 关键词是网站seo的核心工作蒙特网站建设公司
  • wordpress产品图片大小不一惠州seo推广外包
  • 海南城乡和住房建设厅网站响应式 网站建设
  • 网站开发工程师获奖自己公司的网站怎么编辑