AeroRust / AeroRust/nmea

Iterator-based parser

Open
#53 2 comments 0 reactions 0 assignees View on GitHub
enhancement Hacktoberfest high
Dominant language
Rust
Stars
109
Forks
64
PR merge metrics
No merged PRs in 30d

Description

This idea was mentioned in #9 and will greatly improve the usability of the crate by providing an iterator-based parser that will parse new messages from e.g. streamed/received bytes when `\r\n` ending is present.

- Extend with bytes (similar to `Iterator::chain`)
- Extend with a single byte (optional)
- `try_next()` try to parse the currently collected bytes (by searching for an ending - `\r\n`)

Enhancements:
- Track both the ending `\r\n` but also the start of a message `!` (for AIS messages) or `$` (for all other) in the iterator.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.