This isn't really because of individual tests "not shutting down processes cleanly" - its because the repo - which runs throughout the tests - isn't shut down cleanly by ant. I might be able to fix this. I'm moving it to a separate issue since its unrelated to the EndToEnd tests.
Yes, the RMI files get ugly since tests don't shut down processes cleanly even when everything in the tests succeeds.
It fails validation if no action is specified. However it can be used for a prefix registration response also which by definition doesn't specify an action.
CCNOutputStream calls startWrite (which calls the flow controller's startWrite) at the time the stream is created. If the stream is going to a repository, the repo will immediately respond to the start-write, and express interest in the first segment of the stream -- however it will only try 3 times, and if there is no data available it will give up. The startWrite call should probably not be made until there is at least 1 segment available to write.
After both libraries have been changed to use the local service discovery protocol for learning the local ccnd's public key in order to do prefix registration, the /ccnx/ping responder should be removed to reduce the associated DDOS hazard.
Paul, I notice that our build server has accumulated 8762 .rmi-server-repository-*.obj files in the build user's home directory. Perhaps those are contributing to the intermittent errors? It at least indicates that the repos started by the tests are getting shut down in ways that fail to remove these files.
The current PrefixRegistrationManager only accepts a URI encoded string for the prefix to register.
It should also be possible to use a ContentName here.
A start on this is now available on github.
Adds InterestLifetime to libccn and ccnd.
So far this is a partial implementation - nothing has been added to the java
library, there are limits on the lifetimes that can be handled, the interest
suppression doesn't account for long liftimes as it should. But it's a start.
See ccnget.c for some code that sets the InterestLifetime in an interest.
Currently the max supported value is about 35 minutes (number of microseconds in an int).
This is mostly to have an easy way of generating these to exercise ccnd.
For now, values larger than 30 seconds do not work correctly.