Make goal 2 cover a value we could not send as the caller wrote it #22
@@ -657,7 +657,8 @@ one wins. They do not override the hard rules below.
|
|||||||
is reported as undetermined rather than guessed; a report the peer marked as not final settles
|
is reported as undetermined rather than guessed; a report the peer marked as not final settles
|
||||||
nothing, so nothing the library concludes may rest on one; a request the peer may already have
|
nothing, so nothing the library concludes may rest on one; a request the peer may already have
|
||||||
taken is never re-sent on the library's own initiative; work the peer has no reason to send again
|
taken is never re-sent on the library's own initiative; work the peer has no reason to send again
|
||||||
is not dropped.
|
is not dropped; a call that reports a message as sent asserts that the wire carried what the caller
|
||||||
|
wrote, so a value we cannot send as given is refused before anything goes out.
|
||||||
3. **Strict in what we send, generous in what we read.** The library's own senders follow 3.4, and
|
3. **Strict in what we send, generous in what we read.** The library's own senders follow 3.4, and
|
||||||
the codec parses whatever arrives. Where the letter of the spec would discard traffic a real SMSC
|
the codec parses whatever arrives. Where the letter of the spec would discard traffic a real SMSC
|
||||||
sends, keep the traffic.
|
sends, keep the traffic.
|
||||||
|
|||||||
@@ -189,17 +189,6 @@ and is also what the panel ranked hardest — two methods, one answer.
|
|||||||
|
|
||||||
### Correctness, ahead of everything below
|
### Correctness, ahead of everything below
|
||||||
|
|
||||||
- [ ] **Take the maintainer's call on whether goal 2 covers a value we could not send as given.**
|
|
||||||
Goal 2's four clauses are one family — an undeterminable outcome, a non-final report, a
|
|
||||||
re-send, dropped work — and none of them covers *the wire carried a value the caller did not
|
|
||||||
write, and the call reported success*, which is the `NaN` sender, the `sm_length: 0` body and
|
|
||||||
`1e+21`. Items below cite goal 2 for exactly that, and the DLR-merge item concedes it "is
|
|
||||||
stated in no file today either way". Proposed clause, after "…is not dropped": "; a call that
|
|
||||||
reports a message as sent asserts that the wire carried what the caller wrote, so a value we
|
|
||||||
cannot send as given is refused before anything goes out rather than coerced into one the
|
|
||||||
caller never wrote." A goal is the maintainer's, so nothing edits README until that is
|
|
||||||
answered. From the prose pass of #18.
|
|
||||||
|
|
||||||
- [ ] **Range-check `maxOctets` with its five siblings.** `limitsOf()` in `session-options.ts`
|
- [ ] **Range-check `maxOctets` with its five siblings.** `limitsOf()` in `session-options.ts`
|
||||||
covers `idleTimeout`, `maxOutstanding`, `maxReassembly`, `reassemblyTimeout`, `responseTimeout`
|
covers `idleTimeout`, `maxOutstanding`, `maxReassembly`, `reassemblyTimeout`, `responseTimeout`
|
||||||
and `shutdownTimeout`; `maxOctets` is documented, consumed by `Reassembler`, and absent from
|
and `shutdownTimeout`; `maxOctets` is documented, consumed by `Reassembler`, and absent from
|
||||||
|
|||||||
Reference in New Issue
Block a user