Skip to main content

Crate rayforce_sys

Crate rayforce_sys 

Source
Expand description

Raw FFI bindings to the RayforceDB v2 core (librayforce).

Generated by bindgen from the core’s own headers: the public rayforce.h, plus the private ones declaring the handful of internal symbols the safe crate needs (INTERNAL_FNS in build.rs is the full list). This crate is unsafe and 1:1 with the C ABI; use the safe rayforce crate instead.

The header’s function-like macros (ray_type, ray_len, ray_data, RAY_IS_ERR, RAY_IS_NULL, …) are not emitted by bindgen — the safe crate reimplements them in Rust against the generated ray_t layout.

Structs§

__BindgenUnionField
__IncompleteArrayField
ray_aof_s
ray_file_map_s
ray_ipc_tx_info_t
ray_poll
ray_poll_buf
ray_poll_frame
ray_progress_t
ray_runtime_s
ray_selector
ray_selector__bindgen_ty_1
ray_selector__bindgen_ty_2
ray_sym_domain_s
ray_t
ray_t__bindgen_ty_1
ray_t__bindgen_ty_2
ray_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1
ray_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2
ray_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_3
ray_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_4
ray_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_5
ray_t__bindgen_ty_1__bindgen_ty_1__bindgen_ty_6
ray_t__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1

Constants§

Q_ERR_HANDSHAKE
Q_ERR_SOCKET
q_connect failure codes (mirrors q.h).
Q_ERR_TIMEOUT
RAY_ATTR_SLICE
RAY_BINARY
RAY_BOOL
RAY_DATE
RAY_DICT
RAY_ERROR
RAY_F32
RAY_F64
RAY_FN_AGGR
RAY_FN_ATOMIC
RAY_FN_LAZY_AWARE
RAY_FN_LEFT_ATOMIC
RAY_FN_NONE
Function attribute flags for ray_fn_unary / ray_fn_vary, from the core’s src/lang/eval.h:33-40. They are #defines in a header wrapper.h does not include, so bindgen never sees them.
RAY_FN_RESTRICTED
RAY_FN_RIGHT_ATOMIC
RAY_FN_SPECIAL_FORM
RAY_GUID
RAY_I16
RAY_I32
RAY_I64
RAY_INDEX
RAY_IPC_ERR_AUTH_FAILED
The server rejected the credentials.
RAY_IPC_ERR_AUTH_REQUIRED
The server demands credentials and the caller supplied no password.
RAY_IPC_ERR_OS
Some other OS error; the core leaves errno holding it.
RAY_IPC_ERR_REFUSED
ray_ipc_connect failure codes.
RAY_IPC_ERR_TIMEOUT
No answer within the connect/handshake budget. The core folds EAGAIN and EWOULDBLOCK in here too, so this also covers a live server that is busy inside a long evaluation.
RAY_IPC_ERR_WIRE_VERSION
The peer speaks a different serialization wire version.
RAY_LAMBDA
RAY_LIST
RAY_NULL
RAY_STR
RAY_SYM
RAY_SYM_W8
RAY_SYM_W16
RAY_SYM_W32
RAY_SYM_W64
RAY_TABLE
RAY_TIME
RAY_TIMESTAMP
RAY_U8
RAY_UNARY
RAY_VARY
RAY_VERSION_MAJOR
RAY_VERSION_MINOR
RAY_VERSION_NUMBER
RAY_VERSION_PATCH
ray_err_t_RAY_ERR_CANCEL
ray_err_t_RAY_ERR_CORRUPT
ray_err_t_RAY_ERR_DOMAIN
ray_err_t_RAY_ERR_IO
ray_err_t_RAY_ERR_LENGTH
ray_err_t_RAY_ERR_LIMIT
ray_err_t_RAY_ERR_NAME
ray_err_t_RAY_ERR_NYI
ray_err_t_RAY_ERR_OOM
ray_err_t_RAY_ERR_PARSE
ray_err_t_RAY_ERR_RANGE
ray_err_t_RAY_ERR_RANK
ray_err_t_RAY_ERR_RESERVED
ray_err_t_RAY_ERR_SCHEMA
ray_err_t_RAY_ERR_TYPE
ray_err_t_RAY_ERR_VERSION
ray_err_t_RAY_OK

Statics§

__ray_null⚠
__ray_oom⚠
ray_type_sizes⚠

Functions§

q_close⚠
Close a connection fd. Returns 0 on success, -1 on an invalid fd.
q_conn_attach⚠
Put an already-connected, already-handshaken q_connect fd under poll’s rx machine. Returns a poll selector id (>= 0) — the handle for the two calls below — or -1. The fd is owned by the poll from here on; do not q_close it.
q_conn_close⚠
Close an attached connection and release its state. Illegal once the rx machine has already deregistered the selector — check ray_poll_get.
q_conn_send⚠
Sync round-trip on an attached connection: write a SYNC frame, then pump this connection until its RESPONSE arrives — dispatching, not swallowing, any frame that arrives in between. So a bound handler can fire before this returns. Returns a freshly-owned object, possibly a RAY_ERROR. Refuses a nested call from inside a handler.
q_connect⚠
Open a TCP connection to a Q server and perform the login handshake. Returns a connection fd (>= 0), or a negative Q_ERR_* code.
q_decode⚠
Decompress (if needed) and deserialize a response body (wire header already stripped) into a freshly-owned object — possibly a RAY_ERROR carrying a Q server-side error. Touches the symbol table: engine thread only. Returns null on a decode failure with a short reason in err.
q_encode⚠
Serialize msg into a complete Q wire request (8-byte header + body). The buffer is malloc’d by C and must be released with libc::free. q_encode always stamps the header’s message-type byte as SYNC; a publisher retypes req[1] in place to send ASYNC or RESPONSE. Touches the symbol table: engine thread only.
q_exchange⚠
Send a pre-encoded request on fd and read the raw response body. Pure socket I/O — the half of q_send that a runtime with a global lock can perform with that lock released.
q_send⚠
Encode + exchange + decode: send msg and return the decoded response (possibly a RAY_ERROR), or null on a transport/serialization failure with a short reason written to err.
q_serve⚠
Register a Q-protocol listener on poll, bound to TCP port. Returns the poll selector id (>= 0), or -1 on failure.
ray_alloc⚠
ray_alloc_raw⚠
ray_aof_append⚠
ray_aof_close⚠
ray_aof_commit⚠
ray_aof_next_lsn⚠
ray_aof_open⚠
ray_aof_scan⚠
ray_bool⚠
ray_calloc_raw⚠
ray_clear_interrupt⚠
ray_data_slice_path⚠
ray_date⚠
ray_de⚠
ray_delete⚠
ray_dict_get⚠
ray_dict_keys⚠
ray_dict_len⚠
ray_dict_new⚠
ray_dict_remove⚠
ray_dict_upsert⚠
ray_dict_vals⚠
ray_env_bind⚠
ray_env_bind_flat⚠
ray_env_get⚠
ray_env_set⚠
ray_err_code⚠
ray_err_code_str⚠
ray_err_from_obj⚠
ray_error⚠
ray_error_free⚠
ray_error_msg⚠
ray_eval⚠
ray_eval_str⚠
ray_f32⚠
ray_f64⚠
ray_fmt⚠
ray_fn_unary⚠
ray_fn_vary⚠
ray_free⚠
ray_free_raw⚠
ray_get_parted_fn⚠
ray_get_splayed_fn⚠
ray_git_commit⚠
ray_guid⚠
ray_i16⚠
ray_i32⚠
ray_i64⚠
ray_insert⚠
ray_insert_fn⚠
ray_interrupted⚠
ray_ipc_close⚠
ray_ipc_connect⚠
ray_ipc_send⚠
ray_ipc_send_async⚠
ray_ipc_send_timeout⚠
ray_ipc_send_verbose⚠
ray_ipc_tx_info⚠
ray_lazy_materialize⚠
ray_list_append⚠
ray_list_get⚠
ray_list_insert_at⚠
ray_list_insert_many⚠
ray_list_new⚠
ray_list_set⚠
ray_obj_attrs⚠
ray_obj_type⚠
ray_poll_create⚠
ray_poll_destroy⚠
ray_poll_exit⚠
ray_poll_get⚠
ray_poll_run⚠
ray_poll_run_for⚠
ray_poll_set_restricted⚠
ray_progress_active⚠
ray_progress_dispatch_begin⚠
ray_progress_end⚠
ray_progress_label⚠
ray_progress_pump⚠
ray_progress_set_callback⚠
ray_progress_span_begin⚠
ray_progress_span_end⚠
ray_progress_span_phase⚠
ray_progress_span_set⚠
ray_progress_update⚠
ray_read_csv_fn⚠
ray_realloc_raw⚠
ray_release⚠
ray_request_interrupt⚠
ray_retain⚠
ray_retained_bytes⚠
ray_runtime_create⚠
ray_runtime_create_with_sym⚠
ray_runtime_create_with_sym_err⚠
ray_runtime_destroy⚠
ray_runtime_get_poll⚠
ray_runtime_set_poll⚠
ray_select⚠
ray_ser⚠
ray_set_splayed_fn⚠
ray_shallow_bytes⚠
ray_str⚠
ray_str_cmp⚠
ray_str_len⚠
ray_str_ptr⚠
ray_str_vec_append⚠
ray_str_vec_compact⚠
ray_str_vec_from_parts⚠
ray_str_vec_get⚠
ray_str_vec_insert_at⚠
ray_str_vec_set⚠
ray_sym⚠
ray_sym_bytes⚠
ray_sym_count⚠
ray_sym_destroy⚠
ray_sym_domain_count⚠
ray_sym_domain_find⚠
ray_sym_domain_runtime_lut⚠
ray_sym_domain_str⚠
ray_sym_ensure_cap⚠
ray_sym_find⚠
ray_sym_init⚠
ray_sym_intern⚠
ray_sym_intern_runtime⚠
ray_sym_load⚠
ray_sym_runtime_domain⚠
ray_sym_save⚠
ray_sym_str⚠
ray_sym_strings_borrow⚠
ray_sym_vec_adopt_domain⚠
ray_sym_vec_new⚠
ray_sys_ram_limit⚠
ray_sys_total_ram⚠
ray_table_add_col⚠
ray_table_col_name⚠
ray_table_get_col⚠
ray_table_get_col_idx⚠
ray_table_ncols⚠
ray_table_new⚠
ray_table_nrows⚠
ray_table_schema⚠
ray_table_set_col_idx⚠
ray_table_set_col_name⚠
ray_table_validate_rectangular⚠
ray_time⚠
ray_timestamp⚠
ray_timestamp_now_ns⚠
ray_typed_null⚠
ray_u8⚠
ray_update⚠
ray_update_fn⚠
ray_upsert⚠
ray_upsert_fn⚠
ray_vec_append⚠
ray_vec_append_raw⚠
ray_vec_concat⚠
ray_vec_from_raw⚠
ray_vec_get⚠
ray_vec_get_f64⚠
ray_vec_get_i64⚠
ray_vec_get_sym_id⚠
ray_vec_insert_at⚠
ray_vec_insert_many⚠
ray_vec_insert_vec_at⚠
ray_vec_is_null⚠
ray_vec_new⚠
ray_vec_set⚠
ray_vec_set_null⚠
ray_vec_set_null_checked⚠
ray_vec_slice⚠
ray_version_major⚠
ray_version_minor⚠
ray_version_patch⚠
ray_version_string⚠
ray_write_csv_fn⚠

Type Aliases§

ray_aof_scan_cb_t
ray_aof_t
ray_err_t
ray_event_fn
ray_io_fn
ray_poll_buf_t
ray_poll_data_fn
ray_poll_frame_t
ray_poll_t
ray_progress_cb
ray_read_fn
ray_runtime_t
ray_selector_t
ray_unary_fn
ray_vary_fn

Unions§

ray_t__bindgen_ty_1__bindgen_ty_1
ray_t__bindgen_ty_1__bindgen_ty_2