using JLD2 using JLD2View using JLD2View: send_signal mktempdir() do path d = Dict("int" => 1, "float" => 2.0, "vector" => rand(1000), "matrix" => rand(1000, 1000)) d["dict"] = deepcopy(d) d["array"] = [deepcopy(d), deepcopy(d)] fname = joinpath(path, "tmp.jld2") JLD2.save(fname, d) viewer = jld2_view(fname, sync=false) sleep(1) function simulate(action, arg) println("Simulating action: $action $arg") send_signal(viewer, action, arg) sleep(2) end simulate(:select_key, "int") simulate(:select_key, "float") simulate(:select_key, "vector"); simulate(:back, 0) simulate(:select_key, "matrix"); simulate(:back, 0) simulate(:select_key, "dict"); begin simulate(:select_key, "vector"); simulate(:back, 1) simulate(:select_key, "matrix"); simulate(:back, 1) end; simulate(:back, 0) simulate(:select_key, "array"); begin simulate(:select_key, 1); simulate(:back, 1) end; simulate(:back, 0) println("Terminating event loop") JLD2View.stop(viewer) end