Repository navigation
feat(stack): a declaration names what its service answers; a squatter reads as occupied - #51
Merged
Merged
Conversation
…tter reads as occupied A TCP connect only says that something accepts on the port. On a developer machine a next-server on :3000 made the declared Mercure hub read as up (greenhouse evidence/1035). A ServiceDeclaration may now carry a ServiceSignature — one GET path and the statuses the service answers it with — and StackReader asks it through a SignatureProbe: up when the answer matches, the new state occupied (with the status it answered) when the port accepts but answers otherwise. Declarations without a signature read by TCP as before. HttpSignatureProbe reads the status line only, so a service whose right answer is a stream does not hold the reader. Greenhouse decisions/0504, evidence/1037.
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.
A TCP connect only says that something accepts on a port. On a developer machine an unrelated
next-serveron :3000 madecoa stackreport the declared Mercure hub asup(greenhouse evidence/1035).ServiceDeclarationmay carry aServiceSignature: one GET path and the statuses the service answers it with (a set, because the answer can depend on configuration — a Mercure hub answers a topic-less subscription with 400 when anonymous subscribers are allowed, 401 when a JWT is required).StackReaderasks it through aSignatureProbewhen the port accepts: a match isup; anything else is the new stateoccupied, with the status in the new row keyanswered. Declarations without a signature read by TCP exactly as before.HttpSignatureProbereads the status line only (a service whose right answer is a stream does not hold the reader); no HTTP within 0.5 s isnull, never an exception.Measured on cattle (greenhouse evidence/1037): published 0.16.0 reads the next-server as
up; this branch reads itoccupied(answered 404), and reads real hubs (dunglas/mercurewith/withoutanonymous, FrankenPHP 1.12.7's built-in hub) asup. Mutation controls in the suite. Additive;milpa/adminandmilpa/agent-workspacePRs require it (>=0.17).Greenhouse decisions/0504, evidence/1037.