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 }