public void Crash(string processName) { try { Process process = processNames[processName]; if (process.Type1 == Process.Type.CLIENT_XL || process.Type1 == Process.Type.CLIENT_SMR) { Console.WriteLine("You can't crash Clients"); } else if (process.Type1 == Process.Type.SERVER_SMR) { ITupleSpace smrServer = (ITupleSpace)Activator.GetObject(typeof(ITupleSpace), process.Url); smrServer.Crash(); } else if (process.Type1 == Process.Type.SERVER_XL) { ITupleSpaceXL xlServer = (ITupleSpaceXL)Activator.GetObject(typeof(ITupleSpaceXL), process.Url); xlServer.Crash(); } } catch (System.Net.Sockets.SocketException) { Console.WriteLine("Server with process name " + processName + " has crashed."); processNames.Remove(processName); } }
void m_exchange_TupleTaken(ITupleSpace space, ITuple tuple) { if (tuple.Equals(m_tuple)) { m_exchange.TupleTaken -= m_myEvent; m_idec.Resume(); } }
public void Write(Tuple tuple) { ITupleSpace tupleSpace = null; foreach (string i in this.GetView()) { try { tupleSpace = (ITupleSpace)Activator.GetObject(typeof(ITupleSpace), i); tupleSpace.ItemCount(); tupleSpace.write(tuple); }catch (Exception) { Console.WriteLine("Server with address: " + i + "has crashed"); } } }
//TODO: change this url. it should be the client's public ClientApi(string url, string scriptFile) { Channel = new TcpChannel(); ChannelServices.RegisterChannel(Channel, false); TupleSpace = (ITupleSpace)Activator.GetObject( typeof(ITupleSpace), String.Format("tcp://{0}/TupleSpace", url)); if (TupleSpace == null) { System.Console.WriteLine("Could not locate server"); return; } ScriptFileName = scriptFile; }
public void Status() { foreach (KeyValuePair <string, Process> KVP in processNames) { Console.WriteLine("Status: " + KVP.Key); if (KVP.Value.Type1 == Process.Type.SERVER_SMR) { ITupleSpace smrServer = (ITupleSpace)Activator.GetObject(typeof(ITupleSpace), KVP.Value.Url); smrServer.Status(); } if (KVP.Value.Type1 == Process.Type.SERVER_XL) { ITupleSpaceXL XLServer = (ITupleSpaceXL)Activator.GetObject(typeof(ITupleSpaceXL), KVP.Value.Url); XLServer.Status(); } } }
public void Unfreeze(string processName) { Process process = processNames[processName]; if (process.Type1 == Process.Type.CLIENT_XL || process.Type1 == Process.Type.CLIENT_SMR) { Console.WriteLine("Clients can't be Unfrozen"); } else if (process.Type1 == Process.Type.SERVER_SMR) { ITupleSpace smrServer = (ITupleSpace)Activator.GetObject(typeof(ITupleSpace), process.Url); smrServer.Unfreeze(); } else if (process.Type1 == Process.Type.SERVER_XL) { ITupleSpaceXL xlServer = (ITupleSpaceXL)Activator.GetObject(typeof(ITupleSpaceXL), process.Url); xlServer.Unfreeze(); } }
public Tuple Take(Tuple tuple) { ITupleSpace tupleSpace = null; foreach (string i in this.GetView()) { try { tupleSpace = (ITupleSpace)Activator.GetObject(typeof(ITupleSpace), i); tupleSpace.ItemCount(); Tuple response = null; response = tupleSpace.take(tuple); if (response != null) { return(response); } }catch (Exception) { Console.WriteLine("Server with address: " + i + "has crashed"); } } return(null); }
public List <string> GetView() { List <string> view = new List <string>(); ITupleSpace tupleSpace = null; foreach (string serverPath in servers) { try { tupleSpace = (ITupleSpace)Activator.GetObject(typeof(ITupleSpace), serverPath); tupleSpace.ItemCount(); } catch (Exception) { tupleSpace = null; } if (tupleSpace != null) { view.Add(serverPath); } } return(view); }
private void InitTest() { m_tsut = new Exchange(m_exec); m_results = new ArrayList(); m_exec.Reset(); }
public void OnTaken(ITupleSpace ts) { }
public void OnRead(ITupleSpace ts) { }
public void OnPosted(ITupleSpace ts) { }