package linda.server; import java.util.Collection; import java.rmi.server.UnicastRemoteObject; import java.rmi.*; import java.rmi.registry.*; import java.io.*; import linda.Callback; import linda.Linda; import linda.Tuple; import linda.shm.CentralizedLinda; /** * lindaServer */ public class LindaServer extends UnicastRemoteObject implements LindaRemote { Linda lindaInstance; public static void main(String[] args) { try { LindaServer ls = new LindaServer(); Registry registry = LocateRegistry.createRegistry(Integer.parseInt(args[1])); Naming.rebind(args[0], ls); System.out.println("L'instance Linda a été publié sur le registre (" + args[0] + ") !\n"); } catch (Exception e) { e.printStackTrace(); } } public LindaServer() throws RemoteException { this.lindaInstance = new CentralizedLinda(); } public void write(Tuple t) { lindaInstance.write(t); System.out.println("Le tuple " + t + " a été ajouté au TupleSpace !"); } public Tuple take(Tuple template) throws RemoteException { return lindaInstance.take(template); } public Tuple read(Tuple template) throws RemoteException { return lindaInstance.read(template); } public Tuple tryTake(Tuple template) throws RemoteException { return lindaInstance.tryTake(template); } public Tuple tryRead(Tuple template) throws RemoteException { return lindaInstance.tryRead(template); } public Collection takeAll(Tuple template) throws RemoteException { return lindaInstance.takeAll(template); } public Collection readAll(Tuple template) throws RemoteException { return lindaInstance.readAll(template); } public void eventRegister(Linda.eventMode mode, Linda.eventTiming timing, Tuple template, Callback callback) throws RemoteException { lindaInstance.eventRegister(mode, timing, template, callback); } public void debug(String prefix) throws RemoteException { lindaInstance.debug(prefix); } }