Functions | Variables
rb_grpc.c File Reference
#include <ruby/ruby.h>
#include "rb_grpc.h"
#include <math.h>
#include <ruby/vm.h>
#include <stdbool.h>
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>
#include "rb_call.h"
#include "rb_call_credentials.h"
#include "rb_channel.h"
#include "rb_channel_credentials.h"
#include "rb_compression_options.h"
#include "rb_event_thread.h"
#include "rb_grpc_imports.generated.h"
#include "rb_loader.h"
#include "rb_server.h"
#include "rb_server_credentials.h"
#include "rb_xds_channel_credentials.h"
#include "rb_xds_server_credentials.h"
#include <grpc/grpc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
Include dependency graph for rb_grpc.c:

Go to the source code of this file.

Functions

VALUE grpc_rb_cannot_alloc (VALUE cls)
 
VALUE grpc_rb_cannot_init (VALUE self)
 
VALUE grpc_rb_cannot_init_copy (VALUE copy, VALUE self)
 
gpr_timespec grpc_rb_time_timeval (VALUE time, int interval)
 
static VALUE grpc_rb_time_val_inspect (VALUE self)
 
static VALUE grpc_rb_time_val_to_s (VALUE self)
 
static VALUE grpc_rb_time_val_to_time (VALUE self)
 
void grpc_ruby_fork_guard ()
 
static bool grpc_ruby_forked_after_init (void)
 
void grpc_ruby_init ()
 
static void grpc_ruby_init_threads ()
 
static void grpc_ruby_set_init_pid (void)
 
void grpc_ruby_shutdown ()
 
void Init_grpc_c ()
 
static void Init_grpc_time_consts ()
 

Variables

static int bg_thread_init_done = 0
 
static VALUE bg_thread_init_rb_mu = Qundef
 
static int64_t g_grpc_ruby_init_count
 
static gpr_once g_once_init = GPR_ONCE_INIT
 
static pid_t grpc_init_pid
 
static VALUE grpc_rb_cTimeVal = Qnil
 
VALUE grpc_rb_mGRPC = Qnil
 
VALUE grpc_rb_mGrpcCore = Qnil
 
VALUE grpc_rb_sNewServerRpc = Qnil
 
VALUE grpc_rb_sStatus = Qnil
 
static rb_data_type_t grpc_rb_timespec_data_type
 
static ID id_at
 
static ID id_inspect
 
static ID id_to_s
 
static ID id_tv_nsec
 
static ID id_tv_sec
 
static gpr_timespec inf_future_realtime
 
static gpr_timespec inf_past_realtime
 
VALUE sym_code = Qundef
 
VALUE sym_details = Qundef
 
VALUE sym_metadata = Qundef
 
static gpr_timespec zero_realtime
 

Function Documentation

◆ grpc_rb_cannot_alloc()

VALUE grpc_rb_cannot_alloc ( VALUE  cls)

Definition at line 64 of file rb_grpc.c.

◆ grpc_rb_cannot_init()

VALUE grpc_rb_cannot_init ( VALUE  self)

Definition at line 72 of file rb_grpc.c.

◆ grpc_rb_cannot_init_copy()

VALUE grpc_rb_cannot_init_copy ( VALUE  copy,
VALUE  self 
)

Definition at line 80 of file rb_grpc.c.

◆ grpc_rb_time_timeval()

gpr_timespec grpc_rb_time_timeval ( VALUE  time,
int  interval 
)

grpc_rb_time_timeval creates a timeval from a ruby time object.

This func is copied from ruby source, MRI/source/time.c, which is published under the same license as the ruby.h, on which the entire extensions is based.

Definition at line 98 of file rb_grpc.c.

◆ grpc_rb_time_val_inspect()

static VALUE grpc_rb_time_val_inspect ( VALUE  self)
static

Definition at line 182 of file rb_grpc.c.

◆ grpc_rb_time_val_to_s()

static VALUE grpc_rb_time_val_to_s ( VALUE  self)
static

Definition at line 187 of file rb_grpc.c.

◆ grpc_rb_time_val_to_time()

static VALUE grpc_rb_time_val_to_time ( VALUE  self)
static

Definition at line 171 of file rb_grpc.c.

◆ grpc_ruby_fork_guard()

void grpc_ruby_fork_guard ( )

Definition at line 261 of file rb_grpc.c.

