The purpose of this page is just to serve as todo or scratch pad for the development project and to list and share some ideas.

After making changes to the code and/or documentation, this page should remain on the website as a reminder of what was done and how it was done. However, there is no guarantee that this page is updated in the end to reflect the final state of the project

So chances are that this page is considerably outdated and irrelevant. The notes here might not reflect the current state of the code, and you should not use this as serious documentation.

Clean up the buffer implementation

The public interface should consist of

  • ft_read_header
  • ft_read_event, should have option blocking=0/1, timeout=number
  • ft_read_data, should have option blocking=0/1, timeout=number

The ft_read_data and event functions can make use of ft_poll_buffer (which is currently public, but eventually should be moved to fileio/private)

fileformat in ft_read_xxx should only be one type of fcdc_buffer, what is offline/online?

ft_read_header should be made faster by smarter handling of the additional data that does not change over subsequent calls (i.e the chunks). Use a persistent representation of the chunks (and hdr.orig, hdr.label, hdr.grad).

Stuff that is worth implementing in the next version of the buffer is

  • Better error reporting, see proposed v2
  • GET_HDR_WITHOUT_CHUNKS