summaryrefslogtreecommitdiff
path: root/cs/demo/Ice/session/Client.cs
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2007-02-01 17:09:49 +0000
committerBernard Normier <bernard@zeroc.com>2007-02-01 17:09:49 +0000
commitabada90e3f84dc703b8ddc9efcbed8a946fadead (patch)
tree2c6f9dccd510ea97cb927a7bd635422efaae547a /cs/demo/Ice/session/Client.cs
parentremoving trace message (diff)
downloadice-abada90e3f84dc703b8ddc9efcbed8a946fadead.tar.bz2
ice-abada90e3f84dc703b8ddc9efcbed8a946fadead.tar.xz
ice-abada90e3f84dc703b8ddc9efcbed8a946fadead.zip
Expanded tabs into spaces
Diffstat (limited to 'cs/demo/Ice/session/Client.cs')
-rwxr-xr-xcs/demo/Ice/session/Client.cs358
1 files changed, 179 insertions, 179 deletions
diff --git a/cs/demo/Ice/session/Client.cs b/cs/demo/Ice/session/Client.cs
index 2ab470a7ef9..b34e5472bf4 100755
--- a/cs/demo/Ice/session/Client.cs
+++ b/cs/demo/Ice/session/Client.cs
@@ -16,193 +16,193 @@ public class Client : Ice.Application
{
class SessionRefreshThread
{
- public SessionRefreshThread(Ice.Logger logger, int timeout, SessionPrx session)
- {
- _logger = logger;
- _session = session;
- _timeout = timeout;
- _terminated = false;
- }
-
- public void run()
- {
- lock(this)
- {
- while(!_terminated)
- {
- System.Threading.Monitor.Wait(this, _timeout);
- if(!_terminated)
- {
- try
- {
- _session.refresh();
- }
- catch(Ice.Exception ex)
- {
- _logger.warning("SessionRefreshThread: " + ex);
- _terminated = true;
- }
- }
- }
- }
- }
-
- public void terminate()
- {
- lock(this)
- {
- _terminated = true;
- System.Threading.Monitor.Pulse(this);
- }
- }
-
- private Ice.Logger _logger;
- private SessionPrx _session;
- private int _timeout;
- private bool _terminated;
+ public SessionRefreshThread(Ice.Logger logger, int timeout, SessionPrx session)
+ {
+ _logger = logger;
+ _session = session;
+ _timeout = timeout;
+ _terminated = false;
+ }
+
+ public void run()
+ {
+ lock(this)
+ {
+ while(!_terminated)
+ {
+ System.Threading.Monitor.Wait(this, _timeout);
+ if(!_terminated)
+ {
+ try
+ {
+ _session.refresh();
+ }
+ catch(Ice.Exception ex)
+ {
+ _logger.warning("SessionRefreshThread: " + ex);
+ _terminated = true;
+ }
+ }
+ }
+ }
+ }
+
+ public void terminate()
+ {
+ lock(this)
+ {
+ _terminated = true;
+ System.Threading.Monitor.Pulse(this);
+ }
+ }
+
+ private Ice.Logger _logger;
+ private SessionPrx _session;
+ private int _timeout;
+ private bool _terminated;
};
public override int run(string[] args)
{
- string name;
- do
- {
- Console.Out.Write("Please enter your name ==> ");
- Console.Out.Flush();
-
- name = Console.In.ReadLine();
- if(name == null)
- {
- return 1;
- }
- name = name.Trim();
- }
- while(name.Length == 0);
-
- Ice.ObjectPrx basePrx = communicator().propertyToProxy("SessionFactory.Proxy");
- SessionFactoryPrx factory = SessionFactoryPrxHelper.checkedCast(basePrx);
- if(factory == null)
- {
- Console.Error.WriteLine("invalid proxy");
- return 1;
- }
-
- SessionPrx session = factory.create(name);
-
- SessionRefreshThread refresh = new SessionRefreshThread(communicator().getLogger(), 5000, session);
- Thread refreshThread = new Thread(new ThreadStart(refresh.run));
- refreshThread.Start();
-
- ArrayList hellos = new ArrayList();
-
- menu();
-
- try
- {
- bool destroy = true;
- bool shutdown = false;
- while(true)
- {
- Console.Out.Write("==> ");
- Console.Out.Flush();
- string line = Console.In.ReadLine();
- if(line == null)
- {
- break;
- }
- if(line.Length > 0 && Char.IsDigit(line[0]))
- {
- int index = Int32.Parse(line);
- if(index < hellos.Count)
- {
- HelloPrx hello = (HelloPrx)hellos[index];
- hello.sayHello();
- }
- else
- {
- Console.Out.WriteLine("Index is too high. " + hellos.Count +
- " hello objects exist so far.\n" +
- "Use `c' to create a new hello object.");
- }
- }
- else if(line.Equals("c"))
- {
- hellos.Add(session.createHello());
- Console.Out.WriteLine("Created hello object " + (hellos.Count - 1));
- }
- else if(line.Equals("s"))
- {
- destroy = false;
- shutdown = true;
- break;
- }
- else if(line.Equals("x"))
- {
- break;
- }
- else if(line.Equals("t"))
- {
- destroy = false;
- break;
- }
- else if(line.Equals("?"))
- {
- menu();
- }
- else
- {
- Console.Out.WriteLine("Unknown command `" + line + "'.");
- menu();
- }
- }
-
- //
- // The refresher thread must be terminated before destroy is
- // called, otherwise it might get ObjectNotExistException. refresh
- // is set to 0 so that if session.destroy() raises an exception
- // the thread will not be re-terminated and re-joined.
- //
- refresh.terminate();
- refreshThread.Join();
- refresh = null;
-
- if(destroy)
- {
- session.destroy();
- }
- if(shutdown)
- {
- factory.shutdown();
- }
- }
- catch(System.Exception)
- {
- //
- // The refresher thread must be terminated in the event of a
- // failure.
- //
- if(refresh != null)
- {
- refresh.terminate();
- refreshThread.Join();
- refresh = null;
- }
- throw;
- }
-
- return 0;
+ string name;
+ do
+ {
+ Console.Out.Write("Please enter your name ==> ");
+ Console.Out.Flush();
+
+ name = Console.In.ReadLine();
+ if(name == null)
+ {
+ return 1;
+ }
+ name = name.Trim();
+ }
+ while(name.Length == 0);
+
+ Ice.ObjectPrx basePrx = communicator().propertyToProxy("SessionFactory.Proxy");
+ SessionFactoryPrx factory = SessionFactoryPrxHelper.checkedCast(basePrx);
+ if(factory == null)
+ {
+ Console.Error.WriteLine("invalid proxy");
+ return 1;
+ }
+
+ SessionPrx session = factory.create(name);
+
+ SessionRefreshThread refresh = new SessionRefreshThread(communicator().getLogger(), 5000, session);
+ Thread refreshThread = new Thread(new ThreadStart(refresh.run));
+ refreshThread.Start();
+
+ ArrayList hellos = new ArrayList();
+
+ menu();
+
+ try
+ {
+ bool destroy = true;
+ bool shutdown = false;
+ while(true)
+ {
+ Console.Out.Write("==> ");
+ Console.Out.Flush();
+ string line = Console.In.ReadLine();
+ if(line == null)
+ {
+ break;
+ }
+ if(line.Length > 0 && Char.IsDigit(line[0]))
+ {
+ int index = Int32.Parse(line);
+ if(index < hellos.Count)
+ {
+ HelloPrx hello = (HelloPrx)hellos[index];
+ hello.sayHello();
+ }
+ else
+ {
+ Console.Out.WriteLine("Index is too high. " + hellos.Count +
+ " hello objects exist so far.\n" +
+ "Use `c' to create a new hello object.");
+ }
+ }
+ else if(line.Equals("c"))
+ {
+ hellos.Add(session.createHello());
+ Console.Out.WriteLine("Created hello object " + (hellos.Count - 1));
+ }
+ else if(line.Equals("s"))
+ {
+ destroy = false;
+ shutdown = true;
+ break;
+ }
+ else if(line.Equals("x"))
+ {
+ break;
+ }
+ else if(line.Equals("t"))
+ {
+ destroy = false;
+ break;
+ }
+ else if(line.Equals("?"))
+ {
+ menu();
+ }
+ else
+ {
+ Console.Out.WriteLine("Unknown command `" + line + "'.");
+ menu();
+ }
+ }
+
+ //
+ // The refresher thread must be terminated before destroy is
+ // called, otherwise it might get ObjectNotExistException. refresh
+ // is set to 0 so that if session.destroy() raises an exception
+ // the thread will not be re-terminated and re-joined.
+ //
+ refresh.terminate();
+ refreshThread.Join();
+ refresh = null;
+
+ if(destroy)
+ {
+ session.destroy();
+ }
+ if(shutdown)
+ {
+ factory.shutdown();
+ }
+ }
+ catch(System.Exception)
+ {
+ //
+ // The refresher thread must be terminated in the event of a
+ // failure.
+ //
+ if(refresh != null)
+ {
+ refresh.terminate();
+ refreshThread.Join();
+ refresh = null;
+ }
+ throw;
+ }
+
+ return 0;
}
private static void menu()
{
- Console.Out.WriteLine(
- "usage:\n" +
- "c: create a new per-client hello object\n" +
- "0-9: send a greeting to a hello object\n" +
- "s: shutdown the server and exit\n" +
- "x: exit\n" +
- "t: exit without destroying the session\n" +
- "?: help\n");
+ Console.Out.WriteLine(
+ "usage:\n" +
+ "c: create a new per-client hello object\n" +
+ "0-9: send a greeting to a hello object\n" +
+ "s: shutdown the server and exit\n" +
+ "x: exit\n" +
+ "t: exit without destroying the session\n" +
+ "?: help\n");
}
public static void Main(string[] args)