rosotacom-dev 2.5.dev76__tar.gz → 2.5.dev77__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/PKG-INFO +1 -1
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/neither-a-queue-nor-a-burst-tilts-the-size-law.md +60 -17
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/profiles.yaml +71 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom_dev.egg-info/PKG-INFO +1 -1
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom_dev.egg-info/scm_version.json +2 -2
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.devcontainer/devcontainer.json.template +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.devcontainer/re_generate_devcontainer_json.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/CODEOWNERS +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/ISSUE_TEMPLATE/documentation-audit.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/ISSUE_TEMPLATE/implementation-cleanup.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/ISSUE_TEMPLATE/quality-workflow.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/ISSUE_TEMPLATE/redesign.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/ISSUE_TEMPLATE/release-process.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/ISSUE_TEMPLATE/repository-diagnosis.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/ISSUE_TEMPLATE/test-ci-audit.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/ISSUE_TEMPLATE/work-item.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/actions/setup-just/action.yml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/dependabot.yml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/workflows/benchmark-calibrate.yml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/workflows/benchmark-gate.yml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/workflows/dev-release.yml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/workflows/image-scan.yml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/workflows/nightly-e2e.yml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/workflows/pr-lightweight.yml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/workflows/pr-merge-gate.yml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/workflows/release.yml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.pre-commit-config.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/AGENTS.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/CONCURRENCY.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/CONTRIBUTING.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/DEVELOPMENT_PRINCIPLES.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/LICENSE.txt +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/MANIFEST.in +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/README.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/budgets.jsonl +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/calibration/README.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/calibration/capacity-size-tight-cyclone.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/calibration/probe-loss-gop-tight-cyclone.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/calibration/probe-loss-nominal-cyclone.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/calibration/probe-loss-tight-cyclone.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/calibration/probe-loss-tight-fastdds.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/calibration/probe-loss-tight-zenoh.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/codecov.yml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/deployment-configuration.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/benchmark-ab.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/benchmark-bag-as-load.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/ci.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/ffmpeg-keyframes.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/README.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/a-fitted-delay-table-never-reached-the-shaper.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/a-shorter-group-does-not-lose-fewer-key-frames.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/a-transport-element-doubles-every-fastdds-sample.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/cyclone-fragment-equal-to-max-drops-fragmented-samples.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/cyclone-spdp-discovery-bursts.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/delay-alone-no-loss.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/fastdds-datagram-cap-drops-large-samples.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/graph-derived-types-block-a-non-graph-transport.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/head-of-line-irregularity.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/jitter-loss-bandwidth-latency.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/keyframe-loss-kills-the-next-deltas.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/lifespan-is-enforced-by-one-reader-and-not-the-other.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/lighter-message-loss.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/one-domain-two-cyclone-configs-stop-interoperating.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/oversubscription-queues-not-losses.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/reorder-becomes-reader-loss.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/repro/decode_chain_repro.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/repro/reorder_drop_repro.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/sender-rows-make-a-dead-link-look-loss-free.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/the-size-law-belongs-to-the-transport-not-the-link.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/zero-loss-boundaries-18kb-20hz.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/forensics-report.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/geo-link-map.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/github-repository-settings.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/link-bandwidth.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/link-trace.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/ota-pcap.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/owner-runbook.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/performance-bands.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/playbooks/README.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/quality-model.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/release-notes/TEMPLATE.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/release-notes/v2.1.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/release-notes/v2.2.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/release-notes/v2.3.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/release-notes/v2.4.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/release.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/rfcs/0001-expectation-driven-test-suite.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/rfcs/0002-expectation-concepts.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/rfcs/0003-metric-backbone.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/rfcs/0004-network-profiles.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/rfcs/0005-benchmark-genres-and-ci.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/rfcs/0006-dynamic-qos.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/rfcs/0007-regression-gate.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/rfcs/README.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/testing.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/work-items.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/install.sh +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/justfile +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/media/control_center.png +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/media/echo_test.png +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/media/forensics-report-example.png +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/media/host.png +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/media/vehicle.png +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/pyproject.toml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/requirements.txt +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/rosotacom.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/session-configuration.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/setup.cfg +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/__init__.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/__main__.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/anonymize.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/bag_ground_truth.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/benched_set.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/benchmark.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/benchmark_delta.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/bundle_check.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/cli.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/cli_benchmark.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/deployment.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/ffmpeg_packet.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/forensics.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/geomap.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/image_cache.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/netem_dist.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/network_preflight.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/network_profiles.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/network_shaper.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/plots.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/py.typed +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/benched-set.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/.gitignore +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/README.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/__init__.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/bags/8_drop_reference/metadata.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/deployment.example.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/dist/field-20260817.dist +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/ros2docker.lyrical.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/rosotacom.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scenarios/2_native_chatter/scenario-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/1_heartbeat/run_machine_a.sh +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/1_heartbeat/run_machine_b.sh +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/external.lyrical.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/run_external.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_a/wait_for_echo_topic.sh +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_b/external.lyrical.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_b/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_b/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/2_native_chatter/machine_b/run_external.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/foxglove.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_a/run_external.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/costmap_1second/costmap_1second_0.mcap +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/costmap_1second/metadata.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/3_comp_occ_grid/machine_b/run_external.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/foxglove.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_a/run_external.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/costmap_1second/costmap_1second_0.mcap +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/costmap_1second/metadata.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/4_comp_occ_grid_zen/machine_b/run_external.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_a/run_external.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/5_sized_payload/machine_b/run_external.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_a/run_external.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/external.ros2docker.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/external_session.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/run_communication.sh +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/scripts/6_sized_payload_zen/machine_b/run_external.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/10_restamp/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/11_trickle/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/12_content_integrity/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/13_link_latency/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/14_remote_assist_anonymized/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/15_remote_assist_anonymized_costmap/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/16_remote_assist_anonymized_camera/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/17_synthetic_camera_quality/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/1_heartbeat/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/1_heartbeat_status/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/2_native_chatter/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/3_comp_occ_grid/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/4_comp_occ_grid_zen/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/5_sized_payload/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/6_sized_payload_zen/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/7_latched_static/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/8_drop/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/9_throttle/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/bench_1_1_capacity/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/bench_1_2_load_sweep/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/bench_1_3_ramp/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/bench_1_4_recovery/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/sessions/bench_1_5_camera/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ros2docker.json.example +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ros2docker.lyrical.json.example +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/.vscode/c_cpp_properties.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/.vscode/settings.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_easy_mode.xml.template +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_initial_peer_list.xml.template +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_v2.xml.template +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_v3.xml.template +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_v4.xml.template +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ota_configs/archive/fastdds_v5.xml.template +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ota_configs/create_zenoh_json5.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ota_configs/cyclonedds_local_participants.xml.template +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ota_configs/cyclonedds_minimal.xml.template +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ota_configs/cyclonedds_scoped.xml.template +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ota_configs/cyclonedds_tuned.xml.template +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ota_configs/fastdds_easy_mode.xml.template +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ota_configs/fastdds_local.xml.template +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ota_configs/fastdds_tuned.xml.template +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ota_configs/fastdds_unicast.xml.template +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ota_configs/get_ota_xml.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ota_configs/utils.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ota_configs/zenoh.json5.template +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/.gitkeep +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_cpp/CMakeLists.txt +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_cpp/COLCON_IGNORE +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_cpp/LICENSE.txt +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_cpp/package.xml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_cpp/src/hz_monitor.cpp +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_cpp/src/universal_compressor.cpp +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_cpp/src/universal_decompressor.cpp +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_msgs/CMakeLists.txt +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_msgs/LICENSE.txt +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_msgs/msg/CompressedData.msg +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_msgs/msg/EchoHeartbeat.msg +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_msgs/msg/OtaStamped.msg +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_msgs/msg/SizedPayload.msg +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_msgs/package.xml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/LICENSE.txt +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/__init__.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/base_bridge_relay.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/bridge_in.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/bridge_out.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/ffmpeg_flags.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/heartbeat_echo.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/hz_monitor.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/image_bandwidth_reducer.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/image_pixel_capper.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/lanelet_saver.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/latch_relay.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/costmap_remapper.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/marker_remapper.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/speed_test.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/tf_remapper.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/traffic_monitor.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/legacy/wifi_network_analysis_1.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/link_bytes.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/link_trace.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/local_global_frame_bridge.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/localization_map_split_reduce_saver.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/msg_transform.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/ota_pcap.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/pair_management.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/playout_pacer.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/playout_pacer_core.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/pub_sub_pair.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/qos.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/relay_in.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/relay_out.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/restamp.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/sized_publisher.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/stage_latency.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/stage_latency_core.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/status_overview.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/status_overview_core.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/tf_map_to_cart_saver.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/topic_monitor.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/topic_resolution.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/trickle.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_compressor.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_decompressor.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_ota_unwrapper.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/com_py/universal_ota_wrapper.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/package.xml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/resource/com_py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/setup.cfg +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/setup.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/test/test_copyright.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/test/test_flake8.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/ros2src/com_py/test/test_pep257.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/session/content/base/session_plugin_base.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/session/content/network/up_connectivity.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/session/content/network/wifi_network_analysis_2.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/session/creation/anonymize_bag.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/session/creation/catmux_log_setup.sh +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/session/creation/create_session_yaml.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/session/creation/generate_session_files.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/session/creation/run_session.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/session/creation/run_session_in_external_terminal.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/ws/session/creation/strip_ansi.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/status_eval.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/stream_stats.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/trace_profiles.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/transit.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/video_quality.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom_dev.egg-info/SOURCES.txt +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom_dev.egg-info/dependency_links.txt +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom_dev.egg-info/entry_points.txt +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom_dev.egg-info/requires.txt +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom_dev.egg-info/scm_file_list.json +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom_dev.egg-info/top_level.txt +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/terminology.md +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/contract/test_benched_set_registry.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/contract/test_findings.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/contract/test_generated_topics_have_a_producer.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/contract/test_lyrical_runtime_compat.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/contract/test_markdown_links.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/contract/test_ota_source_bundle.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/contract/test_package_metadata.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/contract/test_packaged_resources.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/contract/test_profile_covers_generated_commands.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/contract/test_pytest_policy.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/contract/test_readme_examples.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/contract/test_security_maintenance_config.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/contract/test_session_configuration_doc.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/contract/test_session_template_substitution.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/contract/test_workflow_contracts.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/e2e/conftest.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/e2e/test_anonymize_e2e.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/e2e/test_benchmark_ab.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/e2e/test_benchmark_capacity.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/e2e/test_benchmark_replay.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/e2e/test_parallel_smoke.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/e2e/test_smoke.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/e2e/test_timeline_stepping.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/e2e/test_video_quality_e2e.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/sessions/generate_rmw_matrix.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/sessions/rmw_matrix/1_heartbeat_cyclone-local_zenoh-ros2dds-ota/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/sessions/rmw_matrix/1_heartbeat_cyclone-ota/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/sessions/rmw_matrix/1_heartbeat_cyclone-ota-tuned/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/sessions/rmw_matrix/1_heartbeat_fastdds/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/sessions/rmw_matrix/1_heartbeat_fastdds-default/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/sessions/rmw_matrix/1_heartbeat_zen-endpoints/session-definition.yaml +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_anonymize.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_bag_ground_truth.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_benched_set.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_benchmark.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_benchmark_delta.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_bundle_check.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_catmux_pane_logging.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_cli.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_cli_benchmark.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_concurrency.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_container_shaping.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_deployment.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_ffmpeg_flags.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_ffmpeg_packet.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_field_profiles.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_forensics.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_geomap.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_image_cache.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_link_bytes.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_link_trace.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_netem_dist.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_network_preflight.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_network_profiles.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_network_shaper.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_ota_link_configs.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_ota_pcap.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_ota_unwrapper.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_ota_wrapper.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_ota_xml.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_playout_pacer.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_plots.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_pub_sub_pair_types.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_qos_fallback_logging.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_relay_optional_parameters.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_ros_node_entity_ownership.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_session_pipeline.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_stage_latency.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_status_eval.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_status_overview.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_status_overview_observer.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_stream_stats.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_terminology_stage_ownership.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_trace_profiles.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_transit.py +0 -0
- {rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/tests/unit/test_video_quality.py +0 -0
|
@@ -10,6 +10,7 @@ were emulated against the same measurement chain, and none of them produces it.
|
|
|
10
10
|
| | 300 B | 1.1 kB | 3.1 kB | 6.1 kB | 12.1 kB | 38.1 kB |
|
|
11
11
|
|---|---:|---:|---:|---:|---:|---:|
|
|
12
12
|
| independent per packet | 1.05 % | 1.47 % | 3.47 % | 6.28 % | 11.23 % | 31.92 % |
|
|
13
|
+
| a two-state process, same mean, 105 ms bad runs | 1.47 % | 1.76 % | 2.76 % | 5.09 % | 10.00 % | **21.98 %** |
|
|
13
14
|
| + a token bucket a burst can fill (4 Mbit/s) | 1.14 % | 1.33 % | 2.57 % | 4.99 % | 13.43 % | 32.92 % |
|
|
14
15
|
| a serialisation constraint (1.5 Mbit/s) | — | 1.62 % | — | — | 11.60 % | **97.54 %** |
|
|
15
16
|
|
|
@@ -17,6 +18,16 @@ were emulated against the same measurement chain, and none of them produces it.
|
|
|
17
18
|
law is reproduced with residuals of 1.20, 0.85, 1.01, 1.06, 0.97 and 1.00 —
|
|
18
19
|
flat over three decades of size. Whatever tilts the field, it is not the
|
|
19
20
|
wrapper, the join, or the way the fit is taken.
|
|
21
|
+
- **Clustered loss is not the cause, and it bends the curve the other way.**
|
|
22
|
+
A two-state process at the same 1 % mean, with its chain rescaled per cell so
|
|
23
|
+
that a bad run is the same 105 ms of wall clock in every one of them, makes
|
|
24
|
+
the largest class lose **31 % less** than the independent law rather than
|
|
25
|
+
more: 21.98 % against 31.92 %, intervals 20.3–23.8 against 30.0–33.9. The
|
|
26
|
+
reason is the one that makes it a mechanism rather than a coincidence — a
|
|
27
|
+
38-packet message occupies about the length of one bad run, so its packets
|
|
28
|
+
share a fate and the message is lost once instead of thirty-eight times
|
|
29
|
+
independently. The field's residual has the opposite sign, so burstiness at
|
|
30
|
+
this scale does not explain it; it makes it harder to explain.
|
|
20
31
|
- **A burst meeting a queue is not the cause.** A token bucket at 4 Mbit/s —
|
|
21
32
|
above the largest class's mean offered rate of 3.0 Mbit/s and far below its
|
|
22
33
|
instantaneous one, so a 38-packet message meets a queue and a 1-packet
|
|
@@ -81,17 +92,30 @@ The queued arm on the same ladder: 24, 28, 54, 105, 283 and 693 losses of about
|
|
|
81
92
|
2100 offered, giving the second row of the claim table. The tight arm: 34 of
|
|
82
93
|
2104, 244 of 2103, and 1826 of 1872.
|
|
83
94
|
|
|
84
|
-
**
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
95
|
+
**Measuring the two-state arm took two attempts, and the reason is worth
|
|
96
|
+
recording.** `netem`'s Gilbert–Elliott model advances its chain once per
|
|
97
|
+
*packet*, not once per second, so a size ladder at a fixed message rate runs the
|
|
98
|
+
chain at a different speed in every cell — 10 packets/s for a one-fragment
|
|
88
99
|
message against 380 for a 38-fragment one. The cells then do not share a loss
|
|
89
|
-
process
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
100
|
+
process. The arm measured that way duly reported a per-packet mean of 0.33 % in
|
|
101
|
+
its smallest cell against a stationary 1.00 %, because that cell never sampled
|
|
102
|
+
enough of the chain.
|
|
103
|
+
|
|
104
|
+
Holding the offered *packet* rate constant instead was the obvious fix and it
|
|
105
|
+
measured something else entirely: **the pipeline serves messages, not packets.**
|
|
106
|
+
At 60 messages/s the one-packet cell lost 10.774 % under the bursty profile and
|
|
107
|
+
10.626 % under the independent one, and at 380 messages/s 48.391 % and 48.430 %.
|
|
108
|
+
Two different loss processes cannot agree to three digits; what both were
|
|
109
|
+
reporting is the depth-1 OTA queue overwriting its own backlog before the link
|
|
110
|
+
sees it. That is the depth-1 overwrite of bundled publications, which the
|
|
111
|
+
operator harness's ledger records against a real drive, reached here by
|
|
112
|
+
accident and against a synthetic one.
|
|
113
|
+
|
|
114
|
+
What works is to leave the message rate at the field's 10 Hz and rescale the
|
|
115
|
+
chain: multiplying `p` and `r` by `380/(N × 10)` in each cell leaves the
|
|
116
|
+
stationary bad fraction at 3.92 % and the mean loss at 1 % while making the bad
|
|
117
|
+
run 105 ms of wall clock everywhere, which is the drive's own figure. The six
|
|
118
|
+
`bp-frag-*` profiles are that ladder.
|
|
95
119
|
|
|
96
120
|
Verification: manual, from a source checkout with Docker:
|
|
97
121
|
|
|
@@ -109,9 +133,19 @@ rosotacom benchmark probe --project src/rosotacom/resources/examples/rosotacom.y
|
|
|
109
133
|
--repeats 1 --sudo-mode container --no-plot
|
|
110
134
|
```
|
|
111
135
|
|
|
136
|
+
```bash
|
|
137
|
+
for pair in 200:one 1000:two 3000:four 6000:six 12000:twelve 38000:thirtyeight; do
|
|
138
|
+
rosotacom benchmark probe \
|
|
139
|
+
--project src/rosotacom/resources/examples/rosotacom.yaml \
|
|
140
|
+
--profile "bp-frag-${pair##*:}" --size "${pair%%:*}" --rate-hz 10 \
|
|
141
|
+
--duration 240 --repeats 1 --sudo-mode container --no-plot
|
|
142
|
+
done
|
|
143
|
+
```
|
|
144
|
+
|
|
112
145
|
The independent ladder must fit one `(p, F)` to within about ten per cent at
|
|
113
|
-
every point; the queued ladder must not differ from it systematically;
|
|
114
|
-
|
|
146
|
+
every point; the queued ladder must not differ from it systematically; the
|
|
147
|
+
rescaled two-state ladder must fall below it at the large end and not above; and
|
|
148
|
+
the tight cell at 38 kB must be near-total loss while its 1 kB cell is not.
|
|
115
149
|
|
|
116
150
|
## Status
|
|
117
151
|
|
|
@@ -126,11 +160,20 @@ the tilt is not an artefact of the accounting, it is not what a queue does to a
|
|
|
126
160
|
burst, and it is not a serialisation limit, because a serialisation limit does
|
|
127
161
|
not tilt a curve, it truncates it.
|
|
128
162
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
163
|
+
The clustered arm is the one that changes the reading rather than confirming
|
|
164
|
+
it. A reviewer's first guess for a size-systematic residual is burstiness, and
|
|
165
|
+
burstiness at the drive's own time scale produces the **opposite sign**: it
|
|
166
|
+
protects large messages, because a message long enough to span a bad run is lost
|
|
167
|
+
once rather than in each of its packets. So the field's residual is not
|
|
168
|
+
explained by the mechanism that the field's own two-layer model already
|
|
169
|
+
contains, which is worth saying out loud.
|
|
170
|
+
|
|
171
|
+
What is left to attack is correlation at a scale *shorter* than a large
|
|
172
|
+
message's own time on the wire — short enough that a message straddles a loss
|
|
173
|
+
event more often than a single packet does, without its packets sharing one.
|
|
174
|
+
`netem` cannot express that at all: its chain advances per packet, so a run is
|
|
175
|
+
always measured in packets rather than in milliseconds, and the two coincide
|
|
176
|
+
only at one message size.
|
|
134
177
|
|
|
135
178
|
The serialisation row deserves one sentence wherever a duty-cycled uplink is
|
|
136
179
|
discussed. It shows that the observable signature of such a link — small
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/profiles.yaml
RENAMED
|
@@ -245,3 +245,74 @@ profiles:
|
|
|
245
245
|
distribution_file: dist/field-20260817.dist
|
|
246
246
|
loss: 1%
|
|
247
247
|
downlink: { delay: 7ms, jitter: 5ms }
|
|
248
|
+
|
|
249
|
+
# B1-prime -- the two-state process with its chain rescaled per cell.
|
|
250
|
+
#
|
|
251
|
+
# netem advances a Gilbert-Elliott chain once per *packet*, so the fitted p
|
|
252
|
+
# and r describe a process in packets and not in time. At the drive's own
|
|
253
|
+
# 380 fragments/s they mean a bad run of about 105 ms; on a size ladder at a
|
|
254
|
+
# fixed 10 Hz the packet rate is N x 10, so the same p and r stretch the bad
|
|
255
|
+
# run by 380/(N x 10) and every cell meets a different link. Forcing the
|
|
256
|
+
# packet rate constant instead was tried and measured the wrong thing: the
|
|
257
|
+
# pipeline serves messages, not packets, and at 60 messages/s the depth-1 OTA
|
|
258
|
+
# queue overwrites its own backlog -- both loss processes then reported
|
|
259
|
+
# 10.7 % to two digits.
|
|
260
|
+
#
|
|
261
|
+
# So the chain is rescaled instead: p and r are multiplied by 380/(N x 10) in
|
|
262
|
+
# each cell, which leaves the stationary bad fraction at 3.92 % and the mean
|
|
263
|
+
# loss at 1 % while making the bad run 105 ms of wall clock everywhere. The
|
|
264
|
+
# comparison against `tilt-iid` is then a comparison of one thing.
|
|
265
|
+
|
|
266
|
+
bp-frag-one:
|
|
267
|
+
uplink:
|
|
268
|
+
delay: 25ms
|
|
269
|
+
jitter: 18ms
|
|
270
|
+
distribution: field-20260817
|
|
271
|
+
distribution_file: dist/field-20260817.dist
|
|
272
|
+
loss_gemodel: { p: 3.876%, r: 95%, loss_bad: 13.5%, loss_good: 0.49% }
|
|
273
|
+
downlink: { delay: 7ms, jitter: 5ms }
|
|
274
|
+
|
|
275
|
+
bp-frag-two:
|
|
276
|
+
uplink:
|
|
277
|
+
delay: 25ms
|
|
278
|
+
jitter: 18ms
|
|
279
|
+
distribution: field-20260817
|
|
280
|
+
distribution_file: dist/field-20260817.dist
|
|
281
|
+
loss_gemodel: { p: 1.938%, r: 47.5%, loss_bad: 13.5%, loss_good: 0.49% }
|
|
282
|
+
downlink: { delay: 7ms, jitter: 5ms }
|
|
283
|
+
|
|
284
|
+
bp-frag-four:
|
|
285
|
+
uplink:
|
|
286
|
+
delay: 25ms
|
|
287
|
+
jitter: 18ms
|
|
288
|
+
distribution: field-20260817
|
|
289
|
+
distribution_file: dist/field-20260817.dist
|
|
290
|
+
loss_gemodel: { p: 0.969%, r: 23.75%, loss_bad: 13.5%, loss_good: 0.49% }
|
|
291
|
+
downlink: { delay: 7ms, jitter: 5ms }
|
|
292
|
+
|
|
293
|
+
bp-frag-six:
|
|
294
|
+
uplink:
|
|
295
|
+
delay: 25ms
|
|
296
|
+
jitter: 18ms
|
|
297
|
+
distribution: field-20260817
|
|
298
|
+
distribution_file: dist/field-20260817.dist
|
|
299
|
+
loss_gemodel: { p: 0.646%, r: 15.83%, loss_bad: 13.5%, loss_good: 0.49% }
|
|
300
|
+
downlink: { delay: 7ms, jitter: 5ms }
|
|
301
|
+
|
|
302
|
+
bp-frag-twelve:
|
|
303
|
+
uplink:
|
|
304
|
+
delay: 25ms
|
|
305
|
+
jitter: 18ms
|
|
306
|
+
distribution: field-20260817
|
|
307
|
+
distribution_file: dist/field-20260817.dist
|
|
308
|
+
loss_gemodel: { p: 0.323%, r: 7.917%, loss_bad: 13.5%, loss_good: 0.49% }
|
|
309
|
+
downlink: { delay: 7ms, jitter: 5ms }
|
|
310
|
+
|
|
311
|
+
bp-frag-thirtyeight:
|
|
312
|
+
uplink:
|
|
313
|
+
delay: 25ms
|
|
314
|
+
jitter: 18ms
|
|
315
|
+
distribution: field-20260817
|
|
316
|
+
distribution_file: dist/field-20260817.dist
|
|
317
|
+
loss_gemodel: { p: 0.102%, r: 2.5%, loss_bad: 13.5%, loss_good: 0.49% }
|
|
318
|
+
downlink: { delay: 7ms, jitter: 5ms }
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.devcontainer/devcontainer.json.template
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.devcontainer/re_generate_devcontainer_json.py
RENAMED
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/ISSUE_TEMPLATE/documentation-audit.md
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/ISSUE_TEMPLATE/implementation-cleanup.md
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/ISSUE_TEMPLATE/quality-workflow.md
RENAMED
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/ISSUE_TEMPLATE/release-process.md
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/ISSUE_TEMPLATE/repository-diagnosis.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/.github/workflows/benchmark-calibrate.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/calibration/capacity-size-tight-cyclone.json
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/calibration/probe-loss-gop-tight-cyclone.json
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/calibration/probe-loss-nominal-cyclone.json
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/calibration/probe-loss-tight-cyclone.json
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/calibration/probe-loss-tight-fastdds.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/cyclone-spdp-discovery-bursts.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/head-of-line-irregularity.md
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/jitter-loss-bandwidth-latency.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/reorder-becomes-reader-loss.md
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/repro/decode_chain_repro.py
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/repro/reorder_drop_repro.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/findings/zero-loss-boundaries-18kb-20hz.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/rfcs/0001-expectation-driven-test-suite.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/docs/rfcs/0005-benchmark-genres-and-ci.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/benched-set.yaml
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/.gitignore
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/README.md
RENAMED
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/ros2docker.json
RENAMED
|
File without changes
|
|
File without changes
|
{rosotacom_dev-2.5.dev76 → rosotacom_dev-2.5.dev77}/src/rosotacom/resources/examples/rosotacom.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|