Tue 27 Aug 00:14:56 CEST 2024
This commit is contained in:
parent
d33efa35e4
commit
42bfed827f
41
test/producer-consumer.js
Normal file
41
test/producer-consumer.js
Normal file
|
@ -0,0 +1,41 @@
|
|||
function foo (options) {
|
||||
this.producer=options.producer;
|
||||
this.data=null;
|
||||
this.act = {
|
||||
main : function () {
|
||||
log('starting',this.producer)
|
||||
},
|
||||
produce : function () {
|
||||
this.data={number:random(1,100)}
|
||||
out(['SENSOR',this.data])
|
||||
this.data.number++;
|
||||
out(['SENSOR',this.data])
|
||||
},
|
||||
forkme : function () {
|
||||
fork({
|
||||
producer:false,
|
||||
data:null
|
||||
});
|
||||
},
|
||||
consume : function () {
|
||||
inp.try(3000, ['SENSOR',_],function (t) {
|
||||
this.data=t;
|
||||
},true);
|
||||
},
|
||||
end : function () {
|
||||
log('terminate',this.data);
|
||||
}
|
||||
}
|
||||
this.trans = {
|
||||
main : produce,
|
||||
produce : forkme,
|
||||
forkme : function () {
|
||||
return this.producer?end:consume
|
||||
},
|
||||
consume : end,
|
||||
}
|
||||
this.next=main;
|
||||
}
|
||||
compile(foo,{verbose:1})
|
||||
create('foo',{producer:true})
|
||||
start()
|
Loading…
Reference in New Issue
Block a user