public NetworkHandler(GetSocketAsync getSocketAsync) : this()
 {
     _getSocketAsync = getSocketAsync;
 }
 public NetworkHandler(GetSocket getSocket) : this()
 {
     _getSocketAsync = r => Task.FromResult(getSocket(r));
 }
 public NetworkHandler(Socket socket) : this()
 {
     _getSocketAsync = r => Task.FromResult(socket);
 }
 public NetworkHandler(GetSocketAsync getSocketAsync) : this()
 {
     _getSocketAsync = getSocketAsync;
 }
 public NetworkHandler(GetSocket getSocket) : this()
 {
     _getSocketAsync = r => Task.FromResult(getSocket(r));
 }
 public NetworkHandler(Socket socket) : this()
 {
     _getSocketAsync = r => Task.FromResult(socket);
 }