arq/tnc: acknowledge every callsign MYCALL accepts, not just the primary - #158
Open
rafael2k wants to merge 1 commit into
Open
arq/tnc: acknowledge every callsign MYCALL accepts, not just the primary#158rafael2k wants to merge 1 commit into
rafael2k wants to merge 1 commit into
Conversation
VARA's documentation defines the notification per call sign:
REGISTERED Call<cr> Call sign registered in VARA
MYCALL can carry secondaries, and Mercury answers for all of them, so a host
that registered three callsigns and got one REGISTERED back had no reason to
believe the other two were live. Emit one line per accepted callsign, primary
first, in the order given.
Only for the ones the ARQ layer actually took: past CALLSIGN_MAX_SECONDARY it
drops them, and acknowledging a callsign we will never answer is worse than
staying quiet -- the host would address a station that ignores it.
Tests cover both: three callsigns produce three lines in order, and a MYCALL
with six secondaries produces 1 + CALLSIGN_MAX_SECONDARY. The harness now
records the whole queued sequence rather than just the last line, which is
also what the existing ordering test really meant to assert.
Not implemented here: VARA's LINK REGISTERED / LINK UNREGISTERED, which report
the REMOTE station's status during a link -- a separate feature.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #155, from VARA's own documentation:
It is defined per call sign.
MYCALLcan carry secondaries and Mercury answers for all of them, so a host that registered three callsigns and got a singleREGISTEREDback had no reason to believe the other two were live.Now one line per accepted callsign, primary first, in the order given:
Only the ones the ARQ layer actually took. Past
CALLSIGN_MAX_SECONDARYit drops them, and acknowledging a callsign we will never answer is worse than staying quiet — the host would address a station that ignores it.Tests: three callsigns produce three lines in order; six secondaries produce
1 + CALLSIGN_MAX_SECONDARY. The harness now records the whole queued sequence instead of only the last line, which is also what the existing ordering test really meant to assert (it was checkinglast_queued_linefor the primary, which only held while the primary was the sole line).docs/TNC.mdupdated with the multi-callsign form and the drop rule.Not implemented here: VARA's
LINK REGISTERED/LINK UNREGISTERED, which report the remote station's status during a link — a separate feature, happy to add it if wanted.Build clean, unit suite green.