2 repositorios
Generic trait interfaces used to map internal types to the Erlang Term Format.
Distinct from Erlang Term Format Encoding: Distinct from general ETF encoding by using Rust's trait system for a shared conversion interface.
Explore 2 awesome GitHub repositories matching data & databases · Trait-Based Term Conversions. Refine with filters or upvote what's useful.
Rustler es un kit de herramientas e interfaz para construir extensiones nativas seguras y de alto rendimiento que integran código Rust con la máquina virtual BEAM. Proporciona un puente para escribir funciones nativas en Rust que se integran con Erlang y Elixir. El proyecto se centra en evitar bloqueos de la máquina virtual al capturar pánicos de Rust durante la ejecución de funciones nativas. Utiliza una interfaz segura para encapsular punteros crudos y proporcionar abstracciones seguras para tipos para extensiones nativas. El kit de herramientas cubre el marshalling de datos entre lenguajes a través de la conversión de términos basada en rasgos (traits) y gestiona el ciclo de vida de los objetos de memoria mediante la gestión de recursos contados por referencia. Estas capacidades permiten el reemplazo de código interpretado con funciones de Rust compiladas para mejorar la velocidad de ejecución.
Uses generic traits to encode and decode data between Rust types and Erlang terms.
Rustler es un envoltorio de funciones nativas e interfaz de funciones extranjeras (FFI) que permite el desarrollo de extensiones de alto rendimiento para la máquina virtual BEAM. Sirve como puente para escribir funciones nativas en Rust que pueden ser llamadas desde entornos Erlang. El proyecto se centra en mantener la seguridad de la memoria para evitar bloqueos del sistema y corrupción de memoria al ejecutar código compilado. Esto se logra envolviendo llamadas nativas en abstracciones seguras y aplicando las reglas de propiedad y préstamo de Rust a la gestión de memoria externa y objetos de datos estructurados. La biblioteca proporciona mecanismos para la conversión de datos entre tipos de lenguaje y la gestión de objetos de recursos. Estas capacidades permiten pasar referencias a datos estructurados a código externo con liberación automática de memoria a través del recolector de basura del tiempo de ejecución.
Uses Rust traits to provide a shared interface for encoding and decoding data types between Rust and the Erlang Term Format.