commit
5ea46ab248
331 changed files with 23660 additions and 6669 deletions
File diff suppressed because one or more lines are too long
@ -0,0 +1,72 @@ |
|||||||
|
/*
|
||||||
|
* |
||||||
|
* Copyright 2015, Google Inc. |
||||||
|
* All rights reserved. |
||||||
|
* |
||||||
|
* Redistribution and use in source and binary forms, with or without |
||||||
|
* modification, are permitted provided that the following conditions are |
||||||
|
* met: |
||||||
|
* |
||||||
|
* * Redistributions of source code must retain the above copyright |
||||||
|
* notice, this list of conditions and the following disclaimer. |
||||||
|
* * Redistributions in binary form must reproduce the above |
||||||
|
* copyright notice, this list of conditions and the following disclaimer |
||||||
|
* in the documentation and/or other materials provided with the |
||||||
|
* distribution. |
||||||
|
* * Neither the name of Google Inc. nor the names of its |
||||||
|
* contributors may be used to endorse or promote products derived from |
||||||
|
* this software without specific prior written permission. |
||||||
|
* |
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||||
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||||
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||||
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||||
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||||
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||||
|
* |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef GRPCXX_CONFIG_PROTOBUF_H |
||||||
|
#define GRPCXX_CONFIG_PROTOBUF_H |
||||||
|
|
||||||
|
#ifndef GRPC_CUSTOM_PROTOBUF_INT64 |
||||||
|
#include <google/protobuf/stubs/common.h> |
||||||
|
#define GRPC_CUSTOM_PROTOBUF_INT64 ::google::protobuf::int64 |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifndef GRPC_CUSTOM_MESSAGE |
||||||
|
#include <google/protobuf/message.h> |
||||||
|
#define GRPC_CUSTOM_MESSAGE ::google::protobuf::Message |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifndef GRPC_CUSTOM_ZEROCOPYOUTPUTSTREAM |
||||||
|
#include <google/protobuf/io/coded_stream.h> |
||||||
|
#include <google/protobuf/io/zero_copy_stream.h> |
||||||
|
#define GRPC_CUSTOM_ZEROCOPYOUTPUTSTREAM \ |
||||||
|
::google::protobuf::io::ZeroCopyOutputStream |
||||||
|
#define GRPC_CUSTOM_ZEROCOPYINPUTSTREAM \ |
||||||
|
::google::protobuf::io::ZeroCopyInputStream |
||||||
|
#define GRPC_CUSTOM_CODEDINPUTSTREAM ::google::protobuf::io::CodedInputStream |
||||||
|
#endif |
||||||
|
|
||||||
|
namespace grpc { |
||||||
|
namespace protobuf { |
||||||
|
|
||||||
|
typedef GRPC_CUSTOM_MESSAGE Message; |
||||||
|
typedef GRPC_CUSTOM_PROTOBUF_INT64 int64; |
||||||
|
|
||||||
|
namespace io { |
||||||
|
typedef GRPC_CUSTOM_ZEROCOPYOUTPUTSTREAM ZeroCopyOutputStream; |
||||||
|
typedef GRPC_CUSTOM_ZEROCOPYINPUTSTREAM ZeroCopyInputStream; |
||||||
|
typedef GRPC_CUSTOM_CODEDINPUTSTREAM CodedInputStream; |
||||||
|
} // namespace io
|
||||||
|
|
||||||
|
} // namespace protobuf
|
||||||
|
} // namespace grpc
|
||||||
|
|
||||||
|
#endif // GRPCXX_CONFIG_PROTOBUF_H
|
@ -0,0 +1,68 @@ |
|||||||
|
/*
|
||||||
|
* |
||||||
|
* Copyright 2015, Google Inc. |
||||||
|
* All rights reserved. |
||||||
|
* |
||||||
|
* Redistribution and use in source and binary forms, with or without |
||||||
|
* modification, are permitted provided that the following conditions are |
||||||
|
* met: |
||||||
|
* |
||||||
|
* * Redistributions of source code must retain the above copyright |
||||||
|
* notice, this list of conditions and the following disclaimer. |
||||||
|
* * Redistributions in binary form must reproduce the above |
||||||
|
* copyright notice, this list of conditions and the following disclaimer |
||||||
|
* in the documentation and/or other materials provided with the |
||||||
|
* distribution. |
||||||
|
* * Neither the name of Google Inc. nor the names of its |
||||||
|
* contributors may be used to endorse or promote products derived from |
||||||
|
* this software without specific prior written permission. |
||||||
|
* |
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||||
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||||
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||||
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||||
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||||
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||||
|
* |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef GRPCXX_IMPL_SERIALIZATION_TRAITS_H |
||||||
|
#define GRPCXX_IMPL_SERIALIZATION_TRAITS_H |
||||||
|
|
||||||
|
namespace grpc { |
||||||
|
|
||||||
|
/// Defines how to serialize and deserialize some type.
|
||||||
|
///
|
||||||
|
/// Used for hooking different message serialization API's into GRPC.
|
||||||
|
/// Each SerializationTraits implementation must provide the following
|
||||||
|
/// functions:
|
||||||
|
/// static Status Serialize(const Message& msg,
|
||||||
|
/// grpc_byte_buffer** buffer,
|
||||||
|
// bool* own_buffer);
|
||||||
|
/// static Status Deserialize(grpc_byte_buffer* buffer,
|
||||||
|
/// Message* msg,
|
||||||
|
/// int max_message_size);
|
||||||
|
///
|
||||||
|
/// Serialize is required to convert message to a grpc_byte_buffer, and
|
||||||
|
/// to store a pointer to that byte buffer at *buffer. *own_buffer should
|
||||||
|
/// be set to true if the caller owns said byte buffer, or false if
|
||||||
|
/// ownership is retained elsewhere.
|
||||||
|
///
|
||||||
|
/// Deserialize is required to convert buffer into the message stored at
|
||||||
|
/// msg. max_message_size is passed in as a bound on the maximum number of
|
||||||
|
/// message bytes Deserialize should accept.
|
||||||
|
///
|
||||||
|
/// Both functions return a Status, allowing them to explain what went
|
||||||
|
/// wrong if required.
|
||||||
|
template <class Message, |
||||||
|
class UnusedButHereForPartialTemplateSpecialization = void> |
||||||
|
class SerializationTraits; |
||||||
|
|
||||||
|
} // namespace grpc
|
||||||
|
|
||||||
|
#endif // GRPCXX_IMPL_SERIALIZATION_TRAITS_H
|
@ -0,0 +1,59 @@ |
|||||||
|
/*
|
||||||
|
* |
||||||
|
* Copyright 2015, Google Inc. |
||||||
|
* All rights reserved. |
||||||
|
* |
||||||
|
* Redistribution and use in source and binary forms, with or without |
||||||
|
* modification, are permitted provided that the following conditions are |
||||||
|
* met: |
||||||
|
* |
||||||
|
* * Redistributions of source code must retain the above copyright |
||||||
|
* notice, this list of conditions and the following disclaimer. |
||||||
|
* * Redistributions in binary form must reproduce the above |
||||||
|
* copyright notice, this list of conditions and the following disclaimer |
||||||
|
* in the documentation and/or other materials provided with the |
||||||
|
* distribution. |
||||||
|
* * Neither the name of Google Inc. nor the names of its |
||||||
|
* contributors may be used to endorse or promote products derived from |
||||||
|
* this software without specific prior written permission. |
||||||
|
* |
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||||
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||||
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||||
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||||
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||||
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||||
|
* |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef GRPC_INTERNAL_CORE_IOMGR_POLLSET_SET_H |
||||||
|
#define GRPC_INTERNAL_CORE_IOMGR_POLLSET_SET_H |
||||||
|
|
||||||
|
#include "src/core/iomgr/pollset.h" |
||||||
|
|
||||||
|
/* A grpc_pollset_set is a set of pollsets that are interested in an
|
||||||
|
action. Adding a pollset to a pollset_set automatically adds any |
||||||
|
fd's (etc) that have been registered with the set_set with that pollset. |
||||||
|
Registering fd's automatically adds them to all current pollsets. */ |
||||||
|
|
||||||
|
#ifdef GPR_POSIX_SOCKET |
||||||
|
#include "src/core/iomgr/pollset_set_posix.h" |
||||||
|
#endif |
||||||
|
|
||||||
|
#ifdef GPR_WIN32 |
||||||
|
#include "src/core/iomgr/pollset_set_windows.h" |
||||||
|
#endif |
||||||
|
|
||||||
|
void grpc_pollset_set_init(grpc_pollset_set *pollset_set); |
||||||
|
void grpc_pollset_set_destroy(grpc_pollset_set *pollset_set); |
||||||
|
void grpc_pollset_set_add_pollset(grpc_pollset_set *pollset_set, |
||||||
|
grpc_pollset *pollset); |
||||||
|
void grpc_pollset_set_del_pollset(grpc_pollset_set *pollset_set, |
||||||
|
grpc_pollset *pollset); |
||||||
|
|
||||||
|
#endif /* GRPC_INTERNAL_CORE_IOMGR_POLLSET_H */ |
@ -0,0 +1,125 @@ |
|||||||
|
/*
|
||||||
|
* |
||||||
|
* Copyright 2015, Google Inc. |
||||||
|
* All rights reserved. |
||||||
|
* |
||||||
|
* Redistribution and use in source and binary forms, with or without |
||||||
|
* modification, are permitted provided that the following conditions are |
||||||
|
* met: |
||||||
|
* |
||||||
|
* * Redistributions of source code must retain the above copyright |
||||||
|
* notice, this list of conditions and the following disclaimer. |
||||||
|
* * Redistributions in binary form must reproduce the above |
||||||
|
* copyright notice, this list of conditions and the following disclaimer |
||||||
|
* in the documentation and/or other materials provided with the |
||||||
|
* distribution. |
||||||
|
* * Neither the name of Google Inc. nor the names of its |
||||||
|
* contributors may be used to endorse or promote products derived from |
||||||
|
* this software without specific prior written permission. |
||||||
|
* |
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||||
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||||
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||||
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||||
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||||
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||||
|
* |
||||||
|
*/ |
||||||
|
|
||||||
|
#include <grpc/support/port_platform.h> |
||||||
|
|
||||||
|
#ifdef GPR_POSIX_SOCKET |
||||||
|
|
||||||
|
#include <stdlib.h> |
||||||
|
#include <string.h> |
||||||
|
|
||||||
|
#include <grpc/support/alloc.h> |
||||||
|
#include <grpc/support/useful.h> |
||||||
|
|
||||||
|
#include "src/core/iomgr/pollset_set.h" |
||||||
|
|
||||||
|
void grpc_pollset_set_init(grpc_pollset_set *pollset_set) { |
||||||
|
memset(pollset_set, 0, sizeof(*pollset_set)); |
||||||
|
gpr_mu_init(&pollset_set->mu); |
||||||
|
} |
||||||
|
|
||||||
|
void grpc_pollset_set_destroy(grpc_pollset_set *pollset_set) { |
||||||
|
size_t i; |
||||||
|
gpr_mu_destroy(&pollset_set->mu); |
||||||
|
for (i = 0; i < pollset_set->fd_count; i++) { |
||||||
|
GRPC_FD_UNREF(pollset_set->fds[i], "pollset"); |
||||||
|
} |
||||||
|
gpr_free(pollset_set->pollsets); |
||||||
|
gpr_free(pollset_set->fds); |
||||||
|
} |
||||||
|
|
||||||
|
void grpc_pollset_set_add_pollset(grpc_pollset_set *pollset_set, |
||||||
|
grpc_pollset *pollset) { |
||||||
|
size_t i; |
||||||
|
gpr_mu_lock(&pollset_set->mu); |
||||||
|
if (pollset_set->pollset_count == pollset_set->pollset_capacity) { |
||||||
|
pollset_set->pollset_capacity = |
||||||
|
GPR_MAX(8, 2 * pollset_set->pollset_capacity); |
||||||
|
pollset_set->pollsets = |
||||||
|
gpr_realloc(pollset_set->pollsets, pollset_set->pollset_capacity * |
||||||
|
sizeof(*pollset_set->pollsets)); |
||||||
|
} |
||||||
|
pollset_set->pollsets[pollset_set->pollset_count++] = pollset; |
||||||
|
for (i = 0; i < pollset_set->fd_count; i++) { |
||||||
|
grpc_pollset_add_fd(pollset, pollset_set->fds[i]); |
||||||
|
} |
||||||
|
gpr_mu_unlock(&pollset_set->mu); |
||||||
|
} |
||||||
|
|
||||||
|
void grpc_pollset_set_del_pollset(grpc_pollset_set *pollset_set, |
||||||
|
grpc_pollset *pollset) { |
||||||
|
size_t i; |
||||||
|
gpr_mu_lock(&pollset_set->mu); |
||||||
|
for (i = 0; i < pollset_set->pollset_count; i++) { |
||||||
|
if (pollset_set->pollsets[i] == pollset) { |
||||||
|
pollset_set->pollset_count--; |
||||||
|
GPR_SWAP(grpc_pollset *, pollset_set->pollsets[i], |
||||||
|
pollset_set->pollsets[pollset_set->pollset_count]); |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
gpr_mu_unlock(&pollset_set->mu); |
||||||
|
} |
||||||
|
|
||||||
|
void grpc_pollset_set_add_fd(grpc_pollset_set *pollset_set, grpc_fd *fd) { |
||||||
|
size_t i; |
||||||
|
gpr_mu_lock(&pollset_set->mu); |
||||||
|
if (pollset_set->fd_count == pollset_set->fd_capacity) { |
||||||
|
pollset_set->fd_capacity = GPR_MAX(8, 2 * pollset_set->fd_capacity); |
||||||
|
pollset_set->fds = gpr_realloc( |
||||||
|
pollset_set->fds, pollset_set->fd_capacity * sizeof(*pollset_set->fds)); |
||||||
|
} |
||||||
|
GRPC_FD_REF(fd, "pollset_set"); |
||||||
|
pollset_set->fds[pollset_set->fd_count++] = fd; |
||||||
|
for (i = 0; i < pollset_set->pollset_count; i++) { |
||||||
|
grpc_pollset_add_fd(pollset_set->pollsets[i], fd); |
||||||
|
} |
||||||
|
gpr_mu_unlock(&pollset_set->mu); |
||||||
|
} |
||||||
|
|
||||||
|
void grpc_pollset_set_del_fd(grpc_pollset_set *pollset_set, grpc_fd *fd) { |
||||||
|
size_t i; |
||||||
|
gpr_mu_lock(&pollset_set->mu); |
||||||
|
for (i = 0; i < pollset_set->fd_count; i++) { |
||||||
|
if (pollset_set->fds[i] == fd) { |
||||||
|
pollset_set->fd_count--; |
||||||
|
GPR_SWAP(grpc_fd *, pollset_set->fds[i], |
||||||
|
pollset_set->fds[pollset_set->pollset_count]); |
||||||
|
GRPC_FD_UNREF(fd, "pollset_set"); |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
gpr_mu_unlock(&pollset_set->mu); |
||||||
|
} |
||||||
|
|
||||||
|
#endif /* GPR_POSIX_SOCKET */ |
@ -0,0 +1,55 @@ |
|||||||
|
/*
|
||||||
|
* |
||||||
|
* Copyright 2015, Google Inc. |
||||||
|
* All rights reserved. |
||||||
|
* |
||||||
|
* Redistribution and use in source and binary forms, with or without |
||||||
|
* modification, are permitted provided that the following conditions are |
||||||
|
* met: |
||||||
|
* |
||||||
|
* * Redistributions of source code must retain the above copyright |
||||||
|
* notice, this list of conditions and the following disclaimer. |
||||||
|
* * Redistributions in binary form must reproduce the above |
||||||
|
* copyright notice, this list of conditions and the following disclaimer |
||||||
|
* in the documentation and/or other materials provided with the |
||||||
|
* distribution. |
||||||
|
* * Neither the name of Google Inc. nor the names of its |
||||||
|
* contributors may be used to endorse or promote products derived from |
||||||
|
* this software without specific prior written permission. |
||||||
|
* |
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||||
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||||
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||||
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||||
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||||
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||||
|
* |
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef GRPC_INTERNAL_CORE_IOMGR_POLLSET_SET_POSIX_H |
||||||
|
#define GRPC_INTERNAL_CORE_IOMGR_POLLSET_SET_POSIX_H |
||||||
|
|
||||||
|
#include "src/core/iomgr/fd_posix.h" |
||||||
|
#include "src/core/iomgr/pollset_posix.h" |
||||||
|
|
||||||
|
typedef struct grpc_pollset_set { |
||||||
|
gpr_mu mu; |
||||||
|
|
||||||
|
size_t pollset_count; |
||||||
|
size_t pollset_capacity; |
||||||
|
grpc_pollset **pollsets; |
||||||
|
|
||||||
|
size_t fd_count; |
||||||
|
size_t fd_capacity; |
||||||
|
grpc_fd **fds; |
||||||
|
} grpc_pollset_set; |
||||||
|
|
||||||
|
void grpc_pollset_set_add_fd(grpc_pollset_set *pollset_set, grpc_fd *fd); |
||||||
|
void grpc_pollset_set_del_fd(grpc_pollset_set *pollset_set, grpc_fd *fd); |
||||||
|
|
||||||
|
#endif /* GRPC_INTERNAL_CORE_IOMGR_POLLSET_WINDOWS_H */ |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue