///|
fn main {
let first = @nmea.NmeaFrame::new(36, "GP", "TXT", ["one"]).encode()
let second = @nmea.NmeaFrame::new(36, "GN", "TXT", ["two"]).encode()
let input = first + second
let decoder = @nmea.StreamDecoder::new()
let results = []
for item in decoder.push(@ascii.encode(input[:9])) {
results.push(item)
}
for item in decoder.push(@ascii.encode(input[9:])) {
results.push(item)
}
guard results.length() == 2 && results[0].record_index() == 0 else {
abort("stream decoder did not preserve both records")
}
println(
"records=2 talkers=" +
results[0].value().unwrap().talker() +
"," +
results[1].value().unwrap().talker(),
)
}