Packages
sippet
1.0.16
1.0.16
1.0.15
1.0.14
1.0.13
1.0.12
1.0.11
1.0.10
1.0.9
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.9
0.5.8
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.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
An Elixir Session Initiation Protocol (SIP) stack.
Current section
Files
Jump to
Current section
Files
lib/sippet/transactions/server/state.ex
defmodule Sippet.Transactions.Server.State do
@moduledoc false
alias Sippet.Message, as: Message
alias Sippet.Message.RequestLine, as: RequestLine
alias Sippet.Transactions, as: Transactions
@typedoc "The server transaction key"
@type key :: Transactions.Server.Key.t()
@type t :: [
request: Message.request(),
key: key,
sippet: atom,
extras: %{}
]
defstruct request: nil,
key: nil,
sippet: nil,
extras: %{}
@doc """
Creates the server transaction state.
"""
def new(
%Message{start_line: %RequestLine{}} = incoming_request,
%Transactions.Server.Key{} = key,
sippet
)
when is_atom(sippet) do
%__MODULE__{
request: incoming_request,
key: key,
sippet: sippet
}
end
end