Commit Graph

279 Commits

Author SHA1 Message Date
Ismail Gjevori 4c07bca273
stream: add jitter to retry backoff in accordance with gRFC A6 (#7869) 2024-11-26 15:08:44 -08:00
Doug Fawley c63aeef126
transport: add send operations to ClientStream and ServerStream (#7808) 2024-11-20 15:40:17 -08:00
hanut19 c2a2d20f7f
docs: update documentation for `ClientStream.SendMsg()` returning `nil` unconditionally when `ClientStreams=false` (#7790) 2024-11-11 13:47:16 +05:30
Doug Fawley 2a18bfcb16
transport: refactor to split ClientStream from ServerStream from common Stream functionality (#7802) 2024-11-04 13:42:38 -08:00
Marco Ferrer 52d7f6af60
multiple: switch to math/rand/v2 (#7711)
Co-authored-by: Arvind Bright <arvind.bright100@gmail.com>
2024-10-29 10:43:58 -07:00
Paul Chesnais 9ab8b62505
Implement new Codec that uses `mem.BufferSlice` instead of `[]byte` (#7356) 2024-08-21 14:11:39 -07:00
murongshaozong 3cb33421c5
.*: fix comments (#7504) 2024-08-13 16:41:53 -07:00
Easwar Swaminathan 5c4da090bf
grpc: fix a bug introduced in #7461 (#7505) 2024-08-13 14:34:05 -07:00
Gayathri625 6d0aaaec1d
grpc: make client report `Internal` status when server response contains unsupported encoding (#7461) 2024-08-06 10:57:21 -07:00
Arvind Bright 8bf2b3ee6e
grpcrand: delete all of grpcrand and call the rand package directly (#7283) 2024-05-31 11:32:53 -07:00
Abhishek Ranjan 796c61536a
grpc: update clientStreamAttempt context with transport context (#7096) 2024-05-02 10:30:00 -07:00
Doug Fawley 55cd7a68b3
channelz: major cleanup / reorganization (#6969) 2024-03-15 11:13:53 -07:00
Chris K 03e76b3d2a
grpc: add ability to compile with or without tracing (#6954)
golang.org/x/net/trace is the only dependency of gRPC Go that depends --
through html/template and text/template -- on reflect's MethodByName.
Binaries with MethodByName are not eligible for Go dead code
elimination.

As of protobuf v1.32.0 combined with Go 1.22, Go protobufs support
compilation with dead code elimination. This commit allows users of gRPC
Go to also make use of dead code elimination for smaller binary sizes.

Signed-off-by: Chris Koch <chrisko@google.com>
2024-02-02 13:49:23 -08:00
Aditya Sood 987df13092
metadata: move FromOutgoingContextRaw() to internal (#6765)
Co-authored-by: Arvind Bright <arvind.bright100@gmail.com>
2024-01-18 09:55:32 -08:00
Easwar Swaminathan 254bccb3bd
idle: decrement active call count for streaming RPCs only when the call completes (#6610) 2023-09-11 08:39:06 -07:00
Doug Fawley 8b1a671022
stream: swallow Header errors as we used to; RecvMsg can still return it (#6586) 2023-08-28 13:13:38 -07:00
Doug Fawley 81b9df233e
idle: move idleness manager to separate package and ~13s of tests into it (#6566) 2023-08-23 12:50:42 -07:00
Doug Fawley fe1519ecf7
client: fix ClientStream.Header() behavior (#6557) 2023-08-18 08:05:48 -07:00
Doug Fawley fbff2abb0f
*: update `interface{}` to `any` and `go.mod` version to `go 1.19` (#6544) 2023-08-14 09:04:46 -07:00
Doug Fawley 94df716d94
resolver: State: add Endpoints and deprecate Addresses (#6471) 2023-07-31 09:42:27 -07:00
Jaewan Park 1634254ac6
rpc_util: Reuse memory buffer for receiving message (#5862) 2023-06-27 08:58:10 -07:00
Doug Fawley e9799e79db
client: support a 1:1 mapping with acbws and addrConns (#6302) 2023-05-23 09:48:08 -07:00
Easwar Swaminathan 9b7a947cdc
grpc: support channel idleness (#6263) 2023-05-22 12:42:45 -07:00
Zach Reyes 1536887cc6
interop/xds: Add Custom LB needed for interop test (#6262) 2023-05-11 12:29:32 -04:00
Mikhail Mazurskiy 1f3fe1c8bc
Update ClientStream.SendMsg doc (#6247) 2023-05-05 08:38:20 -07:00
Zach Reyes 55d8783479
gcp/observability: Link logs and traces by logging Trace and Span IDs (#6056) 2023-03-09 13:56:23 -05:00
Zach Reyes f31168468f
stats/opencensus: New uncompressed metrics and align with tracing spec (#6051) 2023-03-03 17:21:40 -05:00
KT dba41efd93
metadata: fix validation issues (#6001) 2023-02-28 13:43:56 -05:00
Zach Reyes abff344ead
stats/opencensus: Add per call latency metric (#6017) 2023-02-16 17:33:17 -05:00
Ronak Jain 0954097276
server: expose API to set send compressor (#5744)
Fixes https://github.com/grpc/grpc-go/issues/5792
2023-01-31 13:27:34 -08:00
Fu Wei f1a9ef9c1b
stream: update ServerStream.SendMsg doc (#5894) 2022-12-28 11:59:01 -06:00
Easwar Swaminathan 68b388b26f
balancer: support injection of per-call metadata from LB policies (#5853) 2022-12-20 15:13:02 -08:00
littlejian 689d061d46
Cleanup usages of resolver.Target's Scheme and Authority (#5761) 2022-11-09 23:06:01 -08:00
Zach Reyes 36d14dbf66
Fix binary logging bug which logs a server header on a trailers only response (#5763) 2022-11-02 19:46:50 -04:00
Zach Reyes 5fc798be17
Add binary logger option for client and server (#5675)
* Add binary logger option for client and server
2022-10-06 13:36:05 -04:00
Doug Fawley 12db695f16
grpc: restrict status codes from control plane (gRFC A54) (#5653) 2022-10-04 15:13:23 -07:00
Doug Fawley 30d54d398f
client: fix stream creation issue with transparent retry (#5503) 2022-07-14 16:52:18 -07:00
Lidi Zheng ea86bf7497
stats: add support for multiple stats handlers in a single client or server (#5347) 2022-06-03 09:15:50 -07:00
Doug Fawley 799605c228
client: fix potential panic during RPC retries (#5323) 2022-05-04 10:06:12 -07:00
Doug Fawley 9711b148c4
server: clarify documentation around setting and sending headers and ServerStream errors (#5302) 2022-04-08 13:11:40 -07:00
Lidi Zheng 1ffd63de37
binarylog: generalize binarylog's MethodLogger preparing for new observability features (#5244) 2022-03-21 14:00:02 -07:00
白泽 e601f1ae37
fix: does not validate metadata keys and values (#4886) 2022-02-23 11:15:55 -08:00
Menghan Li 61a6a06b88
server: handle context errors returned by service handler (#5156) 2022-01-26 11:02:23 -08:00
Doug Fawley d53469981f
transport: fix transparent retries when per-RPC credentials are in use (#4785) 2021-09-21 10:39:59 -07:00
Doug Fawley d41f21ca05
stats: support stats for all retry attempts; support transparent retry (#4749) 2021-09-14 15:11:42 -07:00
Doug Fawley 1ddab33869
client: fix detection of whether IO was performed in NewStream (#4611)
For transparent retry.

Also allow non-WFR RPCs to retry indefinitely on errors that resulted in no I/O; the spec used to forbid it at one point during development, but it no longer does.
2021-07-23 10:37:18 -07:00
Iskandarov Lev 4faa31f0a5
stats: add stream info inside stats.Begin (#4533) 2021-06-18 13:21:07 -07:00
Doug Fawley b6f206b84f
grpc: improve docs on StreamDesc (#4397) 2021-05-07 11:17:26 -07:00
Doug Fawley d7737376c3
xds: implement fault injection HTTP filter (A33) (#4236) 2021-03-12 08:38:49 -08:00
Doug Fawley 61f0b5fa7c
client: implement proper config selector interceptors (#4235) 2021-03-05 13:31:34 -08:00