crossbario / crossbario/autobahn-python

Acknowledged delivery: semantics

Open
#764 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature needs-discussion wamp
Dominant language
Python
Stars
2.5k
Forks
768
PR merge metrics
No merged PRs in 30d

Description

What semantics should "acknowledged event delivery" have?

An EVENT is to be answered by EVENT_RECEIVED

  1. .. as soon as the event was received (that is potentially even before the user subscription handler fires)
  2. .. after the user subscription handler has ended (regardless whether that user code did raise or not)
  3. .. after the user subscription handler has ended - but only if it ended successfully
  4. .. after the user subscription handler has ended - and the EVENT_RECEIVED contains a flag indicating the success/failure of the user subscription handler

Depending on what we chose for above (what semantics does MQTT has?), we then might want to change the name of the new WAMP message (EVENT_DELIVERED, EVENT_PROCESSED)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the issue's nine-comment discussion and the four proposed EVENT_RECEIVED semantics. Compare the choices with the MQTT behavior referenced in the issue, then determine whether the message should be named EVENT_RECEIVED, EVENT_DELIVERED, or EVENT_PROCESSED. Done means the delivery semantics and message naming are explicitly decided.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend-api-design, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.