polling_entity.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_CORE_LIB_IOMGR_POLLING_ENTITY_H
20 #define GRPC_CORE_LIB_IOMGR_POLLING_ENTITY_H
21 
23 
27 
28 typedef enum grpc_pollset_tag {
33 
34 /* A grpc_polling_entity is a pollset-or-pollset_set container. It allows
35  * functions that accept a pollset XOR a pollset_set to do so through an
36  * abstract interface. No ownership is taken. */
37 
39  union {
40  grpc_pollset* pollset = nullptr;
42  } pollent;
44 };
45 
47  grpc_pollset_set* pollset_set);
49  grpc_pollset* pollset);
50 
53 
56 
58 
62  grpc_pollset_set* pss_dst);
63 
67  grpc_pollset_set* pss_dst);
68 
69 namespace grpc_core {
70 template <>
72 } // namespace grpc_core
73 
74 #endif /* GRPC_CORE_LIB_IOMGR_POLLING_ENTITY_H */
GRPC_POLLS_NONE
@ GRPC_POLLS_NONE
Definition: polling_entity.h:29
pollset.h
grpc_core
Definition: call_metric_recorder.h:31
grpc_polling_entity::tag
grpc_pollset_tag tag
Definition: polling_entity.h:43
grpc_pollset_set
struct grpc_pollset_set grpc_pollset_set
Definition: iomgr_fwd.h:23
GRPC_POLLS_POLLSET
@ GRPC_POLLS_POLLSET
Definition: polling_entity.h:30
grpc_polling_entity_is_empty
bool grpc_polling_entity_is_empty(const grpc_polling_entity *pollent)
Definition: polling_entity.cc:57
grpc_polling_entity_create_from_pollset
grpc_polling_entity grpc_polling_entity_create_from_pollset(grpc_pollset *pollset)
Definition: polling_entity.cc:34
grpc_core::ContextType
Definition: core/lib/promise/context.h:32
GRPC_POLLS_POLLSET_SET
@ GRPC_POLLS_POLLSET_SET
Definition: polling_entity.h:31
grpc_pollset_tag
grpc_pollset_tag
Definition: polling_entity.h:28
pollset_set.h
grpc_polling_entity
Definition: polling_entity.h:38
grpc_polling_entity::pollset_set
grpc_pollset_set * pollset_set
Definition: polling_entity.h:41
grpc_polling_entity::pollent
union grpc_polling_entity::@16 pollent
grpc_polling_entity_add_to_pollset_set
void grpc_polling_entity_add_to_pollset_set(grpc_polling_entity *pollent, grpc_pollset_set *pss_dst)
Definition: polling_entity.cc:61
grpc_polling_entity_create_from_pollset_set
grpc_polling_entity grpc_polling_entity_create_from_pollset_set(grpc_pollset_set *pollset_set)
Definition: polling_entity.cc:26
grpc_polling_entity::pollset
grpc_pollset * pollset
Definition: polling_entity.h:40
context.h
grpc_polling_entity_pollset
grpc_pollset * grpc_polling_entity_pollset(grpc_polling_entity *pollent)
Definition: polling_entity.cc:42
grpc_polling_entity_pollset_set
grpc_pollset_set * grpc_polling_entity_pollset_set(grpc_polling_entity *pollent)
Definition: polling_entity.cc:49
grpc_polling_entity_del_from_pollset_set
void grpc_polling_entity_del_from_pollset_set(grpc_polling_entity *pollent, grpc_pollset_set *pss_dst)
Definition: polling_entity.cc:78
grpc_pollset
Definition: bm_cq_multiple_threads.cc:37
port_platform.h


grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:00:53