core_codegen.cc
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 
20 
21 #include <stdlib.h>
22 
23 #include <grpc/byte_buffer.h>
24 #include <grpc/grpc.h>
27 #include <grpc/slice.h>
28 #include <grpc/slice_buffer.h>
29 #include <grpc/status.h>
30 #include <grpc/support/alloc.h>
31 #include <grpc/support/log.h>
32 #include <grpc/support/sync.h>
33 #include <grpc/support/time.h>
35 #include <grpcpp/support/status.h>
36 
37 namespace grpc {
38 
41  const grpc_completion_queue_attributes* attributes) {
43 }
44 
46  const grpc_completion_queue_factory* factory,
47  const grpc_completion_queue_attributes* attributes, void* reserved) {
48  return ::grpc_completion_queue_create(factory, attributes, reserved);
49 }
50 
52  void* reserved) {
54 }
55 
57  void* reserved) {
59 }
60 
63 }
64 
67 }
68 
70  void* tag,
71  gpr_timespec deadline,
72  void* reserved) {
73  return ::grpc_completion_queue_pluck(cq, tag, deadline, reserved);
74 }
75 
77 
79 
82 
90  gpr_timespec abs_deadline) {
91  return ::gpr_cv_wait(cv, mu, abs_deadline);
92 }
95 
98 }
99 
102 }
103 
106 }
107 
109  const grpc_op* ops,
110  size_t nops, void* tag,
111  void* reserved) {
112  return ::grpc_call_start_batch(call, ops, nops, tag, reserved);
113 }
114 
117  void* reserved) {
119 }
120 
123 }
128 }
131 }
132 
136 }
137 
141 }
142 
144  grpc_slice* slice) {
146 }
147 
149  grpc_slice** slice) {
151 }
152 
154  size_t nslices) {
156 }
157 
159  void (*destroy)(void*),
160  void* user_data) {
162 }
163 
165  void (*destroy)(void*,
166  size_t)) {
168 }
169 
171 
174 }
175 
178 }
179 
182 }
183 
186 }
187 
190 }
191 
194 }
195 
197  size_t length) {
199 }
200 
202  size_t length) {
203  return ::grpc_slice_from_copied_buffer(static_cast<const char*>(buffer),
204  length);
205 }
206 
208  grpc_slice slice) {
210 }
211 
213  grpc_slice slice) {
215 }
216 
219 }
220 
223 }
224 
227 }
228 
230 
232 
235 }
236 
239 }
240 
241 void CoreCodegen::assert_fail(const char* failed_assertion, const char* file,
242  int line) {
243  gpr_log(file, line, GPR_LOG_SEVERITY_ERROR, "assertion failed: %s",
244  failed_assertion);
245  abort();
246 }
247 
248 } // namespace grpc
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
log.h
grpc_call_arena_alloc
GRPCAPI void * grpc_call_arena_alloc(grpc_call *call, size_t size)
Definition: call.cc:1749
grpc_raw_byte_buffer_create
GRPCAPI grpc_byte_buffer * grpc_raw_byte_buffer_create(grpc_slice *slices, size_t nslices)
Definition: byte_buffer.cc:34
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::Status::CANCELLED
static const Status & CANCELLED
A CANCELLED pre-defined instance.
Definition: include/grpcpp/impl/codegen/status.h:115
grpc_completion_queue_create_for_pluck
GRPCAPI grpc_completion_queue * grpc_completion_queue_create_for_pluck(void *reserved)
Definition: completion_queue_factory.cc:69
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
slice.h
grpc_call_failed_before_recv_message
GRPCAPI int grpc_call_failed_before_recv_message(const grpc_call *c)
Definition: call.cc:1876
gpr_time_0
GPRAPI gpr_timespec gpr_time_0(gpr_clock_type type)
Definition: src/core/lib/gpr/time.cc:47
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_byte_buffer_length
GRPCAPI size_t grpc_byte_buffer_length(grpc_byte_buffer *bb)
Definition: byte_buffer.cc:92
grpc::CoreCodegen::cancelled
const Status & cancelled() override
Definition: core_codegen.cc:231
gpr_free
GPRAPI void gpr_free(void *ptr)
Definition: alloc.cc:51
error
grpc_error_handle error
Definition: retry_filter.cc:499
grpc_status_code
grpc_status_code
Definition: include/grpc/impl/codegen/status.h:28
core_codegen.h
grpc::CoreCodegen::grpc_byte_buffer_length
size_t grpc_byte_buffer_length(grpc_byte_buffer *bb) override
Definition: core_codegen.cc:104
grpc_byte_buffer_reader_next
GRPCAPI int grpc_byte_buffer_reader_next(grpc_byte_buffer_reader *reader, grpc_slice *slice)
Definition: byte_buffer_reader.cc:66
file
Definition: bloaty/third_party/zlib/examples/gzappend.c:170
gpr_malloc
GPRAPI void * gpr_malloc(size_t size)
Definition: alloc.cc:29
grpc::CoreCodegen::grpc_slice_malloc
grpc_slice grpc_slice_malloc(size_t length) override
Definition: core_codegen.cc:172
gpr_inf_future
GPRAPI gpr_timespec gpr_inf_future(gpr_clock_type type)
Definition: src/core/lib/gpr/time.cc:55
grpc_slice_sub
GPRAPI grpc_slice grpc_slice_sub(grpc_slice s, size_t begin, size_t end)
Definition: slice/slice.cc:268
time.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_slice_malloc
GPRAPI grpc_slice grpc_slice_malloc(size_t length)
Definition: slice/slice.cc:227
grpc_completion_queue_create
GRPCAPI grpc_completion_queue * grpc_completion_queue_create(const grpc_completion_queue_factory *factory, const grpc_completion_queue_attributes *attributes, void *reserved)
Definition: completion_queue_factory.cc:84
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
status.h
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_completion_queue_factory_lookup
const GRPCAPI grpc_completion_queue_factory * grpc_completion_queue_factory_lookup(const grpc_completion_queue_attributes *attributes)
Definition: completion_queue_factory.cc:48
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
gpr_log
GPRAPI void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...) GPR_PRINT_FORMAT_CHECK(4
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_byte_buffer_reader_init
GRPCAPI int grpc_byte_buffer_reader_init(grpc_byte_buffer_reader *reader, grpc_byte_buffer *buffer)
Definition: byte_buffer_reader.cc:33
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_slice_from_static_buffer
GPRAPI grpc_slice grpc_slice_from_static_buffer(const void *source, size_t len)
Definition: slice/slice.cc:85
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
slice_buffer.h
grpc::CoreCodegen::gpr_cv_signal
void gpr_cv_signal(gpr_cv *cv) override
Definition: core_codegen.cc:93
gpr_cv_wait
GPRAPI int gpr_cv_wait(gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline)
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_empty_slice
GPRAPI grpc_slice grpc_empty_slice(void)
Definition: slice/slice.cc:42
grpc_slice
Definition: include/grpc/impl/codegen/slice.h:65
grpc::Status::OK
static const Status & OK
An OK pre-defined instance.
Definition: include/grpcpp/impl/codegen/status.h:113
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
GPR_LOG_SEVERITY_ERROR
@ GPR_LOG_SEVERITY_ERROR
Definition: include/grpc/impl/codegen/log.h:48
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_slice_new_with_user_data
GPRAPI grpc_slice grpc_slice_new_with_user_data(void *p, size_t len, void(*destroy)(void *), void *user_data)
Definition: slice/slice.cc:93
grpc::CoreCodegen::grpc_call_arena_alloc
void * grpc_call_arena_alloc(grpc_call *call, size_t length) override
Definition: core_codegen.cc:126
gpr_types.h
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
grpc_completion_queue_pluck
GRPCAPI grpc_event grpc_completion_queue_pluck(grpc_completion_queue *cq, void *tag, gpr_timespec deadline, void *reserved)
Definition: completion_queue.cc:1328
grpc_slice_from_copied_buffer
GPRAPI grpc_slice grpc_slice_from_copied_buffer(const char *source, size_t len)
Definition: slice/slice.cc:170
cv
unsigned cv
Definition: cxa_demangle.cpp:4908
gpr_mu
pthread_mutex_t gpr_mu
Definition: impl/codegen/sync_posix.h:47
alloc.h
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_call_error_to_string
const GRPCAPI char * grpc_call_error_to_string(grpc_call_error error)
Definition: call.cc:1884
grpc_slice_split_head
GPRAPI grpc_slice grpc_slice_split_head(grpc_slice *s, size_t split)
Definition: slice/slice.cc:347
grpc_byte_buffer_reader_peek
GRPCAPI int grpc_byte_buffer_reader_peek(grpc_byte_buffer_reader *reader, grpc_slice **slice)
Definition: byte_buffer_reader.cc:49
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_byte_buffer_copy
GRPCAPI grpc_byte_buffer * grpc_byte_buffer_copy(grpc_byte_buffer *bb)
Definition: byte_buffer.cc:71
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
grpc_completion_queue_create_for_next
GRPCAPI grpc_completion_queue * grpc_completion_queue_create_for_next(void *reserved)
Definition: completion_queue_factory.cc:62
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
sync.h
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_call_start_batch
GRPCAPI grpc_call_error grpc_call_start_batch(grpc_call *call, const grpc_op *ops, size_t nops, void *tag, void *reserved)
Definition: call.cc:1831
grpc::CoreCodegen::grpc_slice_ref
grpc_slice grpc_slice_ref(grpc_slice slice) override
Definition: core_codegen.cc:180
grpc_call_cancel_with_status
GRPCAPI grpc_call_error grpc_call_cancel_with_status(grpc_call *call, grpc_status_code status, const char *description, void *reserved)
Definition: call.cc:1791
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
grpc_slice_new_with_len
GPRAPI grpc_slice grpc_slice_new_with_len(void *p, size_t len, void(*destroy)(void *, size_t))
Definition: slice/slice.cc:161
grpc_slice_split_tail
GPRAPI grpc_slice grpc_slice_split_tail(grpc_slice *s, size_t split)
Definition: slice/slice.cc:343
status.h
grpc_slice_ref
GPRAPI grpc_slice grpc_slice_ref(grpc_slice s)
Definition: slice_api.cc:27
gpr_clock_type
gpr_clock_type
Definition: gpr_types.h:34
port_platform.h


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