refactor: revisit the triplicated buffer implementations across the tokio / embassy / wasm adapters
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
- Type d'issue
- Refactorisation
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- rust
- Domaine
- backend, embedded-iot
Piste de recherche
Read docs/design/035-review-followups-deferred.md §2.3 and docs/design/038-technical-debt-and-simplification-review.md §2.3 / §3.2, then compare the buffer read paths in the three adapter files named in the issue. Check whether the documented tripwire has been hit by the late-join snapshot and record.get changes. Done means either recording a re-confirmation in 035 and closing the issue, or writing the shared core implementation design described in 038.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Problem
The three runtime adapters each hand-build the same three buffer semantics (SPMC ring, single-latest, mailbox):
| File | Lines | Of which inline tests start at |
|---|---|---|
aimdb-tokio-adapter/src/buffer.rs |
1,634 | line 611 |
aimdb-embassy-adapter/src/buffer.rs |
963 | line 628 |
aimdb-wasm-adapter/src/buffer.rs |
757 | line 478 |
Each also carries a high density of feature gates (32, 29 and 26 cfg(feature …) occurrences respectively). This is the largest structural duplication left in the workspace: a behavioural fix or a new buffer feature has to be written and tested three times, and parity between them is only enforced by tests.
Prior decisions
This is not new:
docs/design/038-technical-debt-and-simplification-review.md§2.3 / §3.2 proposed one portable buffer implementation in core and estimated about 2,000 lines net removed (breaking for adapter authors only).docs/design/035-review-followups-deferred.md§2.3 decided "keep, with a tripwire" for the buffer-ext trait triplication.
So this issue is a request to re-check that decision, not to overturn it by default.
Suggested work
- Check whether the tripwire condition recorded in 035 §2.3 has been hit since (e.g. by the recent late-join snapshot and
record.getchanges, which touched buffer read paths). - If it has, or if the cost has grown, write the design for a shared core implementation as 038 §3.2 sketched.
- If not, record the re-confirmation in 035 and close this.
Notes
Line counts are from the tree at d9c7be0. I did not diff the three implementations line by line, so the amount of truly shareable code is the 038 estimate, not something I measured.
- Langage dominant
- Rust
- Étoiles
- 101
- Forks
- 20
- Merge moyen
- 2 h 33 min
- PR mergées (30 j)
- 90
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de aimdb-dev/aimdb
-
chore: remove stale dead_code allows in aimdb-cli, aimdb-mcp and the zenoh profile modulePeut-être pris @Wizard52007 l’a pris aujourd’hui. Ouverte🏷️ good first issue enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
aimdb-dev/aimdb#462 · 4 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de aimdb-dev/aimdb
Issues similaires
-
enhancement good first issue help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
area:ui
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
openfootmanager/openfootmanager#1365 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation
Difficulté 1/5 1-3 heures Accessibilité débutants 90/100
JackMechem/marbble#305 ·
Les mainteneurs répondent en général sous 1 jour
-
ci:stability
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 5 jours
-
antora bug review-2026-11-11
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
bovinemagnet/AdocFoundry#546 ·
Les mainteneurs répondent en général sous 1 jour