• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ska-sa / spead2
66%
master: 79%

Build:
Build:
LAST BUILD BRANCH: pre-commit-autoupdate
DEFAULT BRANCH: master
Repo Added 07 Dec 2018 02:37PM UTC
Files 84
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH no-strand
branch: no-strand
CHANGE BRANCH
x
Reset
  • no-strand
  • 1.x
  • 2.0.0
  • 2.0.1
  • 2.x
  • NGC-899-handle-async-tasks
  • actions-kill-debug
  • actions-kill-debug2
  • add_pipe_option
  • address-per-heap
  • arm-sve-memcpy-nt
  • arm64-wheels
  • arm64-wheels-v2
  • artifact-v4
  • asyncio
  • boost-1.85
  • boost-1.89
  • bump-boost
  • bump-boost-1.84
  • bump-boost-1.87
  • bump-cibuildwheel
  • bump-deps
  • bump-jinja2-3.1.5
  • bump-requests
  • bump-requirements
  • bump-urllib3
  • bump-versions
  • cancel-async-send-heap
  • cap-net-raw
  • checksum-offload
  • chunk-extra
  • chunk_stream_group
  • chunking-receive
  • chunks-not-experimental
  • ci-py311
  • cibuildwheel
  • cibuildwheel-macos
  • cibuildwheel-macos-squash
  • cibuildwheel-sccache
  • cibuildwheel-wget
  • close-tcp-sockets
  • cmdline
  • cmdline-py
  • completion-channel-eagain
  • completion-tokens
  • copyright-holder
  • copyright-updates2
  • coveralls-action-v2
  • create-masked-flows
  • custom-counters
  • cxx17
  • cyclic-refs
  • debug-mac-os-boost
  • debug-macos-failure
  • defer-reader-deletion
  • delay-freeing-readers
  • dependabot-config
  • dependabot-updates
  • dependabot/github_actions/actions/checkout-4
  • dependabot/github_actions/actions/checkout-5
  • dependabot/github_actions/actions/download-artifact-4
  • dependabot/github_actions/actions/download-artifact-5
  • dependabot/github_actions/actions/download-artifact-6
  • dependabot/github_actions/actions/setup-python-5
  • dependabot/github_actions/actions/setup-python-6
  • dependabot/github_actions/actions/upload-artifact-4
  • dependabot/github_actions/actions/upload-artifact-5
  • dependabot/github_actions/coverallsapp/github-action-2.3.0
  • dependabot/github_actions/coverallsapp/github-action-2.3.1
  • dependabot/github_actions/coverallsapp/github-action-2.3.3
  • dependabot/github_actions/coverallsapp/github-action-2.3.4
  • dependabot/github_actions/coverallsapp/github-action-2.3.6
  • dependabot/github_actions/docker/setup-qemu-action-3
  • dependabot/github_actions/mozilla-actions/sccache-action-0.0.5
  • dependabot/github_actions/mozilla-actions/sccache-action-0.0.6
  • dependabot/github_actions/mozilla-actions/sccache-action-0.0.7
  • dependabot/github_actions/mozilla-actions/sccache-action-0.0.8
  • dependabot/github_actions/mozilla-actions/sccache-action-0.0.9
  • dependabot/github_actions/pypa/cibuildwheel-2.10.1
  • dependabot/github_actions/pypa/cibuildwheel-2.10.2
  • dependabot/github_actions/pypa/cibuildwheel-2.11.1
  • dependabot/github_actions/pypa/cibuildwheel-2.11.2
  • dependabot/github_actions/pypa/cibuildwheel-2.11.3
  • dependabot/github_actions/pypa/cibuildwheel-2.11.4
  • dependabot/github_actions/pypa/cibuildwheel-2.12.0
  • dependabot/github_actions/pypa/cibuildwheel-2.12.1
  • dependabot/github_actions/pypa/cibuildwheel-2.12.3
  • dependabot/github_actions/pypa/cibuildwheel-2.13.1
  • dependabot/github_actions/pypa/cibuildwheel-2.14.1
  • dependabot/github_actions/pypa/cibuildwheel-2.15.0
  • dependabot/github_actions/pypa/cibuildwheel-2.16.0
  • dependabot/github_actions/pypa/cibuildwheel-2.16.1
  • dependabot/github_actions/pypa/cibuildwheel-2.16.2
  • dependabot/github_actions/pypa/cibuildwheel-2.16.4
  • dependabot/github_actions/pypa/cibuildwheel-2.16.5
  • dependabot/github_actions/pypa/cibuildwheel-2.17.0
  • dependabot/github_actions/pypa/cibuildwheel-2.18.0
  • dependabot/github_actions/pypa/cibuildwheel-2.18.1
  • dependabot/github_actions/pypa/cibuildwheel-2.19.1
  • dependabot/github_actions/pypa/cibuildwheel-2.19.2
  • dependabot/github_actions/pypa/cibuildwheel-2.20.0
  • dependabot/github_actions/pypa/cibuildwheel-2.21.0
  • dependabot/github_actions/pypa/cibuildwheel-2.21.1
  • dependabot/github_actions/pypa/cibuildwheel-2.21.2
  • dependabot/github_actions/pypa/cibuildwheel-2.21.3
  • dependabot/github_actions/pypa/cibuildwheel-2.22.0
  • dependabot/github_actions/pypa/cibuildwheel-2.23.1
  • dependabot/github_actions/pypa/cibuildwheel-2.23.2
  • dependabot/github_actions/pypa/cibuildwheel-2.23.3
  • dependabot/github_actions/pypa/cibuildwheel-2.8.1
  • dependabot/github_actions/pypa/cibuildwheel-2.9.0
  • dependabot/github_actions/pypa/cibuildwheel-3.0.0
  • dependabot/github_actions/pypa/cibuildwheel-3.0.1
  • dependabot/github_actions/pypa/cibuildwheel-3.1.3
  • dependabot/github_actions/pypa/cibuildwheel-3.1.4
  • dependabot/github_actions/pypa/cibuildwheel-3.2.0
  • dependabot/github_actions/pypa/cibuildwheel-3.2.1
  • dependabot/pip/certifi-2024.7.4
  • dependabot/pip/jinja2-3.1.6
  • dependabot/pip/numpy-1.22.0
  • dependabot/pip/numpy-1.22.4
  • dependabot/pip/production-group-08820815cf
  • dependabot/pip/production-group-25c3cc3ad8
  • dependabot/pip/production-group-28d49bf853
  • dependabot/pip/production-group-42e73233fd
  • dependabot/pip/production-group-5bd8d9b3fd
  • dependabot/pip/production-group-5f0799945d
  • dependabot/pip/production-group-7363f2eff9
  • dependabot/pip/production-group-7d50b181e0
  • dependabot/pip/production-group-93a72df60d
  • dependabot/pip/production-group-93c1e8e5dd
  • dependabot/pip/production-group-baa91b6655
  • dependabot/pip/production-group-d2133643f0
  • dependabot/pip/production-group-e1d70aca5a
  • dependabot/pip/production-group-e60a0af0f5
  • dependabot/pip/pytest-asyncio-0.19.0
  • dependabot/pip/scipy-1.9.0
  • dependabot/pip/urllib3-2.2.2
  • dev-guide
  • disable-hw-rate
  • discard-oldest
  • dlopen-ibverbs
  • dmabuf
  • doc-code-gen
  • doc-dev-layout
  • doc-dev-recv-locking
  • doc-dev-send-lifecycle
  • doc-min-meson
  • doc-py-bind
  • download-with-curl
  • drop-py3.8
  • dsim_hack
  • dynamic-ports
  • early-init-malloc
  • epyc-tuning
  • faster-unittest
  • fix-78
  • fix-alloc-bindings
  • fix-chunk-stream-segfault
  • fix-gdrapi-detection
  • fix-ibv-recv-leak
  • fix-macos-rust
  • fix-mem-reader-stop
  • fix-memcpy-nt
  • fix-numpy-dependency
  • fix-ofed-5
  • fix-pyi
  • fix-readthedocs
  • fix-sender-locking
  • fix-spead2-bench
  • fix-tcp
  • fix-test-fh-leak
  • fix-type-stubs
  • forward-buffer-info
  • gdrapi-example
  • generalise-pointer-deleter
  • get-base-deleter
  • gha-arm-runners
  • github-actions
  • github-actions-tweaks
  • gpudirect
  • gro
  • group-mode-serial
  • group-shutdown-hang
  • heap-interleaving
  • heap-interleaving-rebase
  • heap-reference-list
  • ibv-relaxed-ordering
  • jenkins
  • jenkins-cap
  • jenkins-ci
  • jenkins2
  • kill-run-in-strand
  • log-bad-things
  • lto-wheel
  • manifest-cleanup
  • manylinux2010
  • master
  • memcpy-nt-avx
  • memcpy-nt-sfence
  • memcpy-scatter
  • memcpy_nontemporal_rw
  • meson
  • meson-improvements
  • min-py38
  • minor-version-bumps
  • misc-cleanup
  • mlxn-ofed5
  • modernise
  • more-accurate-rate-limit
  • more-custom-stats
  • more-custom-stats-methods
  • more-reliable-tests
  • mprq
  • multi-producer-ringbuffer-stop
  • mypy-pyproject
  • net_raw_cpp
  • netifaces2
  • new_order
  • ngc-1447-jenkins-dockerfile
  • no-cuda-dep
  • no-distutils
  • no-libmlx5dv-warning
  • no-packet-generator-new
  • numba-0.59
  • numpy-2.0
  • numpy-typing
  • override-send-rate
  • parallel-cibuildwheel
  • pdf-docs
  • pep-639
  • pr-guidance
  • pre-commit
  • pre-commit-autoupdate
  • precise_time-fixes
  • prep-3.9
  • prepare-3.5.0
  • prepare-3.7.0
  • prepare-4.0.2
  • prepare-4.1.0
  • prepare-4.1.1
  • prepare-4.2.0
  • prepare-4.3.2
  • prepare-4.3.2b
  • prepare-4.4.0
  • prepare-release-4.x
  • prepare-release-4.x-2
  • pybind-build-ext
  • pybind11-2.5
  • pyi-removals
  • pytest
  • pytest-asyncio-config
  • pytest-timeout-thread
  • python-3.12
  • python-3.12-v2
  • python-3.12-v3
  • range-for-ring-stream
  • rate-limit-tuning
  • rate-method
  • rdma-core
  • rdma-core-python-build
  • receive-in-order
  • recv-final-stats
  • recv-ibv-unicast
  • recv-substreams
  • recv-substreams-macos-libdivide
  • recv-udp-ibv-config
  • reference-immediate
  • refs/heads/dependabot/github_actions/pypa/cibuildwheel-2.13.0
  • refs/heads/master
  • refs/tags/3.3.1
  • refs/tags/v3.10.0
  • refs/tags/v3.11.0
  • refs/tags/v3.11.1
  • refs/tags/v3.12.0
  • refs/tags/v3.13.0
  • refs/tags/v3.3.1
  • refs/tags/v3.3.2
  • refs/tags/v3.4.0
  • refs/tags/v3.5.0
  • refs/tags/v3.6.0
  • refs/tags/v3.7.0
  • refs/tags/v3.8.0
  • refs/tags/v3.9.0
  • refs/tags/v3.9.1
  • refs/tags/v4.0.0
  • refs/tags/v4.0.0b1
  • refs/tags/v4.0.1
  • refs/tags/v4.0.2
  • refs/tags/v4.1.0
  • refs/tags/v4.1.1
  • refs/tags/v4.2.0
  • refs/tags/v4.3.0
  • release-notes-4.0
  • remove-netmap
  • remove-null-buffers
  • remove-python2
  • remove-trollius
  • remove-wheel
  • rename-udp-ibv-config
  • restore-queue
  • reuse-send-vector
  • ringbuffer-iteration
  • rtd-no-mock
  • ruff
  • runtime-cpu-features
  • sccache-action-0.0.8
  • send-batch
  • send-class-hierarchy
  • send-gso
  • send-ibv-unicast
  • send-inversion
  • send-substreams
  • send-writer-use-after-free
  • setup-cfg
  • setup-flags-test
  • setuptools-scm
  • shared-lib
  • simpler-ptmf
  • simpler-pytest-workaround
  • simplify-thread-pool-wrapper
  • slice-heap-reference-list
  • small-heap-opts
  • sphinx-2.1
  • sphinx-code-block
  • src-layout
  • stats-copy
  • stats-values
  • stream-stats-reports
  • test-py3.13
  • test-wheels
  • tp-stop
  • travis-coverage
  • travis-debug
  • travis-flake8
  • travis-macos-debug
  • travis-xenial
  • tutorial
  • two-phase-recv
  • typing-send-udp-stream
  • typo-fix
  • udp-ibv-test-timeout
  • uninit-need-wakeup
  • unit-test-ibv
  • unused-param-warnings
  • update-ci-deps
  • update-github-actions
  • update-inplace-warning
  • update-manylinux-wheels
  • update-requirements
  • update-travis-osx
  • update-ubuntu-ci
  • upgrade-macos
  • upgrade-macos-11
  • v1.10.0
  • v1.10.1
  • v1.11.0
  • v1.11.1
  • v1.11.2
  • v1.11.3
  • v1.11.4
  • v1.12.0
  • v1.13.0
  • v1.13.1
  • v1.14.0
  • v2.0.0
  • v2.0.1
  • v2.0.2
  • v2.1.0
  • v2.1.1
  • v3.0.0
  • v3.0.0b1
  • v3.0.0b2
  • v3.0.1
  • v3.1.0
  • v3.1.1
  • v3.1.2
  • v3.1.3
  • v3.2.0
  • v3.2.1
  • v3.2.2
  • v4.3.1
  • v4.3.2
  • v4.4.0
  • verify
  • wheel-fixed-builddir
  • zero-copy-send

pending completion
642

push

travis-ci

bmerry
Remove the strand from reader interface

Receiving now relies more heavily on the queue_mutex for all locking
within readers. The stopped flag is now explicitly protected by
queue_mutex, rather than being atomic, and all access to it is via
add_packet_state. add_packet and stop are also moved into
add_packet_state so that in most cases get_stream_base is not needed
other than to construct the add_packet_state.

A consequence is that if there is a single stream with a multi-thread
thread pool and multiple readers, some threads can end up blocked
waiting for others to release queue_mutex, whereas before these other
threads would have been left free to work on other streams. But, it
should improve throughput in more common cases (untested!) by
eliminating the overheads associated with strands.

This will still require some further review and testing to make sure I
haven't missed any locking issues.

2336 of 3530 relevant lines covered (66.18%)

158637.86 hits per line

Relevant lines Covered
Build:
Build:
3530 RELEVANT LINES 2336 COVERED LINES
158637.86 HITS PER LINE
Source Files on no-strand
  • List 0
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
642 no-strand Remove the strand from reader interface Receiving now relies more heavily on the queue_mutex for all locking within readers. The stopped flag is now explicitly protected by queue_mutex, rather than being atomic, and all access to it is via add_pa... push 06 Mar 2019 03:05PM UTC bmerry travis-ci pending completion  
See All Builds (1540)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc