| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 | /* * * Copyright 2016 gRPC authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *     http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */#include <grpc/grpc.h>#include <grpc/grpc_posix.h>#include <grpcpp/channel.h>#include <grpcpp/create_channel.h>#include <grpcpp/impl/grpc_library.h>#include "src/cpp/client/create_channel_internal.h"namespace grpc_impl {#ifdef GPR_SUPPORT_CHANNELS_FROM_FDstd::shared_ptr<grpc::Channel> CreateInsecureChannelFromFd(    const grpc::string& target, int fd) {  grpc::internal::GrpcLibrary init_lib;  init_lib.init();  return grpc::CreateChannelInternal(      "", grpc_insecure_channel_create_from_fd(target.c_str(), fd, nullptr),      std::vector<std::unique_ptr<          grpc::experimental::ClientInterceptorFactoryInterface>>());}std::shared_ptr<grpc::Channel> CreateCustomInsecureChannelFromFd(    const grpc::string& target, int fd, const grpc::ChannelArguments& args) {  grpc::internal::GrpcLibrary init_lib;  init_lib.init();  grpc_channel_args channel_args;  args.SetChannelArgs(&channel_args);  return grpc::CreateChannelInternal(      "",      grpc_insecure_channel_create_from_fd(target.c_str(), fd, &channel_args),      std::vector<std::unique_ptr<          grpc::experimental::ClientInterceptorFactoryInterface>>());}namespace experimental {std::shared_ptr<grpc::Channel>CreateCustomInsecureChannelWithInterceptorsFromFd(    const grpc::string& target, int fd, const grpc::ChannelArguments& args,    std::vector<        std::unique_ptr<grpc::experimental::ClientInterceptorFactoryInterface>>        interceptor_creators) {  grpc::internal::GrpcLibrary init_lib;  init_lib.init();  grpc_channel_args channel_args;  args.SetChannelArgs(&channel_args);  return grpc::CreateChannelInternal(      "",      grpc_insecure_channel_create_from_fd(target.c_str(), fd, &channel_args),      std::move(interceptor_creators));}}  // namespace experimental#endif  // GPR_SUPPORT_CHANNELS_FROM_FD}  // namespace grpc_impl
 |