Distributed throughput optimization over P2P mesh networks using diffusion adaptation