defprotocol Ankh.HTTP2.Frame.Splittable do
@moduledoc """
Protocol for splitting frames after encoding to wire format
"""
alias Ankh.HTTP2.Frame
@fallback_to_any true
@typedoc "Data type conforming to the `Ankh.HTTP2.Frame.Splittable` protocol"
@type t :: any()
@doc """
Returns N frames for `frame` with the specified `frame_size`.
"""
@spec split(t(), non_neg_integer()) :: [Frame.t()]
def split(frame, frame_size)
end
defimpl Ankh.HTTP2.Frame.Splittable, for: Any do
def split(frame, _), do: [frame]
end