/*
  * (non-Javadoc)
  *
  * @see io.socket.IOTransport#sendBulk(java.lang.String[])
  */
 @Override
 public void sendBulk(String[] texts) throws IOException {
   queue.addAll(Arrays.asList(texts));
   if (isBlocked()) {
     pollThread.interrupt();
     urlConnection.disconnect();
   }
 }
 private void stopPollThread() {
   if (pollThread != null) {
     pollThread.interrupt();
     try {
       pollThread.join(2000);
     } catch (InterruptedException e) {
       // XXX
     } finally {
       pollThread = null;
     }
   }
 }
 public void machineStateChanged(MachineStateChangeEvent evt) {
   MachineState state = evt.getState();
   // TODO: Do we handle reset correctly?
   if (state.isBuilding() || !state.isConnected()) {
     if (updateThread != null) {
       updateThread.interrupt();
     }
     if (pollThread != null) {
       pollThread.interrupt();
     }
     SwingUtilities.invokeLater(
         new Runnable() {
           public void run() {
             dispose();
           }
         });
   }
 }
 public void windowClosing(WindowEvent e) {
   updateThread.interrupt();
   pollThread.interrupt();
 }
 /*
  * (non-Javadoc)
  *
  * @see io.socket.IOTransport#disconnect()
  */
 @Override
 public void disconnect() {
   this.setConnect(false);
   pollThread.interrupt();
 }