Rocket.jl icon indicating copy to clipboard operation
Rocket.jl copied to clipboard

Pairwise fails with asynchronous inputs

Open zsoerenm opened this issue 1 year ago • 0 comments

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)

zsoerenm avatar Jan 11 '24 10:01 zsoerenm