What to do after an attempt ended with status and trailers: None hands thisresult to the caller, Some(wait) sends another attempt after wait.
committed is a call whose response headers arrived, which A6 never retries;unprocessed is one the server refused or a GOAWAY says it never handled, whichis retried once at once without counting. roll draws the jitter, from [0, 1).The order of the checks is grpc-go's.
Pick a READY sub-connection's address for the next call, applying the LB policy over just theready ones (← gRPC picker). None when no sub-connection is ready.
Whether an attempt ending with status settles the call: OK does, and so does anystatus outside codes. A non-fatal one sends the next attempt at once instead.
The address the next call should use, or None when the resolver produced none. PickFirstalways returns the first address; RoundRobin returns each in turn, wrapping around.
A method's retry policy (A6 retryPolicy). backoff carries maxAttempts asattempts, initialBackoff as base, maxBackoff as cap andbackoffMultiplier as factor; codes is retryableStatusCodes.
The token count one server name shares across every call to it. A failure takes atoken, a success gives back ratio, and at or below half the maximum no call isretried or hedged. Kept in thousandths of a token as gRPC core keeps it, so aratio is read to three decimal places and nothing drifts.
Decode a DNS response: echoed id, response code, and every answer record (A/AAAArecords carry their textual address). Questions are skipped; authority andadditional sections are ignored.