ipfs / ipfs/go-dsqueue

Need batch read API that takes caller-supplied buffer to fill

Offen
#35 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
need/triage
Vorherrschende Sprache
Go
Sterne
3
Forks
3
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

The current batch read API, `GetN`, creates and returns a new populated buffer on every call. This does not allow the buffer to be reused across multiple calls to `GetN`, and may result in GC that could be avoided by buffer reuse.

To address this, there should be a new API that takes a buffer, provided by the caller, and drains the queue into that buffer. A call to this API returns when the provided buffer is full or when there are no more items in the queue to drain.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Lies zunächst die bestehende GetN-Implementierung und ihre Tests, um zu verstehen, wie Batch-Lesevorgänge Puffer befüllen und zurückgeben. Füge neben diesem Einstiegspunkt die caller-buffer API hinzu und erhalte dabei das beschriebene Verhalten, beim vollen Puffer oder bei leerer Warteschlange zu stoppen. Füge Tests hinzu, die die Wiederverwendung von Puffern sowie beide Abbruchbedingungen abdecken.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
go
Bereich
backend
Issue-Typ
Feature
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
65/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.