grpc 1.64.0.pre1 → 1.64.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5042bf83fe39647426ffe378e14623541b93efd997bc5d0bc7e8607f8e71b46f
4
- data.tar.gz: d34465d2067d202e256ca92c184e20e8776ba181b2432468bea3994b971ef40d
3
+ metadata.gz: 2dfb5f925c9f4a379a74da722b45fecc8bf11c29b628feca329a84f121824c0e
4
+ data.tar.gz: 55dbae17d9b3d005d073e90222368cc2c7a53e700ee19a7b9785cba36fb0c1da
5
5
  SHA512:
6
- metadata.gz: 52a68b6404eb4b64d504ae053516853e5dce580fc0b250f940892d51a2fc506f1af7fa6e38f9406751ca2fbce255c264330850b7239f0ad3f19de0623d8354fb
7
- data.tar.gz: 2a309c4131cff669329e092598daac1af0c4848c9468b8b67ad96856b08724aef5a84343d67395c08e8234945830265f5986560dc49c34cccb05e761562dc02d
6
+ metadata.gz: ae511f2d348fdcb83836c836b27c7698b087a73b9f906eeae4eb1226d24bfbb090ed49c3f894b1d8d971e581bcee7e55d4b05be0928b4086a3f70e3c8304dcaa
7
+ data.tar.gz: c6633c6952bdb9172e035aeeedd507baf0b612b86427fe092fb7263cd5f955ae3787000e67b126f343c2b2f406baf09b8940e05ac0736b77ca2abf0c789ef5c3
data/Makefile CHANGED
@@ -368,7 +368,7 @@ Q = @
368
368
  endif
369
369
 
370
370
  CORE_VERSION = 41.0.0
371
- CPP_VERSION = 1.64.0-pre1
371
+ CPP_VERSION = 1.64.0
372
372
 
373
373
  CPPFLAGS_NO_ARCH += $(addprefix -I, $(INCLUDES)) $(addprefix -D, $(DEFINES))
374
374
  CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS)
@@ -143,6 +143,8 @@ static bool g_default_server_keepalive_permit_without_calls = false;
143
143
 
144
144
  #define MAX_CLIENT_STREAM_ID 0x7fffffffu
145
145
  grpc_core::TraceFlag grpc_keepalive_trace(false, "http_keepalive");
146
+ grpc_core::DebugOnlyTraceFlag grpc_trace_chttp2_refcount(false,
147
+ "chttp2_refcount");
146
148
 
147
149
  // forward declarations of various callbacks that we'll build closures around
148
150
  static void write_action_begin_locked(
@@ -593,7 +595,12 @@ static void init_keepalive_pings_if_enabled_locked(
593
595
  grpc_chttp2_transport::grpc_chttp2_transport(
594
596
  const grpc_core::ChannelArgs& channel_args, grpc_endpoint* ep,
595
597
  bool is_client)
596
- : ep(ep),
598
+ : grpc_core::RefCounted<grpc_chttp2_transport,
599
+ grpc_core::NonPolymorphicRefCount>(
600
+ GRPC_TRACE_FLAG_ENABLED(grpc_trace_chttp2_refcount)
601
+ ? "chttp2_refcount"
602
+ : nullptr),
603
+ ep(ep),
597
604
  peer_string(
598
605
  grpc_core::Slice::FromCopiedString(grpc_endpoint_get_peer(ep))),
599
606
  memory_owner(channel_args.GetObject<grpc_core::ResourceQuota>()
@@ -223,19 +223,17 @@ typedef enum {
223
223
  GRPC_CHTTP2_KEEPALIVE_STATE_DISABLED,
224
224
  } grpc_chttp2_keepalive_state;
225
225
 
226
- struct grpc_chttp2_transport final : public grpc_core::FilterStackTransport,
227
- public grpc_core::KeepsGrpcInitialized {
226
+ struct grpc_chttp2_transport final
227
+ : public grpc_core::FilterStackTransport,
228
+ public grpc_core::RefCounted<grpc_chttp2_transport,
229
+ grpc_core::NonPolymorphicRefCount>,
230
+ public grpc_core::KeepsGrpcInitialized {
228
231
  grpc_chttp2_transport(const grpc_core::ChannelArgs& channel_args,
229
232
  grpc_endpoint* ep, bool is_client);
230
233
  ~grpc_chttp2_transport() override;
231
234
 
232
235
  void Orphan() override;
233
236
 
234
- grpc_core::RefCountedPtr<grpc_chttp2_transport> Ref() {
235
- return grpc_core::FilterStackTransport::RefAsSubclass<
236
- grpc_chttp2_transport>();
237
- }
238
-
239
237
  size_t SizeOfStream() const override;
240
238
  bool HackyDisableStreamOpBatchCoalescingInConnectedChannel() const override;
241
239
  void PerformStreamOp(grpc_stream* gs,
@@ -35,9 +35,8 @@
35
35
  namespace grpc_core {
36
36
 
37
37
  namespace {
38
- class InprocClientTransport;
39
-
40
- class InprocServerTransport final : public ServerTransport {
38
+ class InprocServerTransport final : public RefCounted<InprocServerTransport>,
39
+ public ServerTransport {
41
40
  public:
42
41
  void SetAcceptor(Acceptor* acceptor) override {
43
42
  acceptor_ = acceptor;
@@ -98,8 +97,6 @@ class InprocServerTransport final : public ServerTransport {
98
97
  return acceptor_->CreateCall(std::move(md), acceptor_->CreateArena());
99
98
  }
100
99
 
101
- OrphanablePtr<InprocClientTransport> MakeClientTransport();
102
-
103
100
  private:
104
101
  enum class ConnectionState : uint8_t { kInitial, kReady, kDisconnected };
105
102
 
@@ -114,10 +111,6 @@ class InprocServerTransport final : public ServerTransport {
114
111
 
115
112
  class InprocClientTransport final : public ClientTransport {
116
113
  public:
117
- explicit InprocClientTransport(
118
- RefCountedPtr<InprocServerTransport> server_transport)
119
- : server_transport_(std::move(server_transport)) {}
120
-
121
114
  void StartCall(CallHandler call_handler) override {
122
115
  call_handler.SpawnGuarded(
123
116
  "pull_initial_metadata",
@@ -134,6 +127,10 @@ class InprocClientTransport final : public ClientTransport {
134
127
 
135
128
  void Orphan() override { delete this; }
136
129
 
130
+ OrphanablePtr<Transport> GetServerTransport() {
131
+ return OrphanablePtr<Transport>(server_transport_->Ref().release());
132
+ }
133
+
137
134
  FilterStackTransport* filter_stack_transport() override { return nullptr; }
138
135
  ClientTransport* client_transport() override { return this; }
139
136
  ServerTransport* server_transport() override { return nullptr; }
@@ -149,7 +146,8 @@ class InprocClientTransport final : public ClientTransport {
149
146
  absl::UnavailableError("Client transport closed"));
150
147
  }
151
148
 
152
- const RefCountedPtr<InprocServerTransport> server_transport_;
149
+ RefCountedPtr<InprocServerTransport> server_transport_ =
150
+ MakeRefCounted<InprocServerTransport>();
153
151
  };
154
152
 
155
153
  bool UsePromiseBasedTransport() {
@@ -159,12 +157,6 @@ bool UsePromiseBasedTransport() {
159
157
  return true;
160
158
  }
161
159
 
162
- OrphanablePtr<InprocClientTransport>
163
- InprocServerTransport::MakeClientTransport() {
164
- return MakeOrphanable<InprocClientTransport>(
165
- RefAsSubclass<InprocServerTransport>());
166
- }
167
-
168
160
  OrphanablePtr<Channel> MakeLameChannel(absl::string_view why,
169
161
  absl::Status error) {
170
162
  gpr_log(GPR_ERROR, "%s: %s", std::string(why).c_str(),
@@ -206,8 +198,8 @@ OrphanablePtr<Channel> MakeInprocChannel(Server* server,
206
198
 
207
199
  std::pair<OrphanablePtr<Transport>, OrphanablePtr<Transport>>
208
200
  MakeInProcessTransportPair() {
209
- auto server_transport = MakeOrphanable<InprocServerTransport>();
210
- auto client_transport = server_transport->MakeClientTransport();
201
+ auto client_transport = MakeOrphanable<InprocClientTransport>();
202
+ auto server_transport = client_transport->GetServerTransport();
211
203
  return std::make_pair(std::move(client_transport),
212
204
  std::move(server_transport));
213
205
  }
@@ -502,7 +502,7 @@ class FilterStackTransport;
502
502
  class ClientTransport;
503
503
  class ServerTransport;
504
504
 
505
- class Transport : public InternallyRefCounted<Transport> {
505
+ class Transport : public Orphanable {
506
506
  public:
507
507
  struct RawPointerChannelArgTag {};
508
508
  static absl::string_view ChannelArgName() { return GRPC_ARG_TRANSPORT; }
@@ -14,5 +14,5 @@
14
14
 
15
15
  # GRPC contains the General RPC module.
16
16
  module GRPC
17
- VERSION = '1.64.0.pre1'
17
+ VERSION = '1.64.0'
18
18
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grpc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.64.0.pre1
4
+ version: 1.64.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - gRPC Authors
8
8
  autorequire:
9
9
  bindir: src/ruby/bin
10
10
  cert_chain: []
11
- date: 2024-05-07 00:00:00.000000000 Z
11
+ date: 2024-05-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf