Skip to content

[Feature] Unify the broker subscribe/unsubscribe command vocabulary across broker actors #670

Description

@pathosDev

Problem

BrokerActor provides rememberSubscription/forgetSubscription to every subclass (src/io/broker/BrokerActor.ts:238-250), but the exposed command unions diverge arbitrarily: NATS has subscribe and unsubscribe (NatsActor.ts:35,42), MQTT has both (MqttMessages.ts:162,174), Kafka has subscribe but no unsubscribe (KafkaActor.ts:101-106), and AMQP / JetStream / RedisStreams expose neither (AmqpActor.ts:59, JetStreamActor.ts:170, RedisStreamsActor.ts:32). Naming also splits: Kafka's positive ack is commit, everyone else's is acknowledgment.

Proposed behaviour

Define the canonical command vocabulary once (subscribe / unsubscribe / acknowledgment / negativeAcknowledgment), implement it wherever the protocol permits, and document the exceptions in docs/.../io/broker-actor-base.mdx (EN+DE) as a per-broker support table.

Acceptance criteria

  • KafkaCommand gains unsubscribe.
  • The docs table states, per broker, which of the four commands are supported and why not.

Related: #437 (cloud brokers should land on the unified vocabulary)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions