This module calls external NIF in C in order to fetch mseed data efficiently
Summary
Functions
Fetch miniSeed records corresponding the the DataFile given in parameter. This will use a NIF to make efficient use of the libmseed.
Function called on module load. It declares the shared library that contains the functions our NIF defines.
Fetch all miniseed records in parallel. Stream the output data to caller function The idea is to minimize latency when fetching data Look for https://hexdocs.pm/elixir/Stream.html Read https://medium.com/elemental-elixir/processing-very-large-text-files-in-elixir-b631792eed59
Functions
@spec fetch_msrecords(Wsdataselect.DataFile.t()) :: {:ok, String.t(), DateTime.t(), :binary} | {:error, String.t(), DateTime.t(), String.t()}
Fetch miniSeed records corresponding the the DataFile given in parameter. This will use a NIF to make efficient use of the libmseed.
Function called on module load. It declares the shared library that contains the functions our NIF defines.
@spec stream_data([Wsdataselect.DataFile.t()]) :: {:ok, [:binary]}
Fetch all miniseed records in parallel. Stream the output data to caller function The idea is to minimize latency when fetching data Look for https://hexdocs.pm/elixir/Stream.html Read https://medium.com/elemental-elixir/processing-very-large-text-files-in-elixir-b631792eed59