blob: 8c29089b9bc89c9c932c8c3eeaf67cc89852565c [file] [log] [blame]
nnoble097ef9b2014-12-01 17:06:10 -08001/*
2 *
Jan Tattermusch7897ae92017-06-07 22:57:36 +02003 * Copyright 2015 gRPC authors.
nnoble097ef9b2014-12-01 17:06:10 -08004 *
Jan Tattermusch7897ae92017-06-07 22:57:36 +02005 * 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
nnoble097ef9b2014-12-01 17:06:10 -08008 *
Jan Tattermusch7897ae92017-06-07 22:57:36 +02009 * http://www.apache.org/licenses/LICENSE-2.0
nnoble097ef9b2014-12-01 17:06:10 -080010 *
Jan Tattermusch7897ae92017-06-07 22:57:36 +020011 * 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.
nnoble097ef9b2014-12-01 17:06:10 -080016 *
17 */
18
19#ifndef GRPC_RB_COMPLETION_QUEUE_H_
20#define GRPC_RB_COMPLETION_QUEUE_H_
21
Nicolas "Pixel" Noble357cb812015-05-14 05:33:43 +020022#include <ruby/ruby.h>
23
nnoble097ef9b2014-12-01 17:06:10 -080024#include <grpc/grpc.h>
nnoble097ef9b2014-12-01 17:06:10 -080025
Craig Tillerbaa14a92017-11-03 09:09:36 -070026void grpc_rb_completion_queue_destroy(grpc_completion_queue* cq);
murgatroid99ec1588b2016-06-06 15:37:45 -070027
Tim Emiola6de558f2015-03-28 01:46:00 -070028/**
29 * Makes the implementation of CompletionQueue#pluck available in other files
30 *
31 * This avoids having code that holds the GIL repeated at multiple sites.
32 */
Craig Tillerbaa14a92017-11-03 09:09:36 -070033grpc_event rb_completion_queue_pluck(grpc_completion_queue* queue, void* tag,
34 gpr_timespec deadline, void* reserved);
nnoble097ef9b2014-12-01 17:06:10 -080035
Craig Tillerb5dcec52015-01-13 11:13:42 -080036#endif /* GRPC_RB_COMPLETION_QUEUE_H_ */