include/grpc/slice.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright 2015 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 GRPC_SLICE_H
20 #define GRPC_SLICE_H
21 
23 
24 #include <grpc/impl/codegen/slice.h> // IWYU pragma: export
25 #include <grpc/support/sync.h>
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
34 
42 
45 
49 GPRAPI grpc_slice grpc_slice_new(void* p, size_t len, void (*destroy)(void*));
50 
56  void (*destroy)(void*),
57  void* user_data);
58 
62  void (*destroy)(void*, size_t));
63 
69 
70 #define GRPC_SLICE_MALLOC(len) grpc_slice_malloc(len)
71 
79 
84 GPRAPI grpc_slice grpc_slice_from_copied_buffer(const char* source, size_t len);
85 
88 
90 GPRAPI grpc_slice grpc_slice_from_static_buffer(const void* source, size_t len);
91 
98 
101 
106 
107 typedef enum {
112 
117  grpc_slice_ref_whom ref_whom);
118 
123 
125 
127 
132 GPRAPI int grpc_slice_str_cmp(grpc_slice a, const char* b);
133 
135 GPRAPI int grpc_slice_buf_start_eq(grpc_slice a, const void* b, size_t blen);
136 
138 GPRAPI int grpc_slice_rchr(grpc_slice s, char c);
139 GPRAPI int grpc_slice_chr(grpc_slice s, char c);
140 
143 GPRAPI int grpc_slice_slice(grpc_slice haystack, grpc_slice needle);
144 
148 
152 
156 
157 #ifdef __cplusplus
158 }
159 #endif
160 
161 #endif /* GRPC_SLICE_H */
GRPC_SLICE_REF_HEAD
@ GRPC_SLICE_REF_HEAD
Definition: include/grpc/slice.h:109
grpc_slice_unref
GPRAPI void grpc_slice_unref(grpc_slice s)
Definition: slice_api.cc:32
begin
char * begin
Definition: abseil-cpp/absl/strings/internal/str_format/float_conversion.cc:1007
grpc_slice_from_copied_string
GPRAPI grpc_slice grpc_slice_from_copied_string(const char *source)
Definition: slice/slice.cc:177
grpc_slice_new
GPRAPI grpc_slice grpc_slice_new(void *p, size_t len, void(*destroy)(void *))
Definition: slice/slice.cc:103
grpc_slice_slice
GPRAPI int grpc_slice_slice(grpc_slice haystack, grpc_slice needle)
Definition: slice/slice.cc:461
grpc_slice_cmp
GPRAPI int grpc_slice_cmp(grpc_slice a, grpc_slice b)
Definition: slice/slice.cc:419
GPRAPI
#define GPRAPI
Definition: impl/codegen/port_platform.h:660
slice.h
grpc_slice_sub
GPRAPI grpc_slice grpc_slice_sub(grpc_slice s, size_t begin, size_t end)
Definition: slice/slice.cc:268
a
int a
Definition: abseil-cpp/absl/container/internal/hash_policy_traits_test.cc:88
xds_manager.p
p
Definition: xds_manager.py:60
grpc_slice_sub_no_ref
GPRAPI grpc_slice grpc_slice_sub_no_ref(grpc_slice s, size_t begin, size_t end)
Definition: slice/slice.cc:264
grpc_slice_chr
GPRAPI int grpc_slice_chr(grpc_slice s, char c)
Definition: slice/slice.cc:455
grpc_slice_malloc
GPRAPI grpc_slice grpc_slice_malloc(size_t length)
Definition: slice/slice.cc:227
grpc_slice_buf_start_eq
GPRAPI int grpc_slice_buf_start_eq(grpc_slice a, const void *b, size_t blen)
Definition: slice/slice.cc:441
grpc_slice_malloc_large
GPRAPI grpc_slice grpc_slice_malloc_large(size_t length)
Definition: slice/slice.cc:217
GRPC_SLICE_REF_BOTH
@ GRPC_SLICE_REF_BOTH
Definition: include/grpc/slice.h:110
c
void c(T a)
Definition: miscompile_with_no_unique_address_test.cc:40
grpc_slice_rchr
GPRAPI int grpc_slice_rchr(grpc_slice s, char c)
Definition: slice/slice.cc:446
grpc_slice_is_equivalent
GPRAPI int grpc_slice_is_equivalent(grpc_slice a, grpc_slice b)
Definition: slice/slice.cc:433
end
char * end
Definition: abseil-cpp/absl/strings/internal/str_format/float_conversion.cc:1008
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_slice_from_static_string
GPRAPI grpc_slice grpc_slice_from_static_string(const char *source)
Definition: slice/slice.cc:89
grpc_slice_split_tail_maybe_ref
GPRAPI grpc_slice grpc_slice_split_tail_maybe_ref(grpc_slice *s, size_t split, grpc_slice_ref_whom ref_whom)
Definition: slice/slice.cc:286
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_slice_ref_whom
grpc_slice_ref_whom
Definition: include/grpc/slice.h:107
b
uint64_t b
Definition: abseil-cpp/absl/container/internal/layout_test.cc:53
GRPC_SLICE_REF_TAIL
@ GRPC_SLICE_REF_TAIL
Definition: include/grpc/slice.h:108
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_slice_to_c_string
GPRAPI char * grpc_slice_to_c_string(grpc_slice s)
Definition: slice/slice.cc:35
grpc_slice_from_copied_buffer
GPRAPI grpc_slice grpc_slice_from_copied_buffer(const char *source, size_t len)
Definition: slice/slice.cc:170
grpc_slice_split_head
GPRAPI grpc_slice grpc_slice_split_head(grpc_slice *s, size_t split)
Definition: slice/slice.cc:347
grpc_slice_dup
GPRAPI grpc_slice grpc_slice_dup(grpc_slice a)
Definition: slice/slice.cc:485
len
int len
Definition: abseil-cpp/absl/base/internal/low_level_alloc_test.cc:46
length
std::size_t length
Definition: abseil-cpp/absl/time/internal/test_util.cc:57
split
static void split(const char *s, char ***ss, size_t *ns)
Definition: debug/trace.cc:111
grpc_slice_str_cmp
GPRAPI int grpc_slice_str_cmp(grpc_slice a, const char *b)
Definition: slice/slice.cc:426
sync.h
grpc_slice_eq
GPRAPI int grpc_slice_eq(grpc_slice a, grpc_slice b)
Definition: slice/slice.cc:387
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
grpc_slice_ref
GPRAPI grpc_slice grpc_slice_ref(grpc_slice s)
Definition: slice_api.cc:27
grpc_slice_copy
GPRAPI grpc_slice grpc_slice_copy(grpc_slice s)
Definition: slice/slice.cc:46
port_platform.h


grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:18