import org.vamsas.client.ClientHandle;
import org.vamsas.client.simpleclient.ClientsFile;
import org.vamsas.client.simpleclient.FileWatcher;
+import org.vamsas.client.simpleclient.Lock;
public class ClientsFileTest {
private static Vector commands;
ch=new ClientHandle(args[argc], args[argc+1]);
ch.setClientUrn(args[argc+2]);
argc+=3;
- cfhand.removeClient(ch);
+ cfhand.removeClient(ch, null);
System.out.println("Client removed (apparently)");
break;
case 2:
// watch
FileWatcher w=new FileWatcher(cf);
while (cf.exists()) {
- if (w.hasChanged()) {
- ClientHandle[] cl = cfhand.retrieveClientList();
+ // get watcher's lock to ensure state change is fixed for retrieval
+ Lock chlock=w.getChangedState();
+ if (chlock!=null) {
+ ClientHandle[] cl = cfhand.retrieveClientList(chlock);
System.out.println("-- Watching "+cf.getName());
//while (w.hasChanged())
// ;