Stateful accumulator for reassembling DIMSE messages from PDV fragments.
Phases
:command— accumulating command set fragments:data— accumulating data set fragments (if CommandDataSetType != 0x0101):complete— message fully assembled
Summary
Types
@type phase() :: :command | :data | :complete
@type t() :: %Dimse.Message.Assembler{ command: map() | nil, command_buffer: iodata(), context_id: pos_integer() | nil, data_buffer: iodata(), phase: phase() }
Functions
@spec feed(t(), Dimse.Pdu.PresentationDataValue.t()) :: {:continue, t()} | {:complete, Dimse.Message.t()} | {:error, term()}
Feeds a PDV item into the assembler.
Returns:
{:continue, assembler}— more fragments needed{:complete, message}— message fully assembled{:error, reason}— protocol error
@spec new() :: t()
Creates a new assembler.