docs: @SuppressWarnings("resource")
    public void run() {
      Thread.currentThread().setPriority(Thread.MAX_PRIORITY-1);
      DatagramChannel sock = H2O._udpSocket, errsock = null;
      boolean saw_error = false;
  
      while( true ) {
        try {
          // Cleanup from any prior socket failures.  Rare unless we're really sick.
          if( errsock != null ) { // One time attempt a socket close
            final DatagramChannel tmp2 = errsock; errsock = null;
            tmp2.close();       // Could throw, but errsock cleared for next pass
          }
          if( saw_error ) Thread.sleep(1000); // prevent deny-of-service endless socket-creates
          saw_error = false;
  
          // ---
          // Common-case setup of a socket
          if( sock == null ) {
            sock = DatagramChannel.open();
            sock.socket().bind(H2O.SELF._key);
          }
  
          // Receive a packet & handle it
          basic_packet_handling(new AutoBuffer(sock));
  
        } catch( java.nio.channels.AsynchronousCloseException ex ) {
          break;                  // Socket closed for shutdown
        } catch( java.nio.channels.ClosedChannelException ex ) {
          break;                  // Socket closed for shutdown
        } catch( Exception e ) {
          // On any error from anybody, close all sockets & re-open
          Log.err("UDP Receiver error on port "+H2O.H2O_PORT,e);
          saw_error = true;
          errsock  = sock ;  sock  = null; // Signal error recovery on the next loop
        }
      }
    }