001    package cnslab.cnsnetwork;
002    
003    import jpvm.*;
004    import java.util.Scanner;
005
006    /***********************************************************************
007    * Deprecated.
008    * 
009    * @version
010    *   $Date: 2012-08-04 13:43:22 -0500 (Sat, 04 Aug 2012) $
011    *   $Rev: 104 $
012    *   $Author: croft $
013    * @author
014    *   Yi Dong
015    * @author
016    *   David Wallace Croft
017    ***********************************************************************/
018    @Deprecated 
019    public class KeyInput implements Runnable
020    {
021    Thread t;
022    Scanner keyscan = new Scanner(System.in);
023    String keyPressed="";
024    Network network;
025
026    public KeyInput(Network network) {
027      this.network = network;
028      t = new Thread(this);
029      t.setDaemon(true);
030      t.start();
031    }
032
033    public void run() {
034      try {
035        while(!keyPressed.equals("q"))
036        {
037          keyPressed = keyscan.nextLine();
038          Thread.sleep(1);
039          if(keyPressed.equals("q"))
040          {
041            if(network.info!=null)
042            {
043              jpvmBuffer buff = new jpvmBuffer();
044              buff.pack(0);
045              network.info.jpvm.pvm_mcast(buff,network.info.tids,network.info.numTasks,NetMessageTag.stopSig); //send stop signal
046              Thread.sleep(2000);
047              network.info.jpvm.pvm_send(buff,network.info.myJpvmTaskId,NetMessageTag.stopSig); //send stop signal
048            }
049            else
050            {
051              network.stopRun();
052            }
053          }
054          //                    System.out.println(keyPressed);
055        }
056      }
057      catch (jpvmException ex) {
058        System.out.println("jpvm error keyinput...");
059      }
060      catch (InterruptedException e) {
061        System.out.println("Listener interrupted...");
062      }
063      //System.out.println ("Stop signal received - finishing sequence ...");
064    }
065    }