Implement Blocking and Segmentation according to the CCSDS Standards
Currently in our implementation we either have blocking or segmantaion when creating a Transfer Frame. This means that we don't fully take advantage of the data field of the Transfer Frame and most of the times fill the data field with idle data. According to the standard we should:
- Block packets until we find a packet which does not fit the data field and then segment it.
- When segmentation of a packet happens it should be followed also by blocking according to the previous point
Essntially we should switch between blocking and segmentation until we fill the data field (as long as we have packets of course)
Important Note: The First Header Pointer should be also implemented to show the position of the fist packet in Transfer Frame Data Field.