Skip to content
Michael Frey edited this page Jun 19, 2018 · 2 revisions

This Page describes the upcomming development and things TODO.

TODO

  • Automatic Build and functionality testing must be "recreated" (sth like Travis)

    • Build test, call cmake (DONE, see semaphoreci)

    • Unit tests (see PROJECTS)

    • Simple packet transmission and forwarding test over two nodes

    • Simple NFN test?

  • For IoT Scenarios, use of malloc should be reduced (see PROJECTS).

    • Replace with static memory, allocated outside (before function call) and hand over pointers.
  • Code for MGMT must be updated (see PROJECTS)

    • Either remove NDNTLV code or change entire MGMT to NDNTLV
  • Check for corner cases:

    • Test with broken packets (maybe Fuzzing)

    • Search for possible bufferoverruns

  • Remove all remaining global variables

  • Introduce style guide and naming conventions (SEE PROJECTS)

  • Replace magic numbers with constants (see PROJECTS)

  • Reduce number of ambiguous return codes, i.e. there are functions which just return 0 for basically everything (see PROJECTS)

  • Replace unsafe function calls, e.g. strcpy vs. strncpy (see PROJECTS)

Wish List

  • Replace duplicate code where applicable, e.g. ccnl_iottlv_varlenint vs. ccnl_ndntlv_varlenint
  • Make use of uint{8,16,32}_t and int{8,16,32}_t where applicable over general use of int
  • Introduce sizeof(int32_t) (or the desired size) for memcpy calls over, e.g. a plain memcpy(destination, source, 4);, make use of size_t

Wish List Features

  • Extend NDN Support
    • Provide support for "Strategy Choice Table" (basically a mapping of different forwarders for different namespaces)

Done

  • Freeze NFN-scala and release a last NFN-enabled CCN-lite version.
    • Remove NFN code from CCN-lite. This would reduce complexity and enhance usability for the core users.
    • This way we can get rid of a lot of IFDEFs
    • NFN will be continued in PiCN using new Syntax and single executable.