Current section

Files

Jump to
sippet lib sippet transactions server state.ex
Raw

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,
extras: %{}
]
defstruct [
request: nil,
key: nil,
extras: %{}
]
@doc """
Creates the server transaction state.
"""
def new(%Message{start_line: %RequestLine{}} = incoming_request,
%Transactions.Server.Key{} = key) do
%__MODULE__{
request: incoming_request,
key: key
}
end
end