blob: 391ecba7def67cf9f7836273b17b8b149e8988cd [file] [log] [blame]
ncteisen3b42f832018-03-19 13:22:35 -07001/*
2 *
3 * Copyright 2017 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_CHANNEL_CHANNEL_TRACE_REGISTRY_H
20#define GRPC_CORE_LIB_CHANNEL_CHANNEL_TRACE_REGISTRY_H
21
22#include <grpc/impl/codegen/port_platform.h>
23
24#include "src/core/lib/channel/channel_trace.h"
25
26#include <stdint.h>
27
28// TODO(ncteisen): convert this file to C++
29
30void grpc_channel_trace_registry_init();
31void grpc_channel_trace_registry_shutdown();
32
33// globally registers a ChannelTrace. Returns its unique uuid
34intptr_t grpc_channel_trace_registry_register_channel_trace(
35 grpc_core::ChannelTrace* channel_trace);
36// globally unregisters the ChannelTrace that is associated to uuid.
37void grpc_channel_trace_registry_unregister_channel_trace(intptr_t uuid);
38// if object with uuid has previously been registered, returns the ChannelTrace
39// associated with that uuid. Else returns nullptr.
40grpc_core::ChannelTrace* grpc_channel_trace_registry_get_channel_trace(
41 intptr_t uuid);
42
43#endif /* GRPC_CORE_LIB_CHANNEL_CHANNEL_TRACE_REGISTRY_H */