-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathqueue.lua
More file actions
86 lines (83 loc) · 2.02 KB
/
queue.lua
File metadata and controls
86 lines (83 loc) · 2.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
-- queue={
-- queue={},
-- tick=1100,
-- timestamp=0,
-- sent={},
-- }
-- queue.exec=function(cmds,grouped)
-- queue.append(cmds,grouped)
-- queue.send()
-- end
-- queue.limit=function()
-- return cmd_limit
-- end
-- queue.discard=function()
-- queue.queue={}
-- end
-- queue.append=function(rawcmds,grouped)
-- local cmds={}
-- for k,v in pairs(rawcmds) do
-- local splited=SplitN(v,"\n",-1)
-- for k,c in pairs(splited) do
-- table.insert(cmds,c)
-- end
-- end
-- if grouped then
-- table.insert(queue.queue,cmds)
-- else
-- for k,v in pairs(cmds) do
-- table.insert(queue.queue,{v})
-- end
-- end
-- end
-- queue.full=function()
-- local ts=Milliseconds()
-- while #queue.sent<queue.limit() do
-- table.insert(queue.sent,ts)
-- end
-- end
-- queue.fulltick=function()
-- queue.sent={}
-- queue.full()
-- end
-- queue.clean=function()
-- local ts=Milliseconds()
-- local newsent={}
-- for k,v in pairs(queue.sent) do
-- if ts-v<=queue.tick then
-- table.insert(newsent,v)
-- end
-- end
-- queue.sent=newsent
-- end
-- queue.send=function()
-- queue.clean()
-- while #queue.queue~=0 and #queue.sent<queue.limit() do
-- local cmds=queue.queue[1]
-- if queue.limit()-#queue.sent<#cmds then
-- queue.fulltick()
-- return
-- end
-- table.remove(queue.queue,1)
-- for k,v in pairs(cmds) do
-- local ts=Milliseconds()
-- table.insert(queue.sent,ts)
-- SendNoEcho(v)
-- if walkecho==true then Note(v) end
-- end
-- end
-- end
-- do_send_queue=function()
-- queue.exec({})
-- end
-- queue.full()
Metronome:settick(1100)
Metronome:setinterval(50)
queue={}
queue.discard=function()
Metronome:discard()
end
queue.exec=function(cmds,grouped)
Metronome:setbeats(cmd_limit)
Metronome:push(cmds,grouped,walkecho)
end