-
Notifications
You must be signed in to change notification settings - Fork 8
nik hanselmann edited this page Jul 9, 2015
·
2 revisions
Why do serial delay
s not accumulate in time spent per message?
given a pattern such as:
where each delay is 2s, why is 2s between each message logged, and not 8s?
{"blocks":[{"label":"","type":"+","id":37,"inputs":[{"name":"x","value":null,"type":"number"},{"name":"y","value":{"data":1},"type":"number"}],"outputs":[{"name":"x+y","type":"number"}],"source":null,"position":{"x":318,"y":142}},{"label":"","type":"delay","id":38,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"duration","value":{"data":"2s"},"type":"string"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":463,"y":166}},{"label":"","type":"log","id":39,"inputs":[{"name":"log","value":null,"type":"any"}],"outputs":[],"source":null,"position":{"x":607,"y":538}},{"label":"","type":"delay","id":58,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"duration","value":{"data":"2s"},"type":"string"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":462,"y":234}},{"label":"","type":"delay","id":59,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"duration","value":{"data":"2s"},"type":"string"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":465,"y":311}},{"label":"","type":"delay","id":60,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"duration","value":{"data":"2s"},"type":"string"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":464,"y":379}},{"label":"","type":"first","id":65,"inputs":[{"name":"in","value":null,"type":"any"}],"outputs":[{"name":"first","type":"any"}],"source":null,"position":{"x":128,"y":243}},{"label":"","type":"identity","id":67,"inputs":[{"name":"in","value":null,"type":"any"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":307,"y":270}},{"label":"","type":"latch","id":70,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"ctrl","value":null,"type":"boolean"}],"outputs":[{"name":"true","type":"any"},{"name":"false","type":"any"}],"source":null,"position":{"x":212,"y":159}},{"label":"","type":"identity","id":74,"inputs":[{"name":"in","value":{"data":0},"type":"any"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":69,"y":80}}],"sources":[],"links":[],"connections":[{"from":{"id":37,"route":0},"to":{"id":38,"route":0},"id":45},{"from":{"id":38,"route":0},"to":{"id":58,"route":0},"id":61},{"from":{"id":58,"route":0},"to":{"id":59,"route":0},"id":62},{"from":{"id":59,"route":0},"to":{"id":60,"route":0},"id":63},{"from":{"id":60,"route":0},"to":{"id":39,"route":0},"id":64},{"from":{"id":37,"route":0},"to":{"id":67,"route":0},"id":68},{"from":{"id":67,"route":0},"to":{"id":37,"route":0},"id":69},{"from":{"id":70,"route":0},"to":{"id":37,"route":0},"id":72},{"from":{"id":65,"route":0},"to":{"id":70,"route":1},"id":73},{"from":{"id":74,"route":0},"to":{"id":65,"route":0},"id":76},{"from":{"id":74,"route":0},"to":{"id":70,"route":0},"id":77}],"groups":[]}
answer:
since there is nothing to block the emission of the message from the final delay, the serial delay
s function as a queue. when a message is shuffled to the next delay in sequence, the message is held there for 2s. this is true for 4 messages. when we add a gate:
{"blocks":[{"label":"","type":"+","id":1,"inputs":[{"name":"x","value":null,"type":"number"},{"name":"y","value":{"data":1},"type":"number"}],"outputs":[{"name":"x+y","type":"number"}],"source":null,"position":{"x":292,"y":166}},{"label":"","type":"delay","id":2,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"duration","value":{"data":"2s"},"type":"string"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":423,"y":154}},{"label":"","type":"log","id":3,"inputs":[{"name":"log","value":null,"type":"any"}],"outputs":[],"source":null,"position":{"x":661,"y":522}},{"label":"","type":"first","id":4,"inputs":[{"name":"in","value":null,"type":"any"}],"outputs":[{"name":"first","type":"any"}],"source":null,"position":{"x":102,"y":267}},{"label":"","type":"identity","id":5,"inputs":[{"name":"in","value":null,"type":"any"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":277,"y":363}},{"label":"","type":"latch","id":6,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"ctrl","value":null,"type":"boolean"}],"outputs":[{"name":"true","type":"any"},{"name":"false","type":"any"}],"source":null,"position":{"x":186,"y":183}},{"label":"","type":"identity","id":7,"inputs":[{"name":"in","value":{"data":0},"type":"any"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":43,"y":104}},{"label":"","type":"gate","id":8,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"ctrl","value":null,"type":"any"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":462,"y":398}},{"label":"","type":"delay","id":9,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"duration","value":{"data":"2s"},"type":"string"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":418,"y":209}},{"label":"","type":"delay","id":10,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"duration","value":{"data":"2s"},"type":"string"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":421,"y":260}},{"label":"","type":"delay","id":11,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"duration","value":{"data":"2s"},"type":"string"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":424,"y":313}},{"label":"","type":"+","id":12,"inputs":[{"name":"x","value":null,"type":"number"},{"name":"y","value":{"data":1},"type":"number"}],"outputs":[{"name":"x+y","type":"number"}],"source":null,"position":{"x":310,"y":553}},{"label":"","type":"delay","id":13,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"duration","value":{"data":"2s"},"type":"string"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":433,"y":549}},{"label":"","type":"log","id":14,"inputs":[{"name":"log","value":null,"type":"any"}],"outputs":[],"source":null,"position":{"x":645,"y":889}},{"label":"","type":"first","id":15,"inputs":[{"name":"in","value":null,"type":"any"}],"outputs":[{"name":"first","type":"any"}],"source":null,"position":{"x":120,"y":662}},{"label":"","type":"identity","id":16,"inputs":[{"name":"in","value":null,"type":"any"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":295,"y":758}},{"label":"","type":"latch","id":17,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"ctrl","value":null,"type":"boolean"}],"outputs":[{"name":"true","type":"any"},{"name":"false","type":"any"}],"source":null,"position":{"x":204,"y":578}},{"label":"","type":"identity","id":18,"inputs":[{"name":"in","value":{"data":0},"type":"any"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":46,"y":517}},{"label":"","type":"delay","id":19,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"duration","value":{"data":"2s"},"type":"string"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":434,"y":604}},{"label":"","type":"delay","id":20,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"duration","value":{"data":"2s"},"type":"string"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":433,"y":654}},{"label":"","type":"delay","id":21,"inputs":[{"name":"in","value":null,"type":"any"},{"name":"duration","value":{"data":"2s"},"type":"string"}],"outputs":[{"name":"out","type":"any"}],"source":null,"position":{"x":435,"y":712}},{"label":"","type":"set","id":22,"inputs":[{"name":"key","value":{"data":"2s_delay"},"type":"string"},{"name":"value","value":null,"type":"any"}],"outputs":[{"name":"object","type":"object"}],"source":null,"position":{"x":528,"y":791}},{"label":"","type":"set","id":23,"inputs":[{"name":"key","value":{"data":"8s_delay"},"type":"string"},{"name":"value","value":null,"type":"any"}],"outputs":[{"name":"object","type":"object"}],"source":null,"position":{"x":552,"y":450}},{"label":"","type":"log","id":51,"inputs":[{"name":"log","value":null,"type":"any"}],"outputs":[],"source":null,"position":{"x":661,"y":522}}],"sources":[],"links":[],"connections":[{"from":{"id":5,"route":0},"to":{"id":1,"route":0},"id":25},{"from":{"id":6,"route":0},"to":{"id":1,"route":0},"id":26},{"from":{"id":4,"route":0},"to":{"id":6,"route":1},"id":27},{"from":{"id":7,"route":0},"to":{"id":4,"route":0},"id":28},{"from":{"id":1,"route":0},"to":{"id":5,"route":0},"id":29},{"from":{"id":7,"route":0},"to":{"id":6,"route":0},"id":30},{"from":{"id":1,"route":0},"to":{"id":2,"route":0},"id":31},{"from":{"id":1,"route":0},"to":{"id":8,"route":1},"id":32},{"from":{"id":2,"route":0},"to":{"id":9,"route":0},"id":33},{"from":{"id":9,"route":0},"to":{"id":10,"route":0},"id":34},{"from":{"id":10,"route":0},"to":{"id":11,"route":0},"id":35},{"from":{"id":11,"route":0},"to":{"id":8,"route":0},"id":36},{"from":{"id":16,"route":0},"to":{"id":12,"route":0},"id":37},{"from":{"id":17,"route":0},"to":{"id":12,"route":0},"id":38},{"from":{"id":15,"route":0},"to":{"id":17,"route":1},"id":39},{"from":{"id":18,"route":0},"to":{"id":15,"route":0},"id":40},{"from":{"id":12,"route":0},"to":{"id":16,"route":0},"id":41},{"from":{"id":18,"route":0},"to":{"id":17,"route":0},"id":42},{"from":{"id":12,"route":0},"to":{"id":13,"route":0},"id":43},{"from":{"id":13,"route":0},"to":{"id":19,"route":0},"id":44},{"from":{"id":19,"route":0},"to":{"id":20,"route":0},"id":45},{"from":{"id":20,"route":0},"to":{"id":21,"route":0},"id":46},{"from":{"id":21,"route":0},"to":{"id":22,"route":1},"id":47},{"from":{"id":22,"route":0},"to":{"id":14,"route":0},"id":48},{"from":{"id":8,"route":0},"to":{"id":23,"route":1},"id":49},{"from":{"id":23,"route":0},"to":{"id":3,"route":0},"id":50}],"groups":[]}