I've also put in a lot of backend work in order to implement "keep
alive" messages, and keep track of peers who stop sending messages.
Plans for the next week:
Put in a rate-limiting algorithm to allow for basic controlling of
download/upload speed. This should take a while.
At the moment there is a severe (but not critical) bug in the
multithreading which allows one method to set an object = null while
another method is working on that object. I can imagine fixing this bug
taking quite a while if yesterday is anything to go by.
What i'm going to do is ignore it for the moment, and concentrate on
getting accurate download/upload speed statistics and record the
downloaded/uploaded byte counts accurately within the library.