Skip to content

Allow single-sided bindings for dual-interface plugins - #7

Merged
Gujiawei-Edinburgh merged 1 commit into
apache:mainfrom
popduke:allow-single-sided-dual-interface
Sep 25, 2026
Merged

Gujiawei-Edinburgh merged 1 commit into
apache:mainfrom
popduke:allow-single-sided-dual-interface

Conversation

@popduke

@popduke popduke commented Sep 24, 2026

Copy link
Copy Markdown
Contributor

What changed

A source-and-sink Program can now be bound as Source only, Sink only, or in both directions. The Runner derives the active directions from the Flow bindings and creates only the queues and SDK sessions that are actually used.

The SDK factory now receives an optional Source ingress and the actual Sink Flow channels. FlowChannel exposes only flowId and channelId; Bell paths remain SDK-internal. Rust and Java scaffolds, MQTT, Kafka-facing SDK usage, lifecycle handling, tests, and public contracts are updated together.

Validation

  • Fork CI passed on Linux amd64, Linux arm64, macOS arm64, and macOS amd64
  • Fork documentation and contract validation passed
  • Rust/Runner, SDK process, MQTT, Java, scaffold, and lifecycle validation passed locally

External Kafka cluster and MQTT broker end-to-end verification remains outside this change's local evidence.

@Gujiawei-Edinburgh
Gujiawei-Edinburgh merged commit 076a6b9 into apache:main Sep 25, 2026
6 checks passed
@popduke
popduke deleted the allow-single-sided-dual-interface branch September 26, 2026 03:35
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.

2 participants