Skip to content

Add sync_blocking outlet setting for transp_sync_blocking transport#35

Merged
cboulay merged 1 commit into
devfrom
cboulay/synchro_outlet
Jun 20, 2026
Merged

Add sync_blocking outlet setting for transp_sync_blocking transport#35
cboulay merged 1 commit into
devfrom
cboulay/synchro_outlet

Conversation

@cboulay

@cboulay cboulay commented Jun 20, 2026

Copy link
Copy Markdown
Member

Summary

Exposes the new synchronous (zero-copy) outlet transport from pylsl#115 as an opt-in LSLOutletSettings option.

  • Bump the pylsl dependency to >=1.18.3b1 (the beta that exposes the StreamOutlet(..., transport_flags=...) parameter and transp_* constants).
  • Add LSLOutletSettings.sync_blocking (default False). When True, the outlet is created with pylsl.transp_sync_blocking, enabling the synchronous zero-copy transport for high-bandwidth streams. Default behavior is unchanged (transp_default).
  • Document the outlet settings (including sync_blocking) in the README.

Tests

Added two network-free unit tests that patch pylsl.StreamOutlet to assert the transport_flags passed for each setting:

  • test_outlet_default_transport_flagstransp_default
  • test_outlet_sync_blocking_transport_flagstransp_sync_blocking

```
$ uv run pytest tests/test_outlet.py -q
3 passed
```

Depend on pylsl>=1.18.3b1 to expose the new StreamOutlet transport_flags
parameter. Add LSLOutletSettings.sync_blocking (default False) which, when
True, creates the outlet with pylsl.transp_sync_blocking to enable the
synchronous zero-copy transport for high-bandwidth streams. Add unit tests
and document the setting in the README.
@cboulay cboulay merged commit f92e9e7 into dev Jun 20, 2026
2 checks passed
@cboulay cboulay deleted the cboulay/synchro_outlet branch June 20, 2026 19:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant