forked from Qortal/qortal
As per work done by szisti in PR#45: Extracted network 'Tasks' to their own classes. Network.NetworkProcessor reduced to only producing Tasks. Improved usage of SocketChannel interest-ops. Eventually this might lead to reducing task-producing synchronization lock into more granular locks. Work still needed to convert sending messages to a queue and to make use of OP_WRITE instead of sleeping to wait for socket buffer to empty. Disabled PeerConnectTask producer from checking against connected peers via DNS as it's too slow. Swapped Peer's replyQueues from SynchronizedMap(wrapped HashMap) to ConcurrentHashMap. Other minor changes within networking.