boostorg / boostorg/circular_buffer

Add interface to move the first/last elements pointers

Offen
#22 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C++
Sterne
65
Forks
64
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

I would like to use circular_buffer with Asio. And I'm not the only one -> https://stackoverflow.com/questions/19859833/read-data-into-a-circular-buffer

I could do something like

beast::buffers_cat(
asio::buffer(array_one().first, array_one().second),
asio::buffer(array_two().first, array_two().second)
)

to inform asio's async_read() of where it can write the received data to.
async_read would tell me how many bytes it has actually written into the circular_buffer.... and here I hit the wall. I need an API in circular_buffer where I can tell it "advance the pointer X elements because, even if push_back has not been called, the data is there".

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginnen Sie mit der Überprüfung der Schnittstellen von circular_buffer array_one() und array_two() sowie der im Issue beschriebenen Verwendung von Asio async_read() und beast::buffers_cat(). Legen Sie fest, wie das Vorrücken des Zeigers mit dem bestehenden push_back-Verhalten interagieren soll, und fügen Sie Tests hinzu, die zeigen, dass extern geschriebene Bytes committed werden können und als lesbare Daten gemeldet werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
backend
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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