ArchAstro. SDK. Channel
(archastro v0.3.5)
Copy Markdown
A joined Phoenix Channel owned by an ArchAstro.SDK.Socket process.
Summary
Types
@type t() :: %ArchAstro.SDK.Channel{ join_response: ArchAstro.SDK.JSON.t() | struct(), module: module(), socket: GenServer.server(), topic: String.t() }
Functions
@spec join( GenServer.server(), String.t(), ArchAstro.SDK.JSON.object() | struct(), module(), ArchAstro.SDK.Codec.descriptor(), timeout() ) :: {:ok, t()} | {:error, ArchAstro.SDK.Error.reason()}
@spec leave(t(), timeout()) :: :ok | {:error, ArchAstro.SDK.Error.reason()}
@spec push( t(), String.t(), ArchAstro.SDK.JSON.object() | struct(), ArchAstro.SDK.Codec.descriptor(), timeout() ) :: {:ok, ArchAstro.SDK.JSON.t() | struct() | :ok} | {:error, ArchAstro.SDK.Error.reason()}
@spec subscribe(t(), String.t(), pid(), ArchAstro.SDK.Codec.descriptor()) :: :ok