Name the unbind's path in the drain decision, and drop a request() doc a bind falsifies
Mirror / push (push) Successful in 6s
Test / lint (pull_request) Successful in 24s
Test / test (18) (pull_request) Successful in 32s
Test / test (20) (pull_request) Successful in 31s
Test / test (24) (pull_request) Successful in 32s
Test / test (22) (pull_request) Successful in 31s
Test / test (26) (pull_request) Successful in 32s
Mirror / push (push) Successful in 6s
Test / lint (pull_request) Successful in 24s
Test / test (18) (pull_request) Successful in 32s
Test / test (20) (pull_request) Successful in 31s
Test / test (24) (pull_request) Successful in 32s
Test / test (22) (pull_request) Successful in 31s
Test / test (26) (pull_request) Successful in 32s
This commit is contained in:
+4
-4
@@ -584,7 +584,7 @@ rule and an index of the titles below.
|
|||||||
a peer's own `unbind` take `end()`: nothing on a dead link can answer, an abort means stop now, and
|
a peer's own `unbind` take `end()`: nothing on a dead link can answer, an abort means stop now, and
|
||||||
a peer that has declared itself finished will not answer what it still owes, so draining any of the
|
a peer that has declared itself finished will not answer what it still owes, so draining any of the
|
||||||
three would only hold a socket open for the timeout. `unbind()` sends its own PDU through
|
three would only hold a socket open for the timeout. `unbind()` sends its own PDU through
|
||||||
`request()` past both the window and the drain gate, because it must go out either way.
|
`requestPastDrainGateAndWindow()`, because it must go out either way.
|
||||||
`shutdownTimeout` stays a session option rather than a `close()` argument: `server()` builds
|
`shutdownTimeout` stays a session option rather than a `close()` argument: `server()` builds
|
||||||
sessions on the caller's behalf, so the option is the only composition point. `SmppServer.close()`
|
sessions on the caller's behalf, so the option is the only composition point. `SmppServer.close()`
|
||||||
reports each session's unfinished drain through `serverError`, because its own result says nothing
|
reports each session's unfinished drain through `serverError`, because its own result says nothing
|
||||||
@@ -772,9 +772,9 @@ rule and an index of the titles below.
|
|||||||
`OutgoingRequests.canCarry()` reads it rather than `closed`. The gate is told what happened and
|
`OutgoingRequests.canCarry()` reads it rather than `closed`. The gate is told what happened and
|
||||||
never reads back into the session: a collaborator that has to ask does not own its decision, which
|
never reads back into the session: a collaborator that has to ask does not own its decision, which
|
||||||
is how the first cut ended up answering the same question two different ways at admit and at
|
is how the first cut ended up answering the same question two different ways at admit and at
|
||||||
release. The retry in `requestPastDrain()` asks `gate.awaitsNextLink()` rather than `canCarry()`, which also
|
release. The retry in `requestPastDrain()` asks `gate.awaitsNextLink()` rather than `canCarry()`,
|
||||||
reads the socket: a loop condition the gate does not gate on spins against a gate that admits it
|
which also reads the socket: a loop condition the gate does not gate on spins against a gate that
|
||||||
straight back.
|
admits it straight back.
|
||||||
|
|
||||||
|
|
||||||
## Internals and tests
|
## Internals and tests
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ export class OutgoingRequests {
|
|||||||
this.pending.settle(seqNr, { err });
|
this.pending.settle(seqNr, { err });
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Sends a request once the gate has a link and the window a slot, and resolves with the peer's response. */
|
/** Sends a request and resolves with the peer's response. */
|
||||||
request(input: PduObjectInput, options: SendOptions): Promise<Result<{ pduObj: PduObject }>> {
|
request(input: PduObjectInput, options: SendOptions): Promise<Result<{ pduObj: PduObject }>> {
|
||||||
// Ahead of the drain, so a misuse is named as one rather than blamed on the shutdown.
|
// Ahead of the drain, so a misuse is named as one rather than blamed on the shutdown.
|
||||||
const wrong = misuse(input);
|
const wrong = misuse(input);
|
||||||
|
|||||||
Reference in New Issue
Block a user