Example #1
0
 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);
     }
 }
Example #2
0
 void m_exchange_TupleTaken(ITupleSpace space, ITuple tuple)
 {
     if (tuple.Equals(m_tuple))
     {
         m_exchange.TupleTaken -= m_myEvent;
         m_idec.Resume();
     }
 }
Example #3
0
        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"); }
            }
        }
Example #4
0
        //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;
        }
Example #5
0
 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();
         }
     }
 }
Example #6
0
        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();
            }
        }
Example #7
0
        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);
        }
Example #8
0
        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);
        }
Example #9
0
 private void InitTest()
 {
     m_tsut    = new Exchange(m_exec);
     m_results = new ArrayList();
     m_exec.Reset();
 }
Example #10
0
 public void OnTaken(ITupleSpace ts)
 {
 }
Example #11
0
 public void OnRead(ITupleSpace ts)
 {
 }
Example #12
0
 public void OnPosted(ITupleSpace ts)
 {
 }