EventHub

Android7 InputReader InputDispatcher Key Touch

情到浓时终转凉″ 提交于 2020-10-02 20:23:08
input key and Touch Android 输入事件的一般流程 EventHub InputRead InputDispatcher InputManager Key 常见debug 工具 或 命令 Android 框架Key原理 常见需求 Touch 常见debug 工具 Android 框架Touch原理 常见需求 Android 输入事件的一般流程 EventHub EventHub 事件枢纽,可以多路复用监听/dev/input/目录 文件的变化; getEvents步骤: (1) . 开始循环执行,直至已经收集了任何事件,或者我们被显式地唤醒,现在返回。 a. Reopen input devices if needed. b. Report any devices that had last been added/removed. c. scan devices if Needed, add devices / remove devices. d. product adding devices event if needed. e. product finishing scan devices event if needed. f. start grab the next input event really. //多路复用监听fd, g.

MassTransit Get Started->

半腔热情 提交于 2020-09-29 15:47:04
MassTransit:是一款.NET的分布式应用程序框架(开源、免费)。通过MassTransit,可以轻松创建利用基于消息的、松耦合异步通信的应用程序和服务,以提高可用性,可靠性和可伸缩性。 MassTransit本身定位轻量级的服务总线,并支持多种传输方式如:RabbitMQ、Azure Service Bus、ActiveMQ、Amazon SQS、Kafka、Azure Event Hub。消息异常处理:重试配置、重新交付、erro管道、死信管道。分布式事务处理:sagas、Courier。容器支持:.NETcore自身的、autofac、castle windsor等、调度支持:Quartz 、hangfire。更多功能参考官网文档。 MassTransit目前已经发布到了第7个版本了,7.0版本新增了对Kafka 的支持,构建仅支持.NET Standard 2.0...其他改动不大。MassTransit社区使用也是很活跃的,对于首次接触的,通过本篇文章(基于rabbitmq)帮你快速入门! 一个应用程序或服务可以使用两种不同的方法来生产消息,主要区别是sent需要指定具体的端点地址,而pub不需要,下面的代码会演示这两种方式。 发布事件(多个接收者) 发送命令(一个接收者) 发布事件(事件消息) 场景假设:在xx项目中,需要与第三方进行交互。比如:订单发货之后

工作感受月记202005月

假装没事ソ 提交于 2020-08-20 06:58:10
2020年05月06号 计划明天回到无锡,今日下班后突然感受到一种巨困,脖子僵硬加头部不清醒,十分难受外加饥饿,一种眩晕感袭来。 今日工作比较清晰,一件一件的慢慢处理,在下午下班时,处理完全,可以好好考虑明天的行程了。 好好考虑在无锡精进的日程了。明天,需要好好思考反省。 今日工作之收获: 1> 完成azure function对event hub的实验操作 2> 回想不起来咯 今日关键字: 又,又一次感受到超级困的感受,十分难受。神经,脖子,头痛,眼睛困,肚子胀。 2020年05月07日 今日休假返回无锡,明天开始农历过年后第一天在办公室上班的感受。今天确实心里活动很丰富,记录在工作日杂中,这里就只是提醒自己的心理活动很丰富。 今天有运动,有控制饮食,也有思考和困顿。 今日关键字: 精进之计划,闭关修炼开始时。 2020年05月08号 今日开始无锡办公室上班,非常不习惯大屏显示器家目前的工作状态,个人处于进入状态的情况,人不好,很不好。对问题处理不集中。 今日之事: 1/ 接手一个新case,处理cloud service中的一个错误消息,查询到与激活许可证有关 2/ 与lina一起讨论apim案例,到底apim发送请求到后端server的ip地址是多少呢?验证下来就是apim的vip,而不是请求中所说的x forward for。地址,这也是自己很疑惑的地方,那x

工作感受月记202006月

不问归期 提交于 2020-08-12 15:17:37
2020年06月01号 儿童节在家上班陪儿童,又一次由于自己忘记而miss ir。郁闷的开局。 一种不畅快的感受流荡在身体内部。忐忑等待无影踪,待头来,确实空投心思书欲魔。何时可知最后的消息?想知其所以。 今日之收获: 1: 无序的开局,网络情况还可以,工作中没有特殊的事。跟踪icm找到pg更新内容,但目前没有进度。 2: 使用image来部署一个service fabric,尝试复现客户问题,但没有成功,明天继续。 3: 继续分析redis dashboard的案例,查看为什么azure firewall对fqdn全部放行后,redis所列举出来的六个dns地址为什么没有能成功的把数据发送出去呢? 4: redis vm os升级后的影响,这点真的是没有办法发送提前升级,补丁等消息。这里也理解了tam在这里的为难,没有资源可以帮助到他。明天需要和TA讨论一下,tam提到的那个项目。 5: 在健身房锻炼3公里,知道自己需要锻炼一下下肢力量,保护膝盖膝关节。与健身房中的健身教练聊了一会,但是想到自己是偶尔去一下,所以没有加练习,想想还是自己失败。应该加的,为了他们的工作。尊重他人就是尊重自己。 今日关键字: 重,思考问题之重,尊重他人,也同时尊重自己。记住,要尊重。 2020年06月02号 此刻,巨困来袭,但日杂没完,所以如何来记录呢? 今日无新case,处理app

工作感受月记202005月

亡梦爱人 提交于 2020-08-10 02:28:15
2020年05月06号 计划明天回到无锡,今日下班后突然感受到一种巨困,脖子僵硬加头部不清醒,十分难受外加饥饿,一种眩晕感袭来。 今日工作比较清晰,一件一件的慢慢处理,在下午下班时,处理完全,可以好好考虑明天的行程了。 好好考虑在无锡精进的日程了。明天,需要好好思考反省。 今日工作之收获: 1> 完成azure function对event hub的实验操作 2> 回想不起来咯 今日关键字: 又,又一次感受到超级困的感受,十分难受。神经,脖子,头痛,眼睛困,肚子胀。 2020年05月07日 今日休假返回无锡,明天开始农历过年后第一天在办公室上班的感受。今天确实心里活动很丰富,记录在工作日杂中,这里就只是提醒自己的心理活动很丰富。 今天有运动,有控制饮食,也有思考和困顿。 今日关键字: 精进之计划,闭关修炼开始时。 2020年05月08号 今日开始无锡办公室上班,非常不习惯大屏显示器家目前的工作状态,个人处于进入状态的情况,人不好,很不好。对问题处理不集中。 今日之事: 1/ 接手一个新case,处理cloud service中的一个错误消息,查询到与激活许可证有关 2/ 与lina一起讨论apim案例,到底apim发送请求到后端server的ip地址是多少呢?验证下来就是apim的vip,而不是请求中所说的x forward for。地址,这也是自己很疑惑的地方,那x

Vue生命周期 钩子函数和组件传值

时光总嘲笑我的痴心妄想 提交于 2020-05-01 07:13:32
Vue生命周期 钩子函数 每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。 同时在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。(来源:官方文档) 官方 生命周期图示: 生命周期的钩子函数见下表 钩子函数 触发的行为 在此阶段可以做的事情 beforeCreadted vue实例的挂载元素$el和数据对象data  都为undefined,还未初始化。 加loading事件 created vue实例的数据对象data有了,$el还没有 结束loading、请求数据为mounted渲染做准备 beforeMount vue实例的$el和data都初始化了,但还是虚拟的dom节点, 具体的data.filter还未替换。 ... mounted vue实例挂载完成,data.filter成功渲染 配合路由钩子使用 beforeUpdate data更新时触发 ... updated data更新时触发 数据更新时,做一些处理(此处也可以用 watch进行观测) beforeDestroy 组件销毁时触发 ... destroyed 组件销毁时触发,vue实例解除了事件监听以及和dom的绑定 (无响应了),但DOM节点依旧存在 组件销毁时进行提示

Android输入事件从读取到分发三:InputDispatcherThread线程分发事件的过程

不羁岁月 提交于 2020-02-29 01:53:14
分析完事件的读取后,东忙西忙,不知不觉已过去了快五个月了…也不是说没有时间把这部分源码分析完,而是实在是分析不下去,因此转战到其他地方去了。然而这一块始终是心头那不舍的惦记,经过一段时间的沉淀,又参考了网上很多大神的文章,然后再来阅读源码,渐渐感觉到能看出点眉目了。因而事不宜迟,赶紧做个记录吧(注:分析使用的Android源码版本为6.0)。 前面两篇文章分析输入事件的读取,通过分析,发现时间的读取是在EventHub类中实现的,EventHub类的getEevent方法中使用epoll_wait来监听驱动程序上报的事件,而在InputReaderThread的threadLoop方法中调用InputReader的loopOnce方法来不断的调用EventHub的getEvent方法来一直监听事件的到来,getEvent是一个阻塞的方法,当没有事件的时候,epoll_wait方法就会是线程休眠,有事件了就会唤醒线程。 从事件读取线程到事件分发线程的转移过程 既然有个InputReaderThread线程,那么有个InputDispatcherThread就不奇怪了,一个用来读取,一个用来分发,分工合作,相互配合,这样才能高效的完成事件的读取与分发。 我们先梳理下思路: 从事件读取线程到事件分发线程的转移时序图: 从时序图中我们可以看到两个线程交互的过程

Hyperledger Fabric Node.js如何使用基于通道的事件服务

匆匆过客 提交于 2020-02-28 16:58:49
本教程说明了基于通道的事件的使用。这些事件与现有事件类似,但是特定于单个通道。在设置侦听器时,客户端处理基于通道的事件有一些新选项。从v1.1开始,基于通道的事件是Hyperledger Fabric Node.js客户端的新功能。 有关Fabric入门的更多信息,请查看 构建你的第一个网络 或者 手把手教你走进Hyperledger Fabric 。 以下假设了解Fabric网络(orderers和peer)以及Node应用程序开发,包括使用Javascript Promise。 概述 客户端应用程序可以使用Fabric Node.js客户端注册“侦听器”以在将块添加到通道分类帐时接收块。我们将这些称为“基于通道的事件”,它们允许客户端开始接收来自特定块编号的块,从而允许事件处理在可能已丢失的块上正常运行。Fabric Node.js客户端还可以通过处理传入的块并查找特定的交易或链代码事件来协助客户端应用程序。这允许客户端应用程序被通知交易完成或任意链代码事件,而不必在接收时执行多个查询或搜索块。 该服务允许任何用户接收“过滤的”块事件(换句话说,不包含敏感信息)。接收“未过滤”的块事件需要对通道进行读访问。默认行为是连接以接收过滤的块事件。要连接以接收未过滤的块事件,请调用 connect(true) (参见下文)。 请注意,如果你注册块事件然后提交交易