code: public void start() throws IOException{
         remote_sock.setSoTimeout(iddleTimeout);
         client_sock.setSoTimeout(iddleTimeout);
  
         log("Starting UDP relay server on "+relayIP+":"+relayPort);
         log("Remote socket "+remote_sock.getLocalAddress()+":"+
                              remote_sock.getLocalPort());
  
         pipe_thread1 = new Thread(this,"pipe1");
         pipe_thread2 = new Thread(this,"pipe2");
  
         lastReadTime = System.currentTimeMillis();
  
         pipe_thread1.start();
         pipe_thread2.start();
      }
docs: Starts udp relay server.
  Spawns two threads of execution and returns.