Packages
ferricstore
0.5.1
0.11.14
0.11.12
0.11.11
0.11.10
0.11.9
0.11.8
0.11.7
0.11.6
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.3
0.10.2
0.10.1
0.10.0
0.9.1
0.9.0
0.8.0
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.0
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.3
0.4.2
0.4.1
0.4.0
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.2.0
0.1.0
FerricFlow durable workflows and queues with native-protocol storage, Raft durability, and Bitcask persistence.
Current section
Files
Jump to
Current section
Files
lib/ferricstore/resp/parser_nif.ex
defmodule Ferricstore.Resp.ParserNif do
@moduledoc """
Rust NIF binding for RESP3 protocol parsing.
Parses raw RESP3 wire bytes into Elixir terms. There is no Elixir fallback parser.
"""
version = Mix.Project.config()[:version]
use RustlerPrecompiled,
otp_app: :ferricstore,
crate: "resp_parser_nif",
base_url: "https://github.com/ferricstore/ferricstore/releases/download/v#{version}",
version: version,
nif_versions: ["2.16"],
targets: ~w(
aarch64-apple-darwin
x86_64-apple-darwin
aarch64-unknown-linux-gnu
x86_64-unknown-linux-gnu
aarch64-unknown-linux-musl
x86_64-unknown-linux-musl
)
@spec parse(binary(), non_neg_integer()) :: {:ok, list(), binary()} | {:error, term()}
def parse(_data, _max_value_size), do: :erlang.nif_error(:nif_not_loaded)
@spec parse_commands(binary(), non_neg_integer()) :: {:ok, list(), binary()} | {:error, term()}
def parse_commands(_data, _max_value_size), do: :erlang.nif_error(:nif_not_loaded)
end