在上篇BPMN 2.0之Event Base Gateway(基于事件的网关)说了Event Base Gateway在流程流转中间的使用,Event Base Gateway的另一个用途是可以启动流程。
more
当Event Base Gateway被设置成启动流程时,它的图标会改变同时上游也不允许有流入的Sequence Flow。下面是个例子:
当上图的流程部署后,就会等待Email或电话请求。如果Email来了,就实例化一个流程实例,并从Task1开始执行。如果电话请求来了就再实例化一个流程实例从Task2开始执行。
缺省设置下,启动流程的Event Base Gateway是互斥的。可以用多个Start Even
继续阅读 »
这里记录的是现在所在游戏的cpp代码里的, 关于事件调度和触发的源码分析.
EventDispatcher 是一个事件调度者
Event 事件基类
EventReceiver 所有需要接收世界的对象的基类, 它们都对EventReceiver做继承. 并重写RecieveEvent方法.
继续阅读 »
事件调度器模块
记录下我们游戏里事件调度器模块, 用处, 代码结构。
我们用来注册一些事件到调度器, 调度器在做update的时候, 会检查容器内的事件, 事件的封装, 包含senderObj, receiveObj, id, delayFrameCount等等。 如果当前帧已经符合delayFrameCount的要求了, 就执行receiveObj.RecieveEvent()方法,将senderObj注册事件时的参数等, 带入RecieveEvent方法执行。
继续阅读 »
概述
Server-sent Events 简称 SSE。服务器端通过 HTTP 或者专用的特定协议推送数据到 Web 页面。
创建
用 EventSource 的创建对象,并注册一个事件侦听器。
var source = new EventSource('updates.cgi');
source.onmessage = function (event) {
alert(event.data);
};
继续阅读 »
一个单线程的epoll server示例
这个示例是一个echo server, 将回显client端send的64字节.
代码在 echoEpollServer
在OSX下 gcc 4.6, linux 下编译可用, 默认被写死了监听8886端口.
继续阅读 »
网络层
一个思维导图
基本模块有:
SocketBase 抽象基类, 定义所有会共性的方法, 基本都是Epoll在回调,比如OnRead, OnWrite分别处理epoll的读写事件, ListenSocket也是继承这个基类.
m_fd 保存socket的fd属性
m_readBuffer 和 m_writeBuffer 分别是一个读写的buffer, 类型就是Buffer类
继续阅读 »
本节实现的是使用OpenCV里自带的函数,在双击图片时,以其为圆心绘制圆。
回调函数
捕捉鼠标事件
实现过程
引用与创建空图
不再赘述,代码如下。
``` python
import cv2
import numpy
empty image
img = np.zeros((512, 512, 3), np.uint8)
```
设置回调函数
检测鼠标事件,如果左击鼠标则绘制圆。
```python
call back function
def draw_circle(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONDBLCLK:
继续阅读 »
介绍
一群恶魔的猪从无辜的小鸟那里偷走了所有的前端架构,现在它们要夺回来。一对特工英雄(愤怒的小鸟)将攻击那些卑鄙的猪,直到夺回属于他们的前端架构。(译者注:本系列是关乎前端架构的讨论,作者借用当前最风靡的游戏 - 愤怒的小鸟,为我们揭开了前端架构的真实面目。)
小鸟们最终能取得胜利吗?它们会战胜那些满身培根味的敌人吗?让我们一起来揭示 JavaScript 之愤怒的小鸟系列的另一个扣人心弦的章节!
阅读本系列的介绍文章,查看所有小鸟以及它们的进攻力量。
战况
红色大鸟 - 立即调用的函数表达式
蓝色小鸟的攻击力
在这篇文章中,我们将看看蓝色小鸟,它通过触发事件和消息来渗透进猪猪的城堡中,慢慢的,小鸟们将一个接一个地
继续阅读 »
之前看了一篇关于,Event Loop的文章,做了下面的笔记。
Event Loop 是解决 JavaScript 单线程问题的一种运行机制
继续阅读 »
keyup和keydown事件以及keyCode和which属性
我想关于键盘事件最常见的实例就是回车提交表单了,恐怕每个前端都有一段烂熟于胸的代码用来实现这个功能。以前我也只是做了这样一个功能,也许它的代码是这样的:
function enter (p_event) {
var _keyCode = p_event.which ? p_event.which : p_event.keyCode;
var _ENTER_CODE = 13;
if (_ENTER_CODE === _keyCode) {
//enter code...
}
}
如果需要兼容ie8及以下,那还需要这几
继续阅读 »