Strom.GenMix (strom v0.9.3)

View Source

Generic functionality used by other components.

Summary

Types

t()

@type t() :: %Strom.GenMix{
  accs: term(),
  before_stop: term(),
  buffer: term(),
  chunk: term(),
  clients: term(),
  composite: term(),
  data: term(),
  data_size: term(),
  input_streams: term(),
  inputs: term(),
  no_wait: term(),
  opts: term(),
  outputs: term(),
  pid: term(),
  process_chunk: term(),
  stopping: term(),
  tasks: term(),
  tasks_run: term(),
  tasks_started: term(),
  waiting_clients: term(),
  waiting_tasks: term()
}

Functions

call(flow, gm)

@spec call(map(), map()) :: map() | no_return()

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

process_chunk(input_stream_name, chunk, outputs, atom)

@spec process_chunk(atom(), list(), Strom.flow(), any()) ::
  {Strom.flow(), boolean(), any()}

ready_to_finish?(gm)

run_tasks(gm_pid, output_name)

@spec run_tasks(pid(), atom()) :: :ok

start(gm)

@spec start(t()) :: t()

start_link(gm)

start_tasks(gm_pid, input_streams)

@spec start_tasks(pid(), Strom.flow()) :: {pid(), map()}

state(pid)

@spec state(pid()) :: t()

stop(gm)

@spec stop(any()) :: any()

transfer_tasks(gm_pid, new_tasks, all_or_old)

@spec transfer_tasks(pid(), map(), atom()) :: :ok