Skip to content

entanglement tracker and swapper added to ProtocolZoo, with significant improvements to the query and messaging systems #338

entanglement tracker and swapper added to ProtocolZoo, with significant improvements to the query and messaging systems

entanglement tracker and swapper added to ProtocolZoo, with significant improvements to the query and messaging systems #338

Triggered via pull request December 15, 2023 16:39
Status Success
Total duration 33m 23s
Artifacts

ci.yml

on: pull_request
Matrix: test
Fit to window
Zoom out
Zoom in

Annotations

7 warnings
Documentation: ../../../.julia/packages/Documenter/1HwWe/src/utilities/utilities.jl#L46
failed to run `@example` block in src/tutorial/message_queues.md:129-203 ```@example messagechannel sim = Simulation() communication_delay = 1.0 channel_1to2 = DelayChannel{Bool}(sim, communication_delay) channel_2to1 = DelayChannel{Bool}(sim, communication_delay) channel_ready = DelayChannel{Bool}(sim, communication_delay) global_log = [] @Resumable function do_random_measurement_transmit_receive_compare(sim, channel_out, channel_in) @yield timeout(sim, 2+rand()) # wait for the measurement to take place local_measurement = rand() < 0.4 # simulate a random measurement result put(channel_out, local_measurement) other_measurement = @yield get(channel_in) succeeded = local_measurement == other_measurement == true return succeeded end @Resumable function reset_system(sim) s = now(sim) reset_duration = 2.0 @yield timeout(sim, reset_duration) put(channel_ready, true) push!(global_log, (:reset_system, s, now(sim))) end @Resumable function process_node1(sim) while true s = now(sim) succeeded = @yield @process do_random_measurement_transmit_receive_compare(sim, channel_1to2, channel_2to1) if succeeded throw(StopSimulation("Success!")) end push!(global_log, (:node_1_meas_tx_rx, s, now(sim))) s2 = now(sim) @yield @process reset_system(sim) push!(global_log, (:node_1_wait_for_reset, s2, now(sim))) end end @Resumable function process_node2(sim) while true s = now(sim) succeeded = @yield @process do_random_measurement_transmit_receive_compare(sim, channel_2to1, channel_1to2) if succeeded throw(StopSimulation("Success!")) end push!(global_log, (:node_2_meas_tx_rx, s, now(sim))) s2 = now(sim) @yield get(channel_ready) push!(global_log, (:node_2_wait_for_reset, s2, now(sim))) end end @process process_node1(sim) @process process_node2(sim) ConcurrentSim.run(sim) fig = Figure() ax = Axis(fig[1,1],xlabel="time") hideydecorations!(ax) for (i, symbol) in enumerate([:node_1_meas_tx_rx,:node_2_meas_tx_rx,:reset_system,:node_1_wait_for_reset,:node_2_wait_for_reset]) x_coords = [(x₀, x₁) for (s, x₀, x₁) in global_log if s==symbol] coords = [(Point(x₀,y+i/5),Point(x₁,y+i/5)) for (y,(x₀, x₁)) in enumerate(x_coords)] linesegments!(coords,color=Cycled(i),label=string(symbol),linewidth=10) flat_coords = collect(Iterators.flatten(coords)) scatter!(flat_coords,color=Cycled(i)) end axislegend(ax) fig ``` exception = UndefVarError: `DelayChannel` not defined Stacktrace: [1] top-level scope @ message_queues.md:132 [2] eval @ ./boot.jl:370 [inlined] [3] #58 @ ~/.julia/packages/Documenter/1HwWe/src/expander_pipeline.jl:754 [inlined] [4] cd(f::Documenter.var"#58#60"{Module, Expr}, dir::String) @ Base.Filesystem ./file.jl:112 [5] (::Documenter.var"#57#59"{Documenter.Page, Module, Expr})() @ Documenter ~/.julia/packages/Documenter/1HwWe/src/expander_pipeline.jl:753 [6] (::IOCapture.var"#3#5"{DataType, Documenter.var"#57#59"{Documenter.Page, Module, Expr}, Task, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}})() @ IOCapture ~/.julia/packages/IOCapture/8Uj7o/src/IOCapture.jl:119 [7] with_logstate(f::Function, logstate::Any) @ Base.CoreLogging ./logging.jl:514 [8] with_logger @ ./logging.jl:626 [inlined] [9] capture(f::Documenter.var"#57#59"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool) @ IOCapture ~/.julia/packages/IOCapture/8Uj7o/src/IOCapture.jl:116 [10] runner(#unused#::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document) @ Documenter ~/.julia/packages/Documenter/1HwWe/src/expander_pipeline.jl:752
Documentation: ../../../.julia/packages/DocumenterCitations/Lv7xa/src/formatting.jl#L388
The DOI field in bibtex entry "keisuke2009doubleselection" should not be a URL. Extracting "https://doi.org/10.1103/PhysRevA.80.042308" -> "10.1103/PhysRevA.80.042308".
Documentation: ../../../.julia/packages/Documenter/1HwWe/src/utilities/utilities.jl#L46
no doc found for reference '[`Wildcard`](@ref)' in src/API.md.
Documentation: ../../../.julia/packages/Documenter/1HwWe/src/utilities/utilities.jl#L46
no doc found for reference '[`Wildcard`](@ref)' in src/API.md.
Documentation: ../../../.julia/packages/Documenter/1HwWe/src/utilities/utilities.jl#L46
no doc found for reference '[`querypop!`](@ref)' in src/API.md.
Documentation: ../../../.julia/packages/Documenter/1HwWe/src/utilities/utilities.jl#L46
no doc found for reference '[`Wildcard`](@ref)' in src/API.md.
Documentation: ../../../.julia/packages/Documenter/1HwWe/src/utilities/utilities.jl#L46
11 docstrings not included in the manual: QuantumSavory.ProtocolZoo.SwapperProt QuantumSavory.ProtocolZoo.EntanglerProt :: Tuple{ConcurrentSim.Simulation, RegisterNet, Int64, Int64} QuantumSavory.ProtocolZoo.EntanglerProt QuantumSavory.ProtocolZoo.EntanglementTracker QuantumSavory.CircuitZoo.inputqubits QuantumSavory.CircuitZoo.StringentHeadNode QuantumSavory.CircuitZoo.StringentBody QuantumSavory.CircuitZoo.StringentBodyNode QuantumSavory.tag_types QuantumSavory.Wildcard QuantumSavory.CircuitZoo.StringentHead These are docstrings in the checked modules (configured with the modules keyword) that are not included in canonical @docs or @autodocs blocks.