There's actually no need to use an ordered data structure at all.
EMQX file transfer over MQTT
$ rebar3 compile