boostorg / boostorg/circular_buffer
Add interface to move the first/last elements pointers
- 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