Packages
phoenix_gen_api
0.0.9
2.22.0
2.21.1
2.21.0
2.20.1
2.20.0
2.19.0
2.18.1
2.18.0
2.17.1
2.17.0
2.16.0
2.15.0
2.14.0
2.13.0
2.12.0
2.11.0
2.10.0
2.9.1
2.9.0
2.8.0
2.7.0
2.6.1
2.6.0
2.5.0
2.4.0
2.3.0
2.2.0
2.1.1
2.1.0
2.0.1
2.0.0
1.2.0
1.1.3
1.1.2
1.1.1
1.1.0
1.0.1
1.0.0
0.2.1
0.2.0
0.1.1
0.1.0
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
A library for fast develop APIs in Elixir cluster, using Phoenix Channels for transport data, auto pull api configs from service nodes.
Current section
Files
Jump to
Current section
Files
lib/phoenix_gen_api/structs/stream_helper.ex
defmodule PhoenixGenApi.Structs.StreamHelper do
@moduledoc """
Support for send data to stream.
"""
alias __MODULE__
@typedoc "Stream helper struct."
@type t :: %__MODULE__{
stream_pid: pid(),
request_id: String.t(),
}
@derive Nestru.Decoder
defstruct [
# string, user's id in system.
:stream_pid,
# string, device id of user. can be
:request_id,
]
@doc """
Wrap result & send to stream.
"""
def send_result(stream = %StreamHelper{}, result) do
send(stream.stream_pid, {:result, result})
end
@doc """
Wrap last result & send to stream.
"""
def send_last_result(stream = %StreamHelper{}, result) do
send(stream.stream_pid, {:last_result, result})
end
@doc """
Wrap complete & send to stream.
"""
def send_complete(stream = %StreamHelper{}) do
send(stream.stream_pid, :complete)
end
@doc """
Wrap error & send to stream.
"""
def send_error(stream = %StreamHelper{}, error) do
send(stream.stream_pid, {:error, error})
end
end