• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

rm-hull / jasengo / 19603216439
81%

Build:
DEFAULT BRANCH: main
Ran 23 Nov 2025 12:18AM UTC
Jobs 1
Files 8
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

23 Nov 2025 12:17AM UTC coverage: 77.689% (-0.6%) from 78.252%
19603216439

push

github

web-flow
refactor: Implement generic buffer abstractions (#9)

* feat: Implement generic buffer abstractions

Introduces the `internal/buffer` package to provide generic data
structures for buffering elements.

This includes:
* `Buffer[T]` interface defining core buffer operations.
* `RingBuffer[T]` for fixed-size circular buffers.
* `UnboundedBuffer[T]` for grow-only buffers.

The parser's `runeReader` implementation is refactored to utilize
these new buffers, choosing between `RingBuffer` (when a limit is
set) or `UnboundedBuffer` (when the limit is zero). This simplifies
the internal buffer management logic in `reader.go`.

* Update internal/buffer/ring_buffer.go

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* perf: Optimize RingBuffer.Slice using copy()

Switches the implementation of `RingBuffer.Slice` from
iterative appending to using `copy()` operations.

This provides substantial performance improvements when
reading large segments of the buffer by leveraging
optimized memory movement primitives. The logic now
handles contiguous and wrap-around copies directly.

* refactor: Simplify runeReader struct fields

Removes the unused `limit` field from `runeReader` as it was
only consumed during initialization in `NewReader`.

Additionally, renames `bufferOffset` to `offset` for brevity
and clarity across the implementation.

* refactor: Remove extra blank line in `ring_buffer.go`

Removes a redundant blank line after the `NewRingBuffer` function
definition for improved code clarity and conventional formatting.

* refactor: Move absolute index tracking to Buffer

The responsibility for tracking the absolute index of the
logical start (tail) of the buffer window has been moved
from the `runeReader` to the `Buffer` implementation via
the new `Base()` method.

This refactoring:
*   Removes manual offset tracking from `runeReader`.
*   Removes `IsFull()` from the `Buffer` interface.
*   Ensures buffer logic... (continued)

33 of 33 new or added lines in 1 file covered. (100.0%)

390 of 502 relevant lines covered (77.69%)

0.9 hits per line

Jobs
ID Job ID Ran Files Coverage
1 19603216439.1 23 Nov 2025 12:18AM UTC 8
77.69
GitHub Action Run
Source Files on build 19603216439
  • Tree
  • List 8
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 49f93976 on github
  • Prev Build on main (#19602116369)
  • Next Build on main (#19603260868)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc