mirror of https://github.com/grpc/grpc.git
Move resolver to core configuration (#28881)
* Move resolver to core configuration * Automated change: Fix sanity tests * Automated change: Fix sanity tests * fix * fix * fix * fix * resolver: clean up and modernize registry * fix race * update visibility * fix internal error * review feedback * resolve backref issues * windows * x * fix sockaddrs on windows? * fix sockaddrs on windows? Co-authored-by: ctiller <ctiller@users.noreply.github.com> Co-authored-by: Mark D. Roth <roth@google.com>pull/28951/head
parent
ff87ca02b2
commit
dd76a04b8c
49 changed files with 526 additions and 593 deletions
@ -0,0 +1,62 @@ |
||||
/*
|
||||
* |
||||
* Copyright 2015 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/support/port_platform.h> |
||||
|
||||
#include "src/core/lib/iomgr/port.h" |
||||
|
||||
#ifdef GRPC_POSIX_SOCKET_UTILS_COMMON |
||||
|
||||
#include "src/core/lib/iomgr/socket_utils.h" |
||||
#ifdef GRPC_LINUX_TCP_H |
||||
#include <linux/tcp.h> |
||||
#else |
||||
#include <netinet/tcp.h> |
||||
#endif |
||||
#include <stdio.h> |
||||
#include <string.h> |
||||
#include <sys/socket.h> |
||||
#include <sys/types.h> |
||||
#include <unistd.h> |
||||
|
||||
#include <string> |
||||
|
||||
#include <grpc/support/alloc.h> |
||||
#include <grpc/support/log.h> |
||||
#include <grpc/support/sync.h> |
||||
|
||||
#include "src/core/lib/iomgr/sockaddr.h" |
||||
|
||||
uint16_t grpc_htons(uint16_t hostshort) { return htons(hostshort); } |
||||
|
||||
uint16_t grpc_ntohs(uint16_t netshort) { return ntohs(netshort); } |
||||
|
||||
uint32_t grpc_htonl(uint32_t hostlong) { return htonl(hostlong); } |
||||
|
||||
uint32_t grpc_ntohl(uint32_t netlong) { return ntohl(netlong); } |
||||
|
||||
int grpc_inet_pton(int af, const char* src, void* dst) { |
||||
return inet_pton(af, src, dst); |
||||
} |
||||
|
||||
const char* grpc_inet_ntop(int af, const void* src, char* dst, size_t size) { |
||||
GPR_ASSERT(size <= (socklen_t)-1); |
||||
return inet_ntop(af, src, dst, static_cast<socklen_t>(size)); |
||||
} |
||||
|
||||
#endif |
@ -1,55 +0,0 @@ |
||||
/*
|
||||
* |
||||
* Copyright 2015 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 <string.h> |
||||
|
||||
#include <grpc/grpc.h> |
||||
#include <grpc/grpc_security.h> |
||||
#include <grpc/support/log.h> |
||||
|
||||
#include "src/core/lib/channel/channel_stack.h" |
||||
#include "src/core/lib/resolver/resolver_registry.h" |
||||
#include "src/core/lib/surface/channel.h" |
||||
#include "test/core/util/test_config.h" |
||||
|
||||
void test_unknown_scheme_target(void) { |
||||
grpc_channel* chan; |
||||
/* avoid default prefix */ |
||||
grpc_core::ResolverRegistry::Builder::ShutdownRegistry(); |
||||
grpc_core::ResolverRegistry::Builder::InitRegistry(); |
||||
|
||||
grpc_channel_credentials* creds = grpc_insecure_credentials_create(); |
||||
chan = grpc_channel_create("blah://blah", creds, nullptr); |
||||
grpc_channel_credentials_release(creds); |
||||
GPR_ASSERT(chan != nullptr); |
||||
|
||||
grpc_core::ExecCtx exec_ctx; |
||||
grpc_channel_element* elem = |
||||
grpc_channel_stack_element(grpc_channel_get_channel_stack(chan), 0); |
||||
GPR_ASSERT(0 == strcmp(elem->filter->name, "lame-client")); |
||||
|
||||
grpc_channel_destroy(chan); |
||||
} |
||||
|
||||
int main(int argc, char** argv) { |
||||
grpc::testing::TestEnvironment env(argc, argv); |
||||
grpc_init(); |
||||
test_unknown_scheme_target(); |
||||
grpc_shutdown(); |
||||
return 0; |
||||
} |
Loading…
Reference in new issue