30 lines
760 B
Elixir
30 lines
760 B
Elixir
|
# Pleroma: A lightweight social networking server
|
||
|
# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
|
||
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||
|
|
||
|
defmodule Pleroma.Gun.Conn do
|
||
|
@moduledoc """
|
||
|
Struct for gun connection data
|
||
|
"""
|
||
|
@type gun_state :: :up | :down
|
||
|
@type conn_state :: :active | :idle
|
||
|
|
||
|
@type t :: %__MODULE__{
|
||
|
conn: pid(),
|
||
|
gun_state: gun_state(),
|
||
|
conn_state: conn_state(),
|
||
|
used_by: [pid()],
|
||
|
last_reference: pos_integer(),
|
||
|
crf: float(),
|
||
|
retries: pos_integer()
|
||
|
}
|
||
|
|
||
|
defstruct conn: nil,
|
||
|
gun_state: :open,
|
||
|
conn_state: :init,
|
||
|
used_by: [],
|
||
|
last_reference: 0,
|
||
|
crf: 1,
|
||
|
retries: 0
|
||
|
end
|