Packages
ankh
0.7.2
0.17.0
0.16.0
0.15.0
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.13.0
0.12.1
0.12.0
0.11.0
0.10.0
0.9.0
0.8.11
0.8.10
0.8.9
0.8.8
0.8.7
0.8.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.0
0.5.3
0.5.2
0.5.1
0.5.0
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.1
0.3.0
0.1.1
0.1.0
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
Pure Elixir HTTP/2 implementation
Current section
Files
Jump to
Current section
Files
lib/ankh/frame/ping/flags.ex
defmodule Ankh.Frame.Ping.Flags do
@moduledoc false
@type t :: %__MODULE__{ack: boolean}
defstruct ack: false
end
defimpl Ankh.Frame.Encodable, for: Ankh.Frame.Ping.Flags do
def decode(flags, <<_::7, 1::1>>, _), do: {:ok, %{flags | ack: true}}
def decode(flags, <<_::7, 0::1>>, _), do: {:ok, %{flags | ack: false}}
def decode(_flags, _data, _options), do: {:error, :decode_error}
def encode(%{ack: true}, _), do: {:ok, <<0::7, 1::1>>}
def encode(%{ack: false}, _), do: {:ok, <<0::7, 0::1>>}
def encode(_flags, _options), do: {:error, :encode_error}
end