当前位置: 首页> 教育> 大学 > html5制作网页的详细步骤_上海市一体化办公平台_怎样建网站卖东西_百度怎么发布自己的广告

html5制作网页的详细步骤_上海市一体化办公平台_怎样建网站卖东西_百度怎么发布自己的广告

时间:2025/8/23 3:44:17来源:https://blog.csdn.net/weixin_42108533/article/details/142406763 浏览次数:0次
html5制作网页的详细步骤_上海市一体化办公平台_怎样建网站卖东西_百度怎么发布自己的广告

☞ 返回总目录

1. Filed的部分

一、Field 的概念特点

与 Event 不同,Field 在任何时候都有确定的值。它相比 Event 有额外的特性:若订阅 Field,会立即以类似事件通知模式将当前值发给订阅者;可以通过 Get () 方法查询当前值,通过 Set () 方法更新值。Field 的这些功能是可选的,可在配置中决定是否具有 “on-change-notification”、Get () 或 Set ()。

二、Field 在 Proxy Class 中的体现

对于远程服务提供的每个字段,Proxy Class 包含特定的包装类成员。其包装类在特定命名空间 fields 中生成,该命名空间包含在代理命名空间内。Field 的概念大致是包含相关 get ()/set () 方法的 Event 的聚合,所以 ara::com 字段的表示实现为 ara::com 事件和方法的组合。代理中的 Field 成员可用于以常规方法机制调用 Get () 或 Set () 方法,以及以事件形式接收 Field 更新通知。

三、示例 UpdateRate 字段包装类

class UpdateRate 
{ /*** \brief 事件数据类型的快捷方式。*/using FieldType = uint32_t;/*** \brief 有关详细信息,请参阅 Events,因为字段包含通知的可能性,其中包含在那里描述的接口的详细信息。*/ara::core::Result<void> Subscribe(size_t maxSampleCount);size_t GetFreeSampleCount() const noexcept;ara::com::SubscriptionState GetSubscriptionState() const;void Unsubscribe();ara::core::Result<void> SetReceiveHandler(ara::com::EventReceiveHandler handler);ara::core::Result<void> UnsetReceiveHandler();ara::core::Result<void> SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler handler);void UnsetSubscriptionStateChangeHandler();template <typename F>ara::core::Result<size_t> GetNewSamples(F&& f,size_t maxNumberOfSamples = std::numeric_limits<size_t>::max());/*** 该 getter 允许请求服务提供者的实际值。* * 有关 future 的描述,请参阅该方法。* 它应该表现得像一个方法。*/ara::core::Future<FieldType> Get();/*** 该 setter 允许请求设置一个新值。* 由服务提供者决定是否接受请求或修改它。* 新值应作为响应发送回请求者。* * 有关 future 的描述,请参阅该方法。* 它应该表现得像一个方法。*/ara::core::Future<FieldType> Set(const FieldType& value);
};

以示例 UpdateRate 字段的包装类展示了其具体的方法,包括订阅相关方法、获取样本计数、获取订阅状态、设置接收和订阅状态变化处理器、获取新样本以及 Get () 和 Set () 方法用于获取服务提供者的实际值和设置新值。

最后提到关于该字段中类似 Event 的部分机制参考 5.3.5 小节,类似方法的部分参考 5.3.6 小节。

2. Triggers的部分

一、触发器的性质

触发器是一类无数据的事件,5.3.5 小节中的大部分文档适用于触发器,但数据相关部分在本节描述。

二、从代理角度看触发器订阅

从代理角度,订阅触发器与 5.3.5.1 小节描述相似,但没有本地缓存部分。调用Subscribe()函数可通知通信管理接收触发器更新,其他订阅功能(如SubscribeChangeSetSubscriptionHandler()Unsubscribe())与事件的相同。

三、触发器与事件的区别及GetNewTriggers()方法

与事件的主要区别在于对更新的关注点不同。事件中关注接收的数据,而对于触发器,只关注自上次检查以来接收到的触发器数量。GetNewTriggers()方法用于获取自上次调用该方法以来接收到的触发器数量,比用于事件的GetNewSamples()方法更简单。

四、访问方式

如 5.3.5.5 小节提到的基于轮询和事件驱动的访问方式也适用于触发器。

关键字:html5制作网页的详细步骤_上海市一体化办公平台_怎样建网站卖东西_百度怎么发布自己的广告

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: