grpcpp/impl/codegen/core_codegen.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright 2016 gRPC authors.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18 
19 #ifndef GRPCPP_IMPL_CODEGEN_CORE_CODEGEN_H
20 #define GRPCPP_IMPL_CODEGEN_CORE_CODEGEN_H
21 
22 // IWYU pragma: private
23 
24 // This file should be compiled as part of grpcpp.
25 
26 #include <grpc/byte_buffer.h>
27 #include <grpc/grpc.h>
30 
31 namespace grpc {
32 
34 class CoreCodegen final : public CoreCodegenInterface {
35  private:
37  const grpc_completion_queue_attributes* attributes) override;
39  const grpc_completion_queue_factory* factory,
40  const grpc_completion_queue_attributes* attributes,
41  void* reserved) override;
43  void* reserved) override;
45  void* reserved) override;
49  gpr_timespec deadline,
50  void* reserved) override;
51 
52  void* gpr_malloc(size_t size) override;
53  void gpr_free(void* p) override;
54 
55  void grpc_init() override;
56  void grpc_shutdown() override;
57 
58  void gpr_mu_init(gpr_mu* mu) override;
59  void gpr_mu_destroy(gpr_mu* mu) override;
60  void gpr_mu_lock(gpr_mu* mu) override;
61  void gpr_mu_unlock(gpr_mu* mu) override;
62  void gpr_cv_init(gpr_cv* cv) override;
63  void gpr_cv_destroy(gpr_cv* cv) override;
64  int gpr_cv_wait(gpr_cv* cv, gpr_mu* mu, gpr_timespec abs_deadline) override;
65  void gpr_cv_signal(gpr_cv* cv) override;
66  void gpr_cv_broadcast(gpr_cv* cv) override;
67 
69  size_t nops, void* tag,
70  void* reserved) override;
73  const char* description,
74  void* reserved) override;
75  int grpc_call_failed_before_recv_message(const grpc_call* c) override;
76  void grpc_call_ref(grpc_call* call) override;
77  void grpc_call_unref(grpc_call* call) override;
78  void* grpc_call_arena_alloc(grpc_call* call, size_t length) override;
79  const char* grpc_call_error_to_string(grpc_call_error error) override;
80 
82  void grpc_byte_buffer_destroy(grpc_byte_buffer* bb) override;
83  size_t grpc_byte_buffer_length(grpc_byte_buffer* bb) override;
84 
86  grpc_byte_buffer* buffer) override;
90  grpc_slice* slice) override;
92  grpc_slice** slice) override;
93 
95  size_t nslices) override;
97  void (*destroy)(void*),
98  void* user_data) override;
99  grpc_slice grpc_slice_new_with_len(void* p, size_t len,
100  void (*destroy)(void*, size_t)) override;
101  grpc_slice grpc_empty_slice() override;
102  grpc_slice grpc_slice_malloc(size_t length) override;
103  void grpc_slice_unref(grpc_slice slice) override;
105  grpc_slice grpc_slice_split_tail(grpc_slice* s, size_t split) override;
106  grpc_slice grpc_slice_split_head(grpc_slice* s, size_t split) override;
107  grpc_slice grpc_slice_sub(grpc_slice s, size_t begin, size_t end) override;
109  void grpc_slice_buffer_pop(grpc_slice_buffer* sb) override;
111  grpc_slice slice) override;
113  size_t length) override;
115  size_t length) override;
118 
121 
122  const Status& ok() override;
123  const Status& cancelled() override;
124 
125  void assert_fail(const char* failed_assertion, const char* file,
126  int line) override;
127 };
128 
129 } // namespace grpc
130 
131 #endif // GRPCPP_IMPL_CODEGEN_CORE_CODEGEN_H
grpc::status
auto status
Definition: cpp/client/credentials_test.cc:200
grpc_call_error
grpc_call_error
Definition: grpc_types.h:464
grpc::CoreCodegen::grpc_completion_queue_create
grpc_completion_queue * grpc_completion_queue_create(const grpc_completion_queue_factory *factory, const grpc_completion_queue_attributes *attributes, void *reserved) override
Definition: core_codegen.cc:45
grpc::CoreCodegen::grpc_slice_new_with_user_data
grpc_slice grpc_slice_new_with_user_data(void *p, size_t len, void(*destroy)(void *), void *user_data) override
Definition: core_codegen.cc:158
grpc::CoreCodegen::grpc_byte_buffer_reader_next
int grpc_byte_buffer_reader_next(grpc_byte_buffer_reader *reader, grpc_slice *slice) override
Definition: core_codegen.cc:143
grpc::CoreCodegen::grpc_init
void grpc_init() override
Definition: core_codegen.cc:80
grpc::CoreCodegen::grpc_slice_unref
void grpc_slice_unref(grpc_slice slice) override
Definition: core_codegen.cc:176
grpc
Definition: grpcpp/alarm.h:33
grpc::CoreCodegen::grpc_slice_split_tail
grpc_slice grpc_slice_split_tail(grpc_slice *s, size_t split) override
Definition: core_codegen.cc:184
begin
char * begin
Definition: abseil-cpp/absl/strings/internal/str_format/float_conversion.cc:1007
setup.description
description
Definition: setup.py:544
grpc_metadata_array
Definition: grpc_types.h:579
gpr_cv
pthread_cond_t gpr_cv
Definition: impl/codegen/sync_posix.h:48
grpc::CoreCodegen::grpc_metadata_array_init
void grpc_metadata_array_init(grpc_metadata_array *array) override
Definition: core_codegen.cc:221
grpc::CoreCodegen::cancelled
const Status & cancelled() override
Definition: core_codegen.cc:231
error
grpc_error_handle error
Definition: retry_filter.cc:499
grpc_status_code
grpc_status_code
Definition: include/grpc/impl/codegen/status.h:28
grpc::CoreCodegen::grpc_byte_buffer_length
size_t grpc_byte_buffer_length(grpc_byte_buffer *bb) override
Definition: core_codegen.cc:104
file
Definition: bloaty/third_party/zlib/examples/gzappend.c:170
grpc::CoreCodegen::grpc_slice_malloc
grpc_slice grpc_slice_malloc(size_t length) override
Definition: core_codegen.cc:172
core_codegen_interface.h
grpc::CoreCodegen::grpc_metadata_array_destroy
void grpc_metadata_array_destroy(grpc_metadata_array *array) override
Definition: core_codegen.cc:225
grpc::CoreCodegen::grpc_call_cancel_with_status
grpc_call_error grpc_call_cancel_with_status(grpc_call *call, grpc_status_code status, const char *description, void *reserved) override
Definition: core_codegen.cc:115
grpc::CoreCodegen::gpr_mu_unlock
void gpr_mu_unlock(gpr_mu *mu) override
Definition: core_codegen.cc:86
grpc::CoreCodegen::grpc_completion_queue_create_for_pluck
grpc_completion_queue * grpc_completion_queue_create_for_pluck(void *reserved) override
Definition: core_codegen.cc:56
grpc_completion_queue_factory
Definition: completion_queue_factory.h:31
grpc::CoreCodegen::gpr_cv_init
void gpr_cv_init(gpr_cv *cv) override
Definition: core_codegen.cc:87
call
FilterStackCall * call
Definition: call.cc:750
grpc_types.h
grpc::CoreCodegen::grpc_call_unref
void grpc_call_unref(grpc_call *call) override
Definition: core_codegen.cc:125
grpc::CoreCodegen::assert_fail
void assert_fail(const char *failed_assertion, const char *file, int line) override
Upon a failed assertion, log the error.
Definition: core_codegen.cc:241
grpc::CoreCodegen::gpr_free
void gpr_free(void *p) override
Definition: core_codegen.cc:78
end
char * end
Definition: abseil-cpp/absl/strings/internal/str_format/float_conversion.cc:1008
array
Definition: undname.c:101
grpc::CoreCodegen::grpc_slice_from_static_buffer
grpc_slice grpc_slice_from_static_buffer(const void *buffer, size_t length) override
Definition: core_codegen.cc:196
tag
static void * tag(intptr_t t)
Definition: bad_client.cc:318
mu
Mutex mu
Definition: server_config_selector_filter.cc:74
grpc::CoreCodegen::gpr_time_0
gpr_timespec gpr_time_0(gpr_clock_type type) override
Definition: core_codegen.cc:237
grpc::CoreCodegen::gpr_cv_broadcast
void gpr_cv_broadcast(gpr_cv *cv) override
Definition: core_codegen.cc:94
slice
grpc_slice slice
Definition: src/core/lib/surface/server.cc:467
grpc::CoreCodegen::gpr_mu_init
void gpr_mu_init(gpr_mu *mu) override
Definition: core_codegen.cc:83
grpc::CoreCodegen::grpc_call_start_batch
grpc_call_error grpc_call_start_batch(grpc_call *call, const grpc_op *ops, size_t nops, void *tag, void *reserved) override
Definition: core_codegen.cc:108
grpc_event
Definition: grpc_types.h:564
grpc_completion_queue
Definition: completion_queue.cc:347
grpc.h
grpc_call
struct grpc_call grpc_call
Definition: grpc_types.h:70
grpc::CoreCodegen::grpc_empty_slice
grpc_slice grpc_empty_slice() override
Definition: core_codegen.cc:170
grpc_byte_buffer
Definition: grpc_types.h:43
grpc::CoreCodegen::grpc_completion_queue_factory_lookup
const grpc_completion_queue_factory * grpc_completion_queue_factory_lookup(const grpc_completion_queue_attributes *attributes) override
Definition: core_codegen.cc:40
grpc_op
Definition: grpc_types.h:640
grpc::CoreCodegen::gpr_cv_signal
void gpr_cv_signal(gpr_cv *cv) override
Definition: core_codegen.cc:93
grpc::CoreCodegen::grpc_completion_queue_destroy
void grpc_completion_queue_destroy(grpc_completion_queue *cq) override
Definition: core_codegen.cc:65
grpc::CoreCodegen::gpr_cv_wait
int gpr_cv_wait(gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline) override
Definition: core_codegen.cc:89
grpc_slice
Definition: include/grpc/impl/codegen/slice.h:65
grpc::CoreCodegen::gpr_cv_destroy
void gpr_cv_destroy(gpr_cv *cv) override
Definition: core_codegen.cc:88
grpc::CoreCodegen::gpr_inf_future
gpr_timespec gpr_inf_future(gpr_clock_type type) override
Definition: core_codegen.cc:233
buffer
char buffer[1024]
Definition: libuv/docs/code/idle-compute/main.c:8
grpc::CoreCodegen::grpc_slice_split_head
grpc_slice grpc_slice_split_head(grpc_slice *s, size_t split) override
Definition: core_codegen.cc:188
grpc::CoreCodegen::grpc_slice_from_copied_buffer
grpc_slice grpc_slice_from_copied_buffer(const void *buffer, size_t length) override
Definition: core_codegen.cc:201
grpc_completion_queue_attributes
Definition: grpc_types.h:791
grpc::CoreCodegen::grpc_slice_buffer_add
void grpc_slice_buffer_add(grpc_slice_buffer *sb, grpc_slice slice) override
Definition: core_codegen.cc:207
grpc::CoreCodegen::grpc_byte_buffer_reader_destroy
void grpc_byte_buffer_reader_destroy(grpc_byte_buffer_reader *reader) override
Definition: core_codegen.cc:138
grpc::CoreCodegen::grpc_call_arena_alloc
void * grpc_call_arena_alloc(grpc_call *call, size_t length) override
Definition: core_codegen.cc:126
grpc::CoreCodegen::grpc_completion_queue_create_for_next
grpc_completion_queue * grpc_completion_queue_create_for_next(void *reserved) override
Definition: core_codegen.cc:51
grpc::CoreCodegen::grpc_slice_buffer_add_indexed
void grpc_slice_buffer_add_indexed(grpc_slice_buffer *sb, grpc_slice slice) override
Definition: core_codegen.cc:212
grpc::CoreCodegen::grpc_raw_byte_buffer_create
grpc_byte_buffer * grpc_raw_byte_buffer_create(grpc_slice *slice, size_t nslices) override
Definition: core_codegen.cc:153
grpc::CoreCodegen::grpc_byte_buffer_reader_init
int grpc_byte_buffer_reader_init(grpc_byte_buffer_reader *reader, grpc_byte_buffer *buffer) override
Definition: core_codegen.cc:133
grpc::CoreCodegen::grpc_completion_queue_pluck
grpc_event grpc_completion_queue_pluck(grpc_completion_queue *cq, void *tag, gpr_timespec deadline, void *reserved) override
Definition: core_codegen.cc:69
cv
unsigned cv
Definition: cxa_demangle.cpp:4908
gpr_mu
pthread_mutex_t gpr_mu
Definition: impl/codegen/sync_posix.h:47
grpc::CoreCodegen
Implementation of the core codegen interface.
Definition: grpcpp/impl/codegen/core_codegen.h:34
grpc::CoreCodegenInterface
Definition: grpcpp/impl/codegen/core_codegen_interface.h:40
grpc::CoreCodegen::grpc_slice_new_with_len
grpc_slice grpc_slice_new_with_len(void *p, size_t len, void(*destroy)(void *, size_t)) override
Definition: core_codegen.cc:164
regen-readme.line
line
Definition: regen-readme.py:30
grpc::Status
Definition: include/grpcpp/impl/codegen/status.h:35
grpc::CoreCodegen::grpc_slice_buffer_pop
void grpc_slice_buffer_pop(grpc_slice_buffer *sb) override
Definition: core_codegen.cc:217
grpc::CoreCodegen::gpr_mu_destroy
void gpr_mu_destroy(gpr_mu *mu) override
Definition: core_codegen.cc:84
grpc::CoreCodegen::grpc_shutdown
void grpc_shutdown() override
Definition: core_codegen.cc:81
grpc::CoreCodegen::grpc_byte_buffer_destroy
void grpc_byte_buffer_destroy(grpc_byte_buffer *bb) override
Definition: core_codegen.cc:100
grpc::CoreCodegen::grpc_call_error_to_string
const char * grpc_call_error_to_string(grpc_call_error error) override
Definition: core_codegen.cc:129
grpc::CoreCodegen::grpc_slice_sub
grpc_slice grpc_slice_sub(grpc_slice s, size_t begin, size_t end) override
Definition: core_codegen.cc:192
grpc::CoreCodegen::grpc_call_ref
void grpc_call_ref(grpc_call *call) override
Definition: core_codegen.cc:124
grpc::CoreCodegen::grpc_byte_buffer_reader_peek
int grpc_byte_buffer_reader_peek(grpc_byte_buffer_reader *reader, grpc_slice **slice) override
Definition: core_codegen.cc:148
grpc::CoreCodegen::ok
const Status & ok() override
Definition: core_codegen.cc:229
grpc::CoreCodegen::grpc_byte_buffer_copy
grpc_byte_buffer * grpc_byte_buffer_copy(grpc_byte_buffer *bb) override
Definition: core_codegen.cc:96
grpc::CoreCodegen::grpc_call_failed_before_recv_message
int grpc_call_failed_before_recv_message(const grpc_call *c) override
Definition: core_codegen.cc:121
grpc_slice_buffer
Definition: include/grpc/impl/codegen/slice.h:83
asyncio_get_stats.type
type
Definition: asyncio_get_stats.py:37
len
int len
Definition: abseil-cpp/absl/base/internal/low_level_alloc_test.cc:46
gpr_timespec
Definition: gpr_types.h:50
size
voidpf void uLong size
Definition: bloaty/third_party/zlib/contrib/minizip/ioapi.h:136
length
std::size_t length
Definition: abseil-cpp/absl/time/internal/test_util.cc:57
grpc::CoreCodegen::grpc_completion_queue_shutdown
void grpc_completion_queue_shutdown(grpc_completion_queue *cq) override
Definition: core_codegen.cc:61
split
static void split(const char *s, char ***ss, size_t *ns)
Definition: debug/trace.cc:111
grpc_byte_buffer_reader
Definition: impl/codegen/byte_buffer_reader.h:30
ops
static grpc_op ops[6]
Definition: test/core/fling/client.cc:39
grpc::CoreCodegen::grpc_slice_ref
grpc_slice grpc_slice_ref(grpc_slice slice) override
Definition: core_codegen.cc:180
cq
static grpc_completion_queue * cq
Definition: test/core/fling/client.cc:37
grpc::CoreCodegen::gpr_mu_lock
void gpr_mu_lock(gpr_mu *mu) override
Definition: core_codegen.cc:85
grpc::CoreCodegen::gpr_malloc
void * gpr_malloc(size_t size) override
Definition: core_codegen.cc:76
reader
void reader(void *n)
Definition: libuv/docs/code/locks/main.c:8
destroy
static std::function< void(void *, Slot *)> destroy
Definition: abseil-cpp/absl/container/internal/hash_policy_traits_test.cc:42
gpr_clock_type
gpr_clock_type
Definition: gpr_types.h:34


grpc
Author(s):
autogenerated on Fri May 16 2025 02:58:04