◆ grpc_ruby_forked_after_init()

static bool grpc_ruby_forked_after_init ( void  )
static

Definition at line 237 of file rb_grpc.c.

◆ grpc_ruby_init()

void grpc_ruby_init ( )

Definition at line 286 of file rb_grpc.c.

◆ grpc_ruby_init_threads()

static void grpc_ruby_init_threads ( )
static

Definition at line 270 of file rb_grpc.c.

◆ grpc_ruby_set_init_pid()

static void grpc_ruby_set_init_pid ( void  )
static

Definition at line 232 of file rb_grpc.c.

◆ grpc_ruby_shutdown()

void grpc_ruby_shutdown ( )

Definition at line 296 of file rb_grpc.c.

◆ Init_grpc_c()

void Init_grpc_c ( )

Definition at line 305 of file rb_grpc.c.

◆ Init_grpc_time_consts()

static void Init_grpc_time_consts ( )
static

Definition at line 196 of file rb_grpc.c.

Variable Documentation

◆ bg_thread_init_done

int bg_thread_init_done = 0
static

Definition at line 268 of file rb_grpc.c.

◆ bg_thread_init_rb_mu

VALUE bg_thread_init_rb_mu = Qundef
static

Definition at line 267 of file rb_grpc.c.

◆ g_grpc_ruby_init_count

int64_t g_grpc_ruby_init_count
static

Definition at line 284 of file rb_grpc.c.

◆ g_once_init

gpr_once g_once_init = GPR_ONCE_INIT
static

Definition at line 259 of file rb_grpc.c.

◆ grpc_init_pid

pid_t grpc_init_pid
static

Definition at line 230 of file rb_grpc.c.

◆ grpc_rb_cTimeVal

VALUE grpc_rb_cTimeVal = Qnil
static

Definition at line 47 of file rb_grpc.c.

◆ grpc_rb_mGRPC

VALUE grpc_rb_mGRPC = Qnil

Definition at line 251 of file rb_grpc.c.

◆ grpc_rb_mGrpcCore

VALUE grpc_rb_mGrpcCore = Qnil

Definition at line 252 of file rb_grpc.c.

◆ grpc_rb_sNewServerRpc

VALUE grpc_rb_sNewServerRpc = Qnil

Definition at line 246 of file rb_grpc.c.

◆ grpc_rb_sStatus

VALUE grpc_rb_sStatus = Qnil

Definition at line 248 of file rb_grpc.c.

◆ grpc_rb_timespec_data_type

rb_data_type_t grpc_rb_timespec_data_type
static
Initial value:
= {
"gpr_timespec",
{NULL, NULL}},
NULL,
NULL,
}

Definition at line 49 of file rb_grpc.c.

◆ id_at

ID id_at
static

Definition at line 162 of file rb_grpc.c.

◆ id_inspect

ID id_inspect
static

Definition at line 165 of file rb_grpc.c.

◆ id_to_s

ID id_to_s
static

Definition at line 168 of file rb_grpc.c.

◆ id_tv_nsec

ID id_tv_nsec
static

Definition at line 89 of file rb_grpc.c.

◆ id_tv_sec

ID id_tv_sec
static

Definition at line 88 of file rb_grpc.c.

◆ inf_future_realtime

gpr_timespec inf_future_realtime
static

Definition at line 192 of file rb_grpc.c.

◆ inf_past_realtime

gpr_timespec inf_past_realtime
static

Definition at line 193 of file rb_grpc.c.

◆ sym_code

VALUE sym_code = Qundef

Definition at line 255 of file rb_grpc.c.

◆ sym_details

VALUE sym_details = Qundef

Definition at line 256 of file rb_grpc.c.

◆ sym_metadata

VALUE sym_metadata = Qundef

Definition at line 257 of file rb_grpc.c.

◆ zero_realtime

gpr_timespec zero_realtime
static

Definition at line 191 of file rb_grpc.c.

GRPC_RB_MEMSIZE_UNAVAILABLE
#define GRPC_RB_MEMSIZE_UNAVAILABLE
Definition: rb_grpc.h:57
GRPC_RB_GC_NOT_MARKED
#define GRPC_RB_GC_NOT_MARKED
Definition: rb_grpc.h:48
GRPC_RB_GC_DONT_FREE
#define GRPC_RB_GC_DONT_FREE
Definition: rb_grpc.h:53


grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:27