I believe we should reuse connections when we can. For
instance, both the server and the client sides use the
AbstractCommLayer connect() method to get a socket.
What if we keep them open for a while, hoping we will
need them again soon? How does the peer know when to
close a connection? Maybe he's the one who closes it:
- A SignedConnection is created for an incoming connection.
- it does its first iteration and waits about 5 seconds
for another message.
- if another message comes in, cool!
- if not, we close the connection. The initiator
catches some IOExceptions and creates a new socket if
he needs the same host again.
It would be useless if the alive period expired
everytime! It is possible to develop a way to prevent it.