The Assembler implements 3 methods:
- new(): creates a new assembler
- fragment_message(): takes in input a reference to a message and returns (if the message is correctly serialized) a vec of fragments
- process_fragment(): takes in input a fragment, source id and session_id (fields of the packet). if the assembler has received all the fragments that form
- a message the method returns an Option otherwise it returns none.