Rocket.jl
Rocket.jl copied to clipboard
Pairwise fails with asynchronous inputs
Here is minimum working example:
subject = Subject(Int)
paired = subject |> pairwise()
subscribe!(paired, logger("paired"))
for i = 1:10
@async next!(subject, i)
end
output
[paired] Data: (1, 2)
[paired] Data: (1, 4)
[paired] Data: (1, 5)
[paired] Data: (1, 6)
[paired] Data: (1, 7)
[paired] Data: (1, 8)
[paired] Data: (1, 9)
[paired] Data: (1, 10)
It does work with a little sleep in between:
julia> for i = 1:10
@async next!(subject, i)
sleep(0.1)
end
[paired] Data: (1, 2)
[paired] Data: (2, 3)
[paired] Data: (3, 4)
[paired] Data: (4, 5)
[paired] Data: (5, 6)
[paired] Data: (6, 7)
[paired] Data: (7, 8)
[paired] Data: (8, 9)
[paired] Data: (9, 10)