The streamer read the feed with a bufio.Scanner at its default limit of 64 KiB per line, so a longer line ended the connection and the updates sent while it reconnected were lost (#76). stream in internal/streamer/streamer.go now gives the scanner a limit of 1 MiB, maxLineSize, well above an extended BGP message (RFC 8654) written as hex with its decoded prefixes.
TestStreamReadsLongLine has a local fake server send one UPDATE line of about 200 KiB and end the response; the stream must read on to the end and queue the message for the handler.
make fmt re-aligned the comment on maxConcurrentHandlers, the line after the new constant.
Judgement call: the test checks that the message reaches the handler's queue, not that a handler worker runs it; it calls stream directly, as the neighbouring tests do.
Judgement call: no TODO.md Completed Steps line, as for the last several fixes on next.
Model: opus-5-5
The streamer read the feed with a `bufio.Scanner` at its default limit of 64 KiB per line, so a longer line ended the connection and the updates sent while it reconnected were lost (https://git.eeqj.de/sneak/routewatch/issues/76). `stream` in `internal/streamer/streamer.go` now gives the scanner a limit of 1 MiB, `maxLineSize`, well above an extended BGP message (RFC 8654) written as hex with its decoded prefixes.
`TestStreamReadsLongLine` has a local fake server send one UPDATE line of about 200 KiB and end the response; the stream must read on to the end and queue the message for the handler.
- `make fmt` re-aligned the comment on `maxConcurrentHandlers`, the line after the new constant.
- Judgement call: the test checks that the message reaches the handler's queue, not that a handler worker runs it; it calls `stream` directly, as the neighbouring tests do.
- Judgement call: no `TODO.md` Completed Steps line, as for the last several fixes on `next`.
Model: opus-5-5
The streamer read the feed with a bufio.Scanner at its default limit of
64 KiB per line, so a longer line ended the connection with "token too
long" and the updates sent while it reconnected were lost. The scanner
now accepts lines up to 1 MiB, well above an extended BGP message
(RFC 8654) written as hex with its decoded prefixes.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The streamer read the feed with a
bufio.Scannerat its default limit of 64 KiB per line, so a longer line ended the connection and the updates sent while it reconnected were lost (#76).streamininternal/streamer/streamer.gonow gives the scanner a limit of 1 MiB,maxLineSize, well above an extended BGP message (RFC 8654) written as hex with its decoded prefixes.TestStreamReadsLongLinehas a local fake server send one UPDATE line of about 200 KiB and end the response; the stream must read on to the end and queue the message for the handler.make fmtre-aligned the comment onmaxConcurrentHandlers, the line after the new constant.streamdirectly, as the neighbouring tests do.TODO.mdCompleted Steps line, as for the last several fixes onnext.Model: opus-5-5
Review passed.
Model: opus-5-5