diff options
author | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-10-11 15:10:34 +0000 |
---|---|---|
committer | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-10-11 15:10:34 +0000 |
commit | 23111468052a9f4ec607b9b10123f62004348216 (patch) | |
tree | f81e272d0159b645be87a876da75ae4911e4dfaa /java/JACE/tests | |
parent | d71e1419e3c009e237fec7a91e832be8fc0fe31a (diff) | |
download | ATCD-23111468052a9f4ec607b9b10123f62004348216.tar.gz |
This commit was manufactured by cvs2svn to create tag 'TAO-1_0_6'.TAO-1_0_6
Diffstat (limited to 'java/JACE/tests')
31 files changed, 0 insertions, 3145 deletions
diff --git a/java/JACE/tests/ASX/BufferStreamTest.java b/java/JACE/tests/ASX/BufferStreamTest.java deleted file mode 100644 index a9600da19dc..00000000000 --- a/java/JACE/tests/ASX/BufferStreamTest.java +++ /dev/null @@ -1,189 +0,0 @@ -// ============================================================================ -// -// = PACKAGE -// tests.ASX -// -// = FILENAME -// BufferStreamTest.java -// -// = AUTHOR -// Prashant Jain -// -// ============================================================================ -package JACE.tests.ASX; - -import java.io.*; -import JACE.OS.*; -import JACE.ASX.*; - -/** - * This short program copies stdin to stdout via the use of an ASX - * STREAM. It illustrates an implementation of the classic "bounded - * buffer" program using an ASX STREAM containing two Modules. Each - * Module contains two Tasks. - */ -public class BufferStreamTest -{ - - static class CommonTask extends Task - { - // ACE_Task hooks - public int open (Object obj) - { - if (this.activate (0, 1, false) == -1) - ACE.ERROR ("spawn"); - return 0; - } - - public int close (long exitStatus) - { - ACE.DEBUG (Thread.currentThread () + " thread is exiting with status " + - exitStatus + " in module " + this.name () + "\n"); - return 0; - } - - public int put (MessageBlock mb, TimeValue tv) - { - return 0; - } - - public int handleTimeout (TimeValue tv, Object obj) - { - return 0; - } - } - - // Define the Producer interface. - - static class Producer extends CommonTask - { - // Read data from stdin and pass to consumer. - // The Consumer reads data from the stdin stream, creates a message, - // and then queues the message in the message list, where it is - // removed by the consumer thread. A 0-sized message is enqueued when - // there is no more data to read. The consumer uses this as a flag to - // know when to exit. - - public int svc () - { - // Keep reading stdin, until we reach EOF. - - BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); - - String msg = null; - try - { - while (true) - { - System.out.print ("Enter input: "); - System.out.flush (); - msg = in.readLine (); - if (msg == null) - { - // Send a shutdown message to the other thread and exit. - if (this.putNext (new MessageBlock (0), null) == -1) - ACE.ERROR ("putNext"); - break; - } - else - { - // Send the message to the other thread. - if (this.putNext (new MessageBlock (msg), null) == -1) - ACE.ERROR ("putNext"); - } - } - } - catch (IOException e) - { - } - return 0; - } - } - - static class Consumer extends CommonTask - // = TITLE - // Define the Consumer interface. - { - // Enqueue the message on the MessageQueue for subsequent - // handling in the svc() method. - public int put (MessageBlock mb, TimeValue tv) - { - try - { - return this.putq (mb, tv); - } - catch (InterruptedException e) - { - } - return 0; - } - - // The consumer dequeues a message from the ACE_Message_Queue, writes - // the message to the stderr stream, and deletes the message. The - // Consumer sends a 0-sized message to inform the consumer to stop - // reading and exit. - - public int svc () - { - MessageBlock mb = null; - - // Keep looping, reading a message out of the queue, until we - // timeout or get a message with a length == 0, which signals us to - // quit. - try - { - while (true) - { - // Wait for upto 4 seconds - mb = this.getq (TimeValue.relativeTimeOfDay (4, 0)); - - if (mb == null) - break; - - int length = mb.length (); - - if (length > 0) - System.out.println ("\n" + mb.base ()); - - if (length == 0) - break; - } - } - catch (InterruptedException e) - { - } - if (mb == null) - { - ACE.ERROR ("timed out waiting for message"); - System.exit (1); - } - return 0; - } - } - - // Spawn off a new thread. - - public static void main (String args[]) - { - ACE.enableDebugging (); - - // Control hierachically-related active objects - Stream stream = new Stream (); - Module pm = new Module ("Consumer", new Consumer (), null, null); - Module cm = new Module ("Producer", new Producer (), null, null); - - // Create Producer and Consumer Modules and push them onto the - // STREAM. All processing is performed in the STREAM. - - if (stream.push (pm) == -1) - { - ACE.ERROR ("push"); - return; - } - else if (stream.push (cm) == -1) - { - ACE.ERROR ("push"); - return; - } - } -} diff --git a/java/JACE/tests/ASX/MessageQueueTest.java b/java/JACE/tests/ASX/MessageQueueTest.java deleted file mode 100644 index 38f098c1bb7..00000000000 --- a/java/JACE/tests/ASX/MessageQueueTest.java +++ /dev/null @@ -1,54 +0,0 @@ -// ============================================================================ -// -// = PACKAGE -// tests.ASX -// -// = FILENAME -// MessageQueueTest.java -// -// = AUTHOR -// Prashant Jain -// -// ============================================================================ -package JACE.tests.ASX; - -import java.io.*; -import JACE.OS.*; -import JACE.ASX.*; - -public class MessageQueueTest -{ - public static void main (String args[]) - { - ACE.enableDebugging (); - - try - { - MessageBlock conMb; - MessageQueue msgQueue = new MessageQueue (); - MessageBlock mb1 = new MessageBlock ("hello"); - MessageBlock mb2 = new MessageBlock ("world"); - mb1.msgPriority (5); - mb2.msgPriority (7); - - // Enqueue in priority order. - if (msgQueue.enqueue (mb1) == -1) - ACE.ERROR ("put_next"); - - if (msgQueue.enqueue (mb2) == -1) - ACE.ERROR ("put_next"); - - // Now try to dequeue - if ((conMb = msgQueue.dequeueHead ()) == null) - ACE.ERROR ("dequeueHead"); - else - ACE.DEBUG ("Consumer: removed item " + conMb.base () - + " of priority " + conMb.msgPriority ()); - } - catch (InterruptedException e) - { - ACE.ERROR (e); - } - } -} - diff --git a/java/JACE/tests/ASX/PriorityBufferTest.java b/java/JACE/tests/ASX/PriorityBufferTest.java deleted file mode 100644 index 37f0370522d..00000000000 --- a/java/JACE/tests/ASX/PriorityBufferTest.java +++ /dev/null @@ -1,118 +0,0 @@ -// ============================================================================ -// -// = PACKAGE -// tests.ASX -// -// = FILENAME -// PriorityBufferTest.java -// -// = AUTHOR -// Prashant Jain -// -// ============================================================================ -package JACE.tests.ASX; - -import java.io.*; -import JACE.OS.*; -import JACE.ASX.*; - -class consumer extends Thread -{ - public void run () - { - MessageBlock mb = null; - long curPriority = 0; - int length = 0; - - try - { - // Keep looping, reading a message out of the queue, until we - // get a message with a length == 0, which signals us to quit. - for (;;) - { - if ((mb = PriorityBufferTest.msgQueue.dequeueHead ()) == null) - break; - - length = mb.length (); - curPriority = mb.msgPriority (); - - if (length > 0) - ACE.DEBUG ("Consumer: removed item \"" + mb.base () + "\" of priority: " + curPriority); - - if (length == 0) - break; - } - } - catch (InterruptedException e) - { - } - } -} - -class producer extends Thread -{ - producer (int delay) - { - this.delay_ = delay; - } - - public void run () - { - try - { - long count = 0; - for (char c = 'a'; c <= 'z'; c++) - { - count++; - // Allocate a new message - MessageBlock mb = new MessageBlock (new Character (c).toString ()); - // Set the priority - mb.msgPriority (count); - - // Enqueue in priority order. - if (PriorityBufferTest.msgQueue.enqueue (mb) == -1) - ACE.ERROR ("put_next"); - else - { - ACE.DEBUG ("Producer: inserted item \"" + mb.base () + "\" of priority: " + count); - if (this.delay_ > 0) - this.sleep (this.delay_); - } - } - - // Now send a 0-sized shutdown message to the other thread - if (PriorityBufferTest.msgQueue.enqueueTail (new MessageBlock (0)) == -1) - ACE.ERROR ("put_next"); - } - catch (InterruptedException e) - { - } - } - - private int delay_; -} - -public class PriorityBufferTest -{ - public static MessageQueue msgQueue = new MessageQueue (); - - public static void main (String args[]) - { - ACE.enableDebugging (); - - int delay = 0; - if (args.length == 1) - { - try - { - delay = Integer.parseInt (args[0]); - } - catch (NumberFormatException e) - { - ACE.ERROR ("Illegal argument."); - } - } - new producer (delay).start (); - new consumer ().start (); - } -} diff --git a/java/JACE/tests/ASX/TaskTest.java b/java/JACE/tests/ASX/TaskTest.java deleted file mode 100644 index 09ebfe22a1f..00000000000 --- a/java/JACE/tests/ASX/TaskTest.java +++ /dev/null @@ -1,95 +0,0 @@ -// ============================================================================ -// -// = PACKAGE -// tests.ASX -// -// = FILENAME -// TaskTest.java -// -// = AUTHOR -// Prashant Jain -// -// ============================================================================ -package JACE.tests.ASX; - -import java.io.*; -import JACE.OS.*; -import JACE.ASX.*; -import JACE.Reactor.*; - -public class TaskTest extends Task -{ - int nThreads_; - int nIterations_; - - public TaskTest (int nThreads, int nIterations) - { - this.nIterations_ = nIterations; - this.nThreads_ = nThreads; - } - - public void beginTest () - { - if (this.activate (0, this.nThreads_, true) == -1) - ACE.ERROR ("activate failed"); - } - - public int open (Object obj) - { - return 0; - } - - public int close (long flags) - { - return 0; - } - - public int put (MessageBlock mb, TimeValue tv) - { - return 0; - } - - public int handleTimeout (TimeValue tv, Object obj) - { - return 0; - } - - public int svc () - { - for (int i = 1; i <= this.nIterations_; i++) - { - ACE.DEBUG (Thread.currentThread ().toString () + - " in iteration " + i); - // Allow other threads to run - Thread.yield (); - } - return 0; - } - - public static void main (String args[]) - { - int nThreads = 1; - int nIterations = 1; - - ACE.enableDebugging (); - - try - { - if (args.length == 2) - { - nThreads = Integer.parseInt (args[0]); - nIterations = Integer.parseInt (args[1]); - } - else if (args.length == 1) - { - nThreads = Integer.parseInt (args[0]); - } - } - catch (NumberFormatException e) - { - ACE.ERROR ("Illegal argument."); - } - TaskTest tt = new TaskTest (nThreads, nIterations); - tt.beginTest (); - } -} diff --git a/java/JACE/tests/ASX/ThreadPoolTest.java b/java/JACE/tests/ASX/ThreadPoolTest.java deleted file mode 100644 index c48b0caf3c2..00000000000 --- a/java/JACE/tests/ASX/ThreadPoolTest.java +++ /dev/null @@ -1,187 +0,0 @@ -// ============================================================================ -// -// = PACKAGE -// tests.ASX -// -// = FILENAME -// ThreadPoolTest.java -// -// = AUTHOR -// Prashant Jain -// -// ============================================================================ -package JACE.tests.ASX; - -import java.io.*; -import JACE.OS.*; -import JACE.ASX.*; -import JACE.Reactor.*; - -public class ThreadPoolTest extends Task -{ - int nThreads_; - int nIterations_; - - public static int MAX_MB_SIZE = 1024; - - public ThreadPoolTest (int nThreads, int nIterations) - { - this.nIterations_ = nIterations; - this.nThreads_ = nThreads; - if (this.activate (0, nThreads, true) == -1) - ACE.ERROR ("activate failed"); - } - - public int handleTimeout (TimeValue tv, Object obj) - { - return 0; - } - - public int open (Object obj) - { - return 0; - } - - public int close (long flags) - { - return 0; - } - - public int put (MessageBlock mb, TimeValue tv) - { - try - { - return this.putq (mb, tv); - } - catch (InterruptedException e) - { - } - return 0; - } - - public int svc () - { - int count = 1; - - // Keep looping, reading a message out of the queue, until we get a - // message with a length == 0, which signals us to quit. - try - { - for (;; count++) - { - MessageBlock mb = this.getq (null); - if (mb == null) - { - ACE.ERROR (Thread.currentThread ().toString () + " in iteration " + count + ", got result -1, exiting"); - break; - } - int length = mb.length (); - - if (length > 0) - ACE.DEBUG (Thread.currentThread ().toString () + - " in iteration " + count + ", length = " + - length + ", text = \"" + mb.base () + "\""); - - if (length == 0) - { - ACE.DEBUG (Thread.currentThread ().toString () + - " in iteration " + count + - ", got NULL message, exiting"); - break; - } - Thread.yield (); - } - } - catch (InterruptedException e) - { - } - return 0; - } - - public static void produce (ThreadPoolTest threadPool, int nIterations) - { - int count = 0; - for (int n = 0;;) - { - // Allocate a new message. - MessageBlock mb = new MessageBlock (new Integer (count).toString ()); - - if (count == nIterations) - n = 1; // Indicate that we need to shut down. - else - count++; - - if (count == 0 || (count % 20 == 0)) - { - try - { - Thread.sleep (1); - } - catch (InterruptedException e) - { - } - } - if (n != 1) - { - ACE.DEBUG ("Producing..."); - // Pass the message to the Thread_Pool. - if (threadPool.put (mb, null) == -1) - ACE.ERROR ("put"); - } - else - { - // Send a shutdown message to the waiting threads and exit. - ACE.DEBUG ("start loop, dump of task"); - - for (int i = threadPool.thrCount (); i > 0; i--) - { - ACE.DEBUG (Thread.currentThread ().toString () + - "EOF, enqueueing NULL block for thread " + i); - - // Enqueue a NULL message to flag each consumer to - // shutdown. - if (threadPool.put (new MessageBlock (0), null) == -1) - ACE.ERROR ("put"); - } - - break; - } - } - } - - public static void main (String args[]) - { - int nThreads = 1; - int nIterations = 100; - - ACE.enableDebugging (); - - try - { - if (args.length == 2) - { - nThreads = Integer.parseInt (args[0]); - nIterations = Integer.parseInt (args[1]); - } - else if (args.length == 1) - { - nThreads = Integer.parseInt (args[0]); - } - } - catch (NumberFormatException e) - { - ACE.ERROR ("Illegal argument."); - } - ACE.DEBUG ("Threads = " + nThreads + " Iterations = " + nIterations); - - // Create the worker tasks. - ThreadPoolTest threadPool = new ThreadPoolTest (nThreads, - nIterations); - - // Create work for the worker tasks to process in their own threads. - produce (threadPool, nIterations); - ACE.DEBUG ("exiting..."); - } -} - - diff --git a/java/JACE/tests/Concurrency/Condition/Consumer.java b/java/JACE/tests/Concurrency/Condition/Consumer.java deleted file mode 100644 index e43a28f00e0..00000000000 --- a/java/JACE/tests/Concurrency/Condition/Consumer.java +++ /dev/null @@ -1,75 +0,0 @@ -//File: Consumer.java -//Seth Widoff 8/8/96 -//This class attempts at random intervals to dequeue random elements -//from a queue. If the queue is empty the thread waits until an element -//has been enqueued and another thread has invoked the notify() method. -package JACE.tests.Concurrency.Condition; - -import java.lang.Math; -import JACE.ASX.TimeValue; -import java.util.Random; - -public class Consumer implements Runnable -{ - //Maximum pause between dequeues (in milliseconds) - private static final int MAX_PAUSE = 1000; - - private SimpleMessageQueue queue_; - private boolean stop_requested_ = false; - private String name_; - private int iterations_; - private TimeValue timeout_; - - public Consumer(String name, - SimpleMessageQueue queue, - int iterations, - TimeValue timeout) - { - name_ = "Consumer " + name; - queue_ = queue; - iterations_ = iterations; - timeout_ = timeout; - } - - public void run() - { - //Set the random number generator seed to the current time in - //milliseconds. - - Random random = new Random(System.currentTimeMillis()); - Integer element; - - for (int i = 0; i < iterations_; ) - { - try - { - TimeValue absTv = TimeValue.relativeTimeOfDay (timeout_); - element = (Integer)queue_.dequeue(absTv); - if (element != null) - { - - System.out.println("Consumer::run() " + name_ + " dequeued " - + element.toString() + - " Queue size: " + queue_.size()); - - Thread.sleep(Math.abs (random.nextLong()) % MAX_PAUSE); - } - else - { - System.out.println ("Null"); - } - i++; - } - catch(Exception excp) - { - System.out.print ("Consumer::run() Exception: "); - System.out.println(excp); - } - } - } - - public void requestStop() - { - stop_requested_ = true; - } -} diff --git a/java/JACE/tests/Concurrency/Condition/JoinableThreadGroup.java b/java/JACE/tests/Concurrency/Condition/JoinableThreadGroup.java deleted file mode 100644 index 908da33f9f9..00000000000 --- a/java/JACE/tests/Concurrency/Condition/JoinableThreadGroup.java +++ /dev/null @@ -1,24 +0,0 @@ -package JACE.tests.Concurrency.Condition; - -public class JoinableThreadGroup extends ThreadGroup -{ - public JoinableThreadGroup(String name) - { - super(name); - } - - public JoinableThreadGroup(ThreadGroup parent, String name) - { - super(parent, name); - } - - public void join() throws InterruptedException - { - Thread list[] = new Thread[activeCount()]; - - enumerate(list, true); - - for (int i = 0; i < list.length; i++) - list[i].join(); - } -} diff --git a/java/JACE/tests/Concurrency/Condition/Producer.java b/java/JACE/tests/Concurrency/Condition/Producer.java deleted file mode 100644 index cda5063ceed..00000000000 --- a/java/JACE/tests/Concurrency/Condition/Producer.java +++ /dev/null @@ -1,70 +0,0 @@ -//File: Producer.java -//Seth Widoff 8/8/96 -//This class attempts at random intervals to enqueue random elements -//into a queue. If the queue is full the thread waits until an element -//has been dequeued and another thread has invoked the notify() method. - -package JACE.tests.Concurrency.Condition; - -import JACE.ASX.TimeValue; -import java.lang.Math; -import java.util.Random; - -public class Producer implements Runnable -{ - //Maximum pause between enqueues (in milliseconds) - private static final int MAX_PAUSE = 1000; - - private SimpleMessageQueue queue_; - private boolean stop_requested_ = false; - private String name_; - private int iterations_; - private TimeValue timeout_; - - public Producer(String name, - SimpleMessageQueue queue, - int iterations, - TimeValue timeout) - { - name_ = "Producer " + name; - queue_ = queue; - iterations_ = iterations; - timeout_ = timeout; - } - - public void run() - { - //Set the random number generator seed to the current time in milliseconds. - Random random = new Random(System.currentTimeMillis()); - int element = 1; - - for (int i = 0; i < iterations_; ) - { - try - { - // element = random.nextInt(); - TimeValue absTv = TimeValue.relativeTimeOfDay (timeout_); - queue_.enqueue((Object)new Integer(element), absTv); - - System.out.println("Producer::run() " + name_ - + " enqueued " + element + - " Queue size: " + queue_.size()); - - Thread.sleep(Math.abs (random.nextLong()) % MAX_PAUSE); - i++; - element++; - } - catch(Exception excp) - { - System.out.print("Producer::run() Exception: "); - System.out.println(excp); - } - } - } - - public void requestStop() - { - stop_requested_ = true; - } -} - diff --git a/java/JACE/tests/Concurrency/Condition/QueueTest.java b/java/JACE/tests/Concurrency/Condition/QueueTest.java deleted file mode 100644 index 7d6560b11a7..00000000000 --- a/java/JACE/tests/Concurrency/Condition/QueueTest.java +++ /dev/null @@ -1,68 +0,0 @@ -//File: QueueTest.java -//Seth Widoff, 8/8/96 -//This class is a test method for the Producer and Consumer classes. -//The main method takes as arguments the number of producers, the -//number of consumers and the number of elements in the queue. It then -//spawn the specified threads and starts them. - -package JACE.tests.Concurrency.Condition; - -import JACE.ASX.TimeValue; - -public class QueueTest -{ - public static void main(String[] args) - { - if (args.length < 5) - { - System.out.println("Usage: java QueueTest <# producers> <# consumers> " + - "<# elements> <#iterations> <#timeout secs> <#timeout nano secs>"); - System.exit(1); - } - - int num_producers = Integer.parseInt(args[0]), - num_consumers = Integer.parseInt(args[1]), - num_elements = Integer.parseInt(args[2]), - num_iterations = Integer.parseInt(args[3]), - num_timeout_secs = Integer.parseInt(args[4]), - num_timeout_nano_secs = Integer.parseInt(args[5]); - - if (num_elements < 1 - || num_consumers < 1 - || num_producers < 1) - { - System.out.println("All the parameters must be larger than zero."); - System.exit(1); - } - - SimpleMessageQueue queue = new SimpleMessageQueue(num_elements); - Consumer[] consumers = new Consumer[num_consumers]; - Producer[] producers = new Producer[num_producers]; - JoinableThreadGroup thread_group = new JoinableThreadGroup("Producer Consumer"); - - for (int i = 0; i < num_producers; i++) - { - producers[i] = new Producer("Number " + (i + 1), - queue, - num_iterations, - new TimeValue (num_timeout_secs, num_timeout_nano_secs)); - new Thread(thread_group, producers[i]).start(); - } - - for (int i = 0; i < num_consumers; i++) - { - consumers[i] = new Consumer("Number " + (i + 1), queue, num_iterations, new TimeValue (num_timeout_secs, num_timeout_nano_secs)); - new Thread(thread_group, consumers[i]).start(); - } - - try - { - thread_group.join(); - } - catch(InterruptedException excp) - { - System.out.println("QueueTest::main"); - System.out.println(excp); - } - } -} diff --git a/java/JACE/tests/Concurrency/Condition/SimpleMessageQueue.java b/java/JACE/tests/Concurrency/Condition/SimpleMessageQueue.java deleted file mode 100644 index f2a465a9025..00000000000 --- a/java/JACE/tests/Concurrency/Condition/SimpleMessageQueue.java +++ /dev/null @@ -1,86 +0,0 @@ -package JACE.tests.Concurrency.Condition; - -import JACE.ASX.TimeoutException; -import JACE.ASX.TimeValue; -import JACE.Concurrency.*; - -public class SimpleMessageQueue -{ - private int num_items_ = 0; - private int head_ = 0, tail_ = 0; - private Object[] queue_; - - private Mutex lock_ = new Mutex (); - private Condition notFull_ = new Condition (lock_); - private Condition notEmpty_ = new Condition (lock_); - - public SimpleMessageQueue(int size) - { - queue_ = new Object[size]; - } - - public void enqueue(Object element, TimeValue timeout) - throws TimeoutException, InterruptedException - { - try - { - lock_.acquire (); - while (this.isFull ()) - notFull_.Wait (timeout); - - if (tail_ == queue_.length) - tail_ = 0; - queue_[tail_] = element; - tail_++; - - num_items_++; - notEmpty_.signal (); - } - finally - { - lock_.release (); - } - } - - public Object dequeue (TimeValue timeout) - throws TimeoutException, InterruptedException - { - Object return_value = null; - - try - { - lock_.acquire (); - while (this.isEmpty ()) - notEmpty_.Wait (timeout); - - return_value = queue_[head_]; - head_++; - if (head_ == queue_.length) - head_ = 0; - - num_items_--; - notFull_.signal (); - } - finally - { - lock_.release (); - } - return return_value; - } - - public boolean isEmpty() - { - return num_items_ == 0; - } - - public boolean isFull() - { - return num_items_ == queue_.length; - } - - public int size() - { - return num_items_; - } -} - diff --git a/java/JACE/tests/Concurrency/IterationTest.java b/java/JACE/tests/Concurrency/IterationTest.java deleted file mode 100644 index 79e083e7f7a..00000000000 --- a/java/JACE/tests/Concurrency/IterationTest.java +++ /dev/null @@ -1,235 +0,0 @@ -/************************************************* - * - * = PACKAGE - * JACE.tests.Concurrency - * - * = FILENAME - * IterationTest.java - * - *@author Prashant Jain - *@author Everett Anderson - * - *************************************************/ -package JACE.tests.Concurrency; - -import java.io.*; -import JACE.OS.*; -import JACE.Concurrency.*; - -/** - * Test which uses an AbstractLock to prevent threads from mangling - * shared data. This currently tests the four local concurrency - * mechanisms -- Token, Mutex, RWMutex, and Semaphore. - */ -public class IterationTest -{ - static class LockReader extends Thread - { - LockReader (int nIterations, AbstractLock lock) - { - this.nIterations_ = nIterations; - this.lock_ = lock; - } - - public void run () - { - for (int i = 1; i <= this.nIterations_; i++) - { - // Acquire the lock (will block until it gets it) - try - { - this.lock_.acquire (); - } - catch (InterruptedException e) - { - ACE.ERROR (e); - } - catch (LockException e) - { - ACE.ERROR (e); - } - - IterationTest.count++; - ACE.DEBUG (Thread.currentThread ().toString () + - " reader acquired lock in iteration " + i + - ", count = " + IterationTest.count); - - try - { - Thread.sleep (1); - } - catch (InterruptedException e) - { - } - // Release the lock - try - { - this.lock_.release (); - } - catch (LockException e) - { - ACE.ERROR (e); - } - try - { - Thread.sleep (1); - } - catch (InterruptedException e) - { - } - - } - } - - int nIterations_; - AbstractLock lock_; - } - - static class LockWriter extends Thread - { - LockWriter (int nIterations, AbstractLock lock) - { - this.nIterations_ = nIterations; - this.lock_ = lock; - } - - public void run () - { - for (int i = 1; i <= this.nIterations_; i++) - { - // Acquire the lock (will block until it gets it) - try - { - this.lock_.acquire (); - } - catch (InterruptedException e) - { - ACE.ERROR (e); - } - catch (LockException e) - { - ACE.ERROR (e); - } - - - IterationTest.count++; - ACE.DEBUG (Thread.currentThread ().toString () + - " writer acquired lock in iteration " + i + - ", count = " + IterationTest.count); - - try - { - Thread.sleep (1); - } - catch (InterruptedException e) - { - } - - // Release the lock - try - { - this.lock_.release (); - } - catch (LockException e) - { - ACE.ERROR (e); - } - - try - { - Thread.sleep (1); - } - catch (InterruptedException e) - { - } - - } - } - - int nIterations_; - AbstractLock lock_; - } - - final static int TOKEN = 0; - final static int MUTEX = 1; - final static int RWMUTEX = 2; - final static int SEMAPHORE = 3; - - /** - * Command line arguments: - * - * (number of readers) (number of writers) (number of iterations) - */ - public static void main (String args[]) throws InterruptedException - { - int nReaders = 1; - int nWriters = 1; - int nIterations = 100; - int i; - - ACE.enableDebugging (); - - try - { - if (args.length == 3) - { - nReaders = Integer.parseInt (args[0]); - nWriters = Integer.parseInt (args[1]); - nIterations = Integer.parseInt (args[2]); - } - } - catch (NumberFormatException e) - { - ACE.ERROR ("Illegal argument."); - } - - AbstractLock lock = null; - Thread threads[] = new Thread [nReaders + nWriters]; - - for (int state = TOKEN; state <= SEMAPHORE; state++) { - - count = 0; - - switch (state) - { - case TOKEN: - ACE.DEBUG ("--------\nTesting Token:"); - lock = new Token (); - break; - case MUTEX: - ACE.DEBUG ("--------\nTesting Mutex:"); - lock = new Mutex (); - break; - case RWMUTEX: - ACE.DEBUG ("--------\nTesting RWMutex:"); - lock = new RWMutex (); - break; - case SEMAPHORE: - ACE.DEBUG ("--------\nTesting Semaphore:"); - lock = new Semaphore (); - break; - } - - int numThreads = 0; - - // Spawn off the readers and writers - for (i = 0; i < nReaders; i++) { - threads[numThreads] = new LockReader (nIterations, lock); - threads[numThreads].start (); - numThreads++; - } - - for (i = 0; i < nWriters; i++) { - threads[numThreads] = new LockWriter (nIterations, lock); - threads[numThreads].start (); - numThreads++; - } - - for (i = 0; i < numThreads; i++) - threads[i].join (); - - } - } - - public static int count; -} diff --git a/java/JACE/tests/Concurrency/RWMutexTest.java b/java/JACE/tests/Concurrency/RWMutexTest.java deleted file mode 100644 index ff2bbc1f396..00000000000 --- a/java/JACE/tests/Concurrency/RWMutexTest.java +++ /dev/null @@ -1,137 +0,0 @@ -/************************************************* - * - * = PACKAGE - * JACE.tests.Concurrency - * - * = FILENAME - * RWMutexTest.java - * - *@author Ross Dargahi (rossd@krinfo.com) - * - *************************************************/ -package JACE.tests.Concurrency; - -import JACE.OS.*; -import JACE.Concurrency.*; - -public class RWMutexTest -{ - static class TestThread extends Thread - { - TestThread(String name, - boolean writer, - AbstractLock lock) - { - super (name); - mWriter = writer; - mLock = lock; - } - - public void output (String msg) - { - synchronized (iosynch) { - ACE.DEBUG (msg); - } - } - - public void run() - { - for (int i = 0; i < 10; i++) - { - try - { - if (!mWriter) - { - mLock.acquireRead(); - output (getName() + ": Acquired Read Lock"); - - int sleepTime = 10; - sleep (sleepTime); - - mLock.release (); - output (getName () + ": Released Read Lock"); - } - else - { - mLock.acquireWrite (); - output (getName () + ": Acquired Write Lock"); - - int sleepTime = 10; - sleep (sleepTime); - - mLock.release (); - output (getName () + ": Released Write Lock"); - } - } - catch (InterruptedException ex) - { - ACE.ERROR ("InterruptedException"); - } - catch (LockException ex) - { - ACE.ERROR ("LockException: " + ex.getMessage ()); - } - } - } - - AbstractLock mLock; - boolean mWriter; - - static Object iosynch = new Object (); - } - - /** - * Command line arguments: - * - * Optional class name to use for the tests (must implement the - * AbstractLock interface). Followed by an optional number of - * iterations. - */ - public static void main(String [] args) - throws ClassNotFoundException, - IllegalAccessException, - InstantiationException, - InterruptedException, - NumberFormatException - { - AbstractLock lock; - int iterations = 1; - - ACE.enableDebugging (); - - if (args.length > 0) { - ACE.DEBUG("Using class " + args[0] + " as the Lock"); - - lock = (AbstractLock)(Class.forName (args[0]).newInstance ()); - - if (args.length > 1) - iterations = Integer.parseInt (args[1]); - - } else - lock = new RWMutex (); - - for (int i = 0; i < iterations; i++) { - - ACE.DEBUG("Iteration " + (i + 1)); - - TestThread t1 = new TestThread ("1", false, lock); - TestThread t2 = new TestThread ("2", false, lock); - TestThread t3 = new TestThread ("3", false, lock); - TestThread t4 = new TestThread ("4", true, lock); - TestThread t5 = new TestThread ("5", false, lock); - TestThread t6 = new TestThread ("6", false, lock); - TestThread t7 = new TestThread ("7", false, lock); - TestThread t8 = new TestThread ("8", true, lock); - - t1.start (); - t2.start (); - t3.start (); - t4.start (); - t5.start (); - t6.start (); - t7.start (); - t8.start (); - } - } -} - diff --git a/java/JACE/tests/Concurrency/TimingTest.java b/java/JACE/tests/Concurrency/TimingTest.java deleted file mode 100644 index 783d2e003a2..00000000000 --- a/java/JACE/tests/Concurrency/TimingTest.java +++ /dev/null @@ -1,290 +0,0 @@ -package JACE.tests.Concurrency; - -import JACE.OS.*; -import JACE.ASX.*; -import JACE.Concurrency.*; - -/** - * Performs a test with 5 threads. This should test what happens during - * renews, also testing what happens when timeout exceptions are generated - * during operations. - * - * Sample output: - * - * Thread 1 calling acquire - * Thread 1 got lock - * Thread 1 doing work - * Thread 2 calling acquire - * Thread 1 finished doing work - * Thread 1 calling renew -1 1 - * Thread 2 got lock - * Thread 2 doing work - * Thread 3 calling acquire - * Thread 4 calling acquire - * Thread 5 calling acquire with 1 sec timeout - * Thread 1 timed out in renew - * Thread 1 failed renewing - * Thread 1 calling release - * Thread 1 failed release - * Thread 5 timed out in acquire - * Thread 5 failed acquire - * Thread 5 calling release - * Thread 5 failed release - * Thread 2 finished doing work - * Thread 2 calling renew 1 - * Thread 3 got lock - * Thread 3 doing work - * Thread 3 finished doing work - * Thread 3 calling release - * Thread 3 released - * Thread 2 got the lock back - * Thread 2 calling release - * Thread 2 released - * Thread 4 got lock - * Thread 4 doing work - * Thread 4 finished doing work - * Thread 4 calling release - * Thread 4 released - */ -public class TimingTest -{ - static class Worker extends Thread - { - AbstractLock lock; - String name; - int order; - - public Worker (String name, int order, AbstractLock lock) - { - this.name = name; - this.order = order; - this.lock = lock; - } - - public void run() - { - switch (this.order) - { - case 1: - methodA(); - break; - case 2: - methodB(); - break; - case 3: - methodC(); - break; - case 4: - methodD(); - break; - } - } - - public void methodA() - { - // acquires - // launches a class 2 worker - // works - // renew -1 with a 1 sec timeout (intended to fail) - // release - - try { - if (acquire() == AbstractLock.FAILURE) - return; - - new Worker("Thread 2", 2, lock).start(); - - work(3000); - - renew(-1, 1); - } finally { - release(); - } - } - - public void methodB() - { - // acquire - // launch two new class 3 workers and one class 4 worker - // work - // renew, yielding to one waiter - // release - try { - if (acquire() == AbstractLock.FAILURE) - return; - - new Worker ("Thread 3", 3, lock).start (); - new Worker ("Thread 4", 3, lock).start (); - new Worker ("Thread 5", 4, lock).start (); - - work(3000); - - renew(1); - } finally { - release(); - } - } - - public void methodC() - { - // acquire - // work - // release - - try { - if (acquire() == AbstractLock.FAILURE) - return; - - work(1000); - } finally { - release(); - } - - } - - public void methodD() - { - // acquire with a short timeout - // (shouldn't get past the timeout) - try { - if (acquire (1) == AbstractLock.FAILURE) - return; - - ACE.DEBUG (name + " probably should have timed out in acquire"); - work (1000); - } finally { - release (); - } - } - - public int acquire (int relativeTimeout) - { - int result = AbstractLock.FAILURE; - ACE.DEBUG(name + " calling acquire with " + relativeTimeout + - " sec timeout"); - - try { - result = lock.acquire (TimeValue.relativeTimeOfDay (relativeTimeout, 0)); - } catch (JACE.ASX.TimeoutException e) { - ACE.DEBUG(name + " timed out in acquire"); - } catch (Exception e) { - ACE.DEBUG (name + " got exception: " + e); - } - - if (result != AbstractLock.FAILURE) - ACE.DEBUG(name + " got lock"); - else - ACE.DEBUG(name + " failed acquire"); - - return result; - } - - public int acquire() - { - int result = AbstractLock.FAILURE; - - ACE.DEBUG(name + " calling acquire"); - try { - result = lock.acquire(); - } catch (Exception e) { - ACE.DEBUG(name + " got exception: " + e); - } - if (result != AbstractLock.FAILURE) - ACE.DEBUG(name + " got lock"); - else - ACE.DEBUG(name + " failed acquire"); - - return result; - } - - public void release() - { - ACE.DEBUG(name + " calling release"); - int result = AbstractLock.FAILURE; - try { - result = lock.release(); - } catch (Exception e) { - ACE.DEBUG (name + " got exception: " + e); - } - - if (result != AbstractLock.FAILURE) - ACE.DEBUG(name + " released"); - else - ACE.DEBUG(name + " failed release"); - } - - public void renew(int pos) - { - int result = AbstractLock.FAILURE; - ACE.DEBUG(name + " calling renew " + pos); - try { - result = lock.renew(pos); - } catch (Exception e) { - ACE.DEBUG (name + " got exception: " + e); - } - - if (result != AbstractLock.FAILURE) - ACE.DEBUG(name + " got the lock back"); - else - ACE.DEBUG(name + " failed renewing"); - } - - public void renew(int pos, int relativeTimeout) - { - int result = AbstractLock.FAILURE; - ACE.DEBUG(name + " calling renew " + pos + " " + - relativeTimeout); - try { - result = lock.renew(pos, - TimeValue.relativeTimeOfDay(relativeTimeout, - 0)); - } catch (JACE.ASX.TimeoutException e) { - ACE.DEBUG(name + " timed out in renew"); - } catch (Exception e) { - ACE.DEBUG (name + " got exception: " + e); - } - - if (result != AbstractLock.FAILURE) - ACE.DEBUG(name + " got the lock back"); - else - ACE.DEBUG(name + " failed renewing"); - } - - public void work(int ms) - { - ACE.DEBUG(name + " doing work"); - try { - Thread.sleep(ms); - } catch (InterruptedException e) { - ACE.DEBUG(name + " was interrupted"); - } - ACE.DEBUG(name + " finished doing work"); - } - } - - /** - * Command line: - * - * Optional class name (which implements AbstractLock) to test - */ - public static void main(String args[]) { - AbstractLock lock; - - ACE.enableDebugging (); - - try { - - if (args.length > 0) { - ACE.DEBUG("Using class " + args[0] + " as the Lock"); - - lock = (AbstractLock)(Class.forName (args[0]).newInstance ()); - } else - lock = new Token (); - - new Worker("Thread 1", 1, lock).start(); - - } catch (Exception e) { - ACE.ERROR("Error: " + e); - } - } -} diff --git a/java/JACE/tests/Concurrency/TokenTest.java b/java/JACE/tests/Concurrency/TokenTest.java deleted file mode 100644 index 162170f1996..00000000000 --- a/java/JACE/tests/Concurrency/TokenTest.java +++ /dev/null @@ -1,95 +0,0 @@ -/************************************************* - * - * = PACKAGE - * tests.Concurrency - * - * = FILENAME - * TokenTest.java - * - *@author Prashant Jain - * - *************************************************/ -package JACE.tests.Concurrency; - -import java.io.*; -import JACE.OS.*; -import JACE.Concurrency.ThreadManager; -import JACE.Concurrency.*; -import JACE.ASX.TimeValue; - -public class TokenTest implements Runnable -{ - static class MyToken extends Token - { - public void sleepHook () - { - ACE.DEBUG (Thread.currentThread ().getName () + - " blocking, sleepHook called"); - } - } - - public void run () - { - String name = Thread.currentThread().getName(); - try - { - if (this.token_.acquire () != AbstractLock.FAILURE) - ACE.DEBUG (name + " got token"); - else - ACE.DEBUG (name + " couldn't get token"); - - ACE.DEBUG (name + " calling acquire again (test nesting)"); - if (this.token_.acquire() != AbstractLock.FAILURE) - ACE.DEBUG (name + " got token again"); - else - ACE.DEBUG (name + " couldn't get token"); - - Thread.sleep (1000); - - ACE.DEBUG (name + " gives it up for max 2 sec to first waiter"); - this.token_.renew (1, TimeValue.relativeTimeOfDay(2, 0)); - - ACE.DEBUG (name + " releases the token once"); - this.token_.release (); - ACE.DEBUG (name + " calls release again (nesting level was 2)"); - this.token_.release (); - } - catch (InterruptedException e) - { - this.token_.release (); - } - catch (JACE.ASX.TimeoutException e) - { - ACE.DEBUG (name + " timed out"); - } - } - - /** - * Command line: optional number of threads to create (defaults to 2) - */ - public static void main (String args []) - { - ThreadManager tm = new ThreadManager (); - int n = 2; - - ACE.enableDebugging (); - - try - { - if (args.length == 1) - { - n = Integer.parseInt (args[0]); - } - } - catch (NumberFormatException e) - { - ACE.ERROR ("Illegal argument."); - } - - tm.spawnN (n, - new TokenTest (), - false); - } - - private static MyToken token_ = new MyToken (); -} diff --git a/java/JACE/tests/Connection/AcceptorTest.java b/java/JACE/tests/Connection/AcceptorTest.java deleted file mode 100644 index 0e313ba1f43..00000000000 --- a/java/JACE/tests/Connection/AcceptorTest.java +++ /dev/null @@ -1,83 +0,0 @@ -// ============================================================================ -// -// = PACKAGE -// tests.Connection -// -// = FILENAME -// AcceptorTest.java -// -// = AUTHOR -// Prashant Jain -// -// ============================================================================ -package JACE.tests.Connection; - -import java.io.*; -import java.net.*; -import JACE.OS.*; -import JACE.Connection.*; - -public class AcceptorTest -{ - void print_usage_and_die () - { - System.out.println ("Usage: test_server [<port>]"); - System.exit (0); - } - - public void init (int port) - { - try - { - Acceptor acceptor = - new Acceptor - (Class.forName ("JACE.tests.Connection.ServerHandler")); - acceptor.open (port); - while (true) - { - acceptor.accept (); - } - } - catch (ClassNotFoundException e) - { - ACE.ERROR (e); - } - catch (SocketException e) - { - ACE.ERROR ("Socket Exception: " + e); - } - catch (InstantiationException e) - { - ACE.ERROR (e); - } - catch (IllegalAccessException e) - { - ACE.ERROR ("Dang!" + e); - } - catch (IOException e) - { - ACE.ERROR (e); - } - } - - public static void main (String [] args) - { - int port = ACE.DEFAULT_SERVER_PORT; - AcceptorTest acceptorTest = new AcceptorTest (); - - ACE.enableDebugging (); - - if (args.length == 1) - { - try - { - port = Integer.parseInt (args[0]); - } - catch (NumberFormatException e) - { - acceptorTest.print_usage_and_die (); - } - } - acceptorTest.init (port); - } -} diff --git a/java/JACE/tests/Connection/ClientHandler.java b/java/JACE/tests/Connection/ClientHandler.java deleted file mode 100644 index d5885a892e9..00000000000 --- a/java/JACE/tests/Connection/ClientHandler.java +++ /dev/null @@ -1,77 +0,0 @@ -// ============================================================================ -// -// = PACKAGE -// tests.Connection -// -// = FILENAME -// ClientHandler.java -// -// = AUTHOR -// Prashant Jain -// -// ============================================================================ -package JACE.tests.Connection; - -import java.io.*; -import java.net.*; -import JACE.OS.*; -import JACE.Connection.*; - -public class ClientHandler extends SvcHandler -{ - public ClientHandler () - { - } - - public int open (Object obj) - { - new Thread (this).start (); - return 0; - } - - public void run () - { - BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); - - String msg; - StringBuffer ack = new StringBuffer (); - int ack_len; - try - { - while (true) - { - System.out.print ("Enter input: "); - System.out.flush (); - msg = in.readLine (); - if (msg == null) - break; - this.peer ().send (new StringBuffer (msg)); - System.out.println ("Waiting for ack..."); - ack_len = this.peer ().recv (ack); - if (ack_len == 0) - break; - else - System.out.println (ack); - } - } - catch (NullPointerException e) - { - ACE.ERROR ("connection reset by peer"); - } - catch (IOException e) - { - ACE.ERROR (e); - } - finally - { - try - { - this.peer ().close (); - } - catch (IOException e) - { - } - } - - } -} diff --git a/java/JACE/tests/Connection/ConnectorTest.java b/java/JACE/tests/Connection/ConnectorTest.java deleted file mode 100644 index 285e492dcaf..00000000000 --- a/java/JACE/tests/Connection/ConnectorTest.java +++ /dev/null @@ -1,78 +0,0 @@ -// ============================================================================ -// -// = PACKAGE -// tests.Connection -// -// = FILENAME -// ConnectorTest.java -// -// = AUTHOR -// Prashant Jain -// -// ============================================================================ -package JACE.tests.Connection; - -import java.io.*; -import java.net.*; -import JACE.OS.*; -import JACE.Connection.*; - -public class ConnectorTest -{ - void print_usage_and_die () - { - System.out.println ("Usage: test_Connector <hostname> [<port>]"); - System.exit (0); - } - - public void init (String hostname, int port) - { - try - { - Connector connector = new Connector (); - connector.open (hostname, port); - connector.connect (new ClientHandler ()); - } - catch (UnknownHostException e) - { - ACE.ERROR (e); - } - catch (SocketException e) - { - ACE.ERROR ("Connection refused"); - } - catch (InstantiationException e) - { - ACE.ERROR (e); - } - catch (IllegalAccessException e) - { - ACE.ERROR (e); - } - catch (IOException e) - { - ACE.ERROR (e); - } - } - - public static void main (String [] args) - { - int port = ACE.DEFAULT_SERVER_PORT; - ConnectorTest connectorTest = new ConnectorTest (); - - ACE.enableDebugging (); - - if (args.length == 2) - { - try - { - port = Integer.parseInt (args[1]); - } - catch (NumberFormatException e) - { - connectorTest.print_usage_and_die (); - } - } - connectorTest.init (args[0], port); - } -} diff --git a/java/JACE/tests/Connection/HTTPHelperTest.java b/java/JACE/tests/Connection/HTTPHelperTest.java deleted file mode 100644 index 28967acb8d3..00000000000 --- a/java/JACE/tests/Connection/HTTPHelperTest.java +++ /dev/null @@ -1,34 +0,0 @@ -package JACE.tests.Connection; - -import java.io.*; -import JACE.Connection.*; -import JACE.OS.*; - -public class HTTPHelperTest -{ - public static void main(String args[]) - { - ACE.enableDebugging (); - // This is just a quick test to confirm that the Base 64 - // encoding and decoding work - // (tests the example given in the HTTP 1.1 RFC) - - String secret = "Aladdin:open sesame"; - - String encoded = HTTPHelper.EncodeBase64(secret); - - System.err.println("Encoding string: \"" + secret + '\"'); - - System.err.println("Result: \"" + encoded + '\"'); - - System.err.println("Is this right? " + - (encoded.equals("QWxhZGRpbjpvcGVuIHNlc2FtZQ==") ? - "Yes" : "No")); - - String decoded = HTTPHelper.DecodeBase64 (encoded); - System.err.println("Decoded: \"" + decoded + '\"'); - - System.err.println("Is this right? " + - (decoded.equals (secret) ? "Yes" : "No")); - } -} diff --git a/java/JACE/tests/Connection/ServerHandler.java b/java/JACE/tests/Connection/ServerHandler.java deleted file mode 100644 index 4dec8186427..00000000000 --- a/java/JACE/tests/Connection/ServerHandler.java +++ /dev/null @@ -1,68 +0,0 @@ -// ============================================================================ -// -// = PACKAGE -// tests.Connection -// -// = FILENAME -// ServerHandler.java -// -// = AUTHOR -// Prashant Jain -// -// ============================================================================ -package JACE.tests.Connection; - -import java.io.*; -import java.net.*; -import JACE.OS.*; -import JACE.Connection.*; - -public class ServerHandler extends SvcHandler -{ - public ServerHandler () - { - } - - public int open (Object obj) - { - new Thread (this).start (); - return 0; - } - - public void run () - { - int msg_len; - System.out.println ("Waiting for messages..."); - try - { - while (true) - { - StringBuffer msg = new StringBuffer (); - msg_len = this.peer ().recv (msg); - if (msg_len == 0) - break; - System.out.println ("Received: " + msg); - this.peer ().send (new StringBuffer ("Got it!")); - } - } - catch (NullPointerException e) - { - ACE.ERROR ("connection reset by peer"); - } - catch (IOException e) - { - ACE.ERROR (e); - } - finally - { - try - { - this.peer ().close (); - } - catch (IOException e) - { - } - } - - } -} diff --git a/java/JACE/tests/Makefile b/java/JACE/tests/Makefile deleted file mode 100644 index f6336bd7ebb..00000000000 --- a/java/JACE/tests/Makefile +++ /dev/null @@ -1,115 +0,0 @@ -# Makefile for JACE tests -# $Id$ - -.SUFFIXES: .java .class - -JACE_WRAPPER = ../.. -CLASSDIR = $(JACE_WRAPPER)/classes - -JC = javac -JCOPTS = -d $(CLASSDIR) - -COMPILE.java = $(JC) $(JCOPTS) $(filter %.java,$?) - -CLASSPATH := $(CLASSDIR):$(CLASSPATH) - -all: asx concurrency condition connection misc reactor socksap svcconfig netsvcs - -pkg_all = $(pkg_asx) $(pkg_concurrency) $(pkg_condition) $(pkg_connection) \ - $(pkg_misc) $(pkg_reactor) $(pkg_socksap) $(pkg_svcconfig) $(pkg_netsvcs) - -clean: - find ${JACE_WRAPPER}/classes/JACE/tests -name '*.class' -print | xargs ${RM} - -pkg_asx = \ - BufferStreamTest \ - MessageQueueTest \ - PriorityBufferTest \ - TaskTest \ - ThreadPoolTest - -asx: $(addprefix ASX/,$(addsuffix .java,$(pkg_asx))) - $(COMPILE.java) - -pkg_concurrency = \ - IterationTest \ - RWMutexTest \ - TimingTest \ - TokenTest - -concurrency: $(addprefix Concurrency/,$(addsuffix .java,$(pkg_concurrency))) - $(COMPILE.java) - -pkg_condition = \ - Consumer \ - JoinableThreadGroup \ - Producer \ - QueueTest \ - SimpleMessageQueue - -condition: $(addprefix Concurrency/Condition/,$(addsuffix .java,$(pkg_condition))) - $(COMPILE.java) - -pkg_connection = \ - AcceptorTest \ - ClientHandler \ - ConnectorTest \ - HTTPHelperTest \ - ServerHandler - -connection: $(addprefix Connection/,$(addsuffix .java,$(pkg_connection))) - $(COMPILE.java) - -pkg_misc = \ - ParseArgsTest - -misc: $(addprefix Misc/,$(addsuffix .java,$(pkg_misc))) - $(COMPILE.java) - -pkg_reactor = \ - TimeValueTest \ - TimerQueueTest - -reactor: $(addprefix Reactor/,$(addsuffix .java,$(pkg_reactor))) - $(COMPILE.java) - -pkg_socksap = \ - SOCKAcceptorTest \ - SOCKConnectorTest - -socksap: $(addprefix SOCK_SAP/,$(addsuffix .java,$(pkg_socksap))) - $(COMPILE.java) - -pkg_svcconfig = \ - Main - -svcconfig: $(addprefix ServiceConfigurator/,$(addsuffix .java,$(pkg_svcconfig))) - $(COMPILE.java) - -netsvcs: logger_tests naming_tests time_tests token_tests - -pkg_logger_tests = \ - LoggerTest - -logger_tests: $(addprefix netsvcs/Logger/,$(addsuffix .java,$(pkg_logger_tests))) - $(COMPILE.java) - -pkg_naming_tests = \ - ClientTest - -naming_tests: $(addprefix netsvcs/Naming/,$(addsuffix .java,$(pkg_naming_tests))) - $(COMPILE.java) - -pkg_time_tests = \ - TSClient - -time_tests: $(addprefix netsvcs/Time/,$(addsuffix .java,$(pkg_time_tests))) - $(COMPILE.java) - -pkg_token_tests = \ - ProxyClientTest - -token_tests: $(addprefix netsvcs/Token/,$(addsuffix .java,$(pkg_token_tests))) - $(COMPILE.java) - - diff --git a/java/JACE/tests/Misc/ParseArgsTest.java b/java/JACE/tests/Misc/ParseArgsTest.java deleted file mode 100644 index cc27b28d75b..00000000000 --- a/java/JACE/tests/Misc/ParseArgsTest.java +++ /dev/null @@ -1,48 +0,0 @@ -// ============================================================================ -// -// = PACKAGE -// tests.Misc -// -// = FILENAME -// ParseArgsTest.java -// -// = AUTHOR -// Prashant Jain -// -// ============================================================================ -package JACE.tests.Misc; - -import JACE.OS.*; -import JACE.Misc.*; - -public class ParseArgsTest -{ - public static void main (String args[]) - { - ACE.enableDebugging (); - - String s; - GetOpt opt = new GetOpt (args, "p:rs:", true); - for (int c; (c = opt.next ()) != -1; ) - { - System.out.println ("c is " + (char)c); - switch (c) - { - case 'p': - s = opt.optarg (); - ACE.DEBUG ("Option <p> selected with argument " + s); - break; - case 'r': - ACE.DEBUG ("Option <r> selected"); - break; - case 's': - s = opt.optarg (); - ACE.DEBUG ("Option <s> selected with argument " + s); - break; - default: - ACE.DEBUG ("Usage: java tests.Misc.ParseArgsTest [-p arg1] [-r] [-s arg2]"); - break; - } - } - } -} diff --git a/java/JACE/tests/Reactor/TimeValueTest.java b/java/JACE/tests/Reactor/TimeValueTest.java deleted file mode 100644 index 559f6d15176..00000000000 --- a/java/JACE/tests/Reactor/TimeValueTest.java +++ /dev/null @@ -1,52 +0,0 @@ -/************************************************* - * - * = PACKAGE - * ACE.Reactor - * - * = FILENAME - * TimeValueTest.java - * - *@author Prashant Jain - * - *************************************************/ -package JACE.tests.Reactor; - -import JACE.OS.*; -import JACE.ASX.*; - -public class TimeValueTest -{ - public void ASSERT (boolean expression, int i) - { - if (!expression) - ACE.ERROR ("ASSERT failed for " + i); - } - - public void runTest () - { - TimeValue tv1 = new TimeValue (); - TimeValue tv2 = new TimeValue (2); - TimeValue tv3 = new TimeValue (100); - TimeValue tv4 = new TimeValue (1, 1000000000); - TimeValue tv5 = new TimeValue (2); - TimeValue tv6 = new TimeValue (1, -1000000000); - - this.ASSERT (tv1.equals (new TimeValue (0)), 1); - this.ASSERT (tv2.lessThan (tv3), 2); - this.ASSERT (tv2.lessThanEqual (tv2), 3); - this.ASSERT (tv2.greaterThanEqual (tv4), 4); - this.ASSERT (tv5.greaterThanEqual (tv6), 5); - this.ASSERT (tv2.equals (new TimeValue (1, 1000000000)), 6); - this.ASSERT (tv5.equals (tv4), 7); - this.ASSERT (tv2.equals (tv4), 8); - this.ASSERT (tv1.notEquals (tv2), 9); - this.ASSERT (tv6.equals (tv1), 10); - } - - public static void main (String [] args) - { - ACE.enableDebugging (); - - new TimeValueTest ().runTest (); - } -} diff --git a/java/JACE/tests/Reactor/TimerQueueTest.java b/java/JACE/tests/Reactor/TimerQueueTest.java deleted file mode 100644 index 93845ccb6ec..00000000000 --- a/java/JACE/tests/Reactor/TimerQueueTest.java +++ /dev/null @@ -1,84 +0,0 @@ -// ============================================================================ -// -// = PACKAGE -// tests.Reactor -// -// = FILENAME -// TimerQueueTest.java -// -// = AUTHOR -// Prashant Jain -// -// ============================================================================ -package JACE.tests.Reactor; - -import JACE.OS.*; -import JACE.ASX.*; -import JACE.Reactor.*; - -public class TimerQueueTest implements EventHandler -{ - public int handleTimeout (TimeValue tv, Object obj) - { - ACE.DEBUG ("handleTimeout: " + tv.toString () + " " + (String) obj); - return 0; - } - - public static void main (String args []) - { - ACE.enableDebugging (); - - TimerQueue tq = new TimerQueue (true); - TimerQueueTest th1 = new TimerQueueTest (); - int n = 5; - - ACE.enableDebugging (); - - try - { - if (args.length == 1) - { - n = Integer.parseInt (args[0]); - } - } - catch (NumberFormatException e) - { - ACE.ERROR ("Illegal argument."); - } - - // Set a periodic timer - int id = tq.scheduleTimer (th1, - "periodic", - new TimeValue (2), - new TimeValue (3)); - - int i; - // Set a bunch of single timers - for (i=1; i <= n; i++) - { - tq.scheduleTimer (th1, - "A-timer-" + new Integer (i), - new TimeValue (i*2)); - } - - TimerQueueTest th2 = new TimerQueueTest (); - for (i=1; i <= n; i++) - { - tq.scheduleTimer (th2, - "B-timer-" + new Integer (i), - new TimeValue (i*3)); - } - // Cancel all timers associated with this handler - tq.cancelTimer (th2); - - try - { - Thread.sleep (30000); - } - catch (InterruptedException e) - { - } - tq.cancelTimer (id); - System.exit (0); - } -} diff --git a/java/JACE/tests/SOCK_SAP/SOCKAcceptorTest.java b/java/JACE/tests/SOCK_SAP/SOCKAcceptorTest.java deleted file mode 100644 index 3251030fe1c..00000000000 --- a/java/JACE/tests/SOCK_SAP/SOCKAcceptorTest.java +++ /dev/null @@ -1,110 +0,0 @@ -// ============================================================================ -// -// = PACKAGE -// tests.SOCK_SAP -// -// = FILENAME -// SOCKAcceptorTest.java -// -// = AUTHOR -// Prashant Jain -// -// ============================================================================ -package JACE.tests.SOCK_SAP; - -import java.io.*; -import java.net.*; -import JACE.OS.*; -import JACE.SOCK_SAP.*; - -class TestHandler extends Thread -{ - public TestHandler (SOCKStream stream) - { - this.stream_ = stream; - } - - public void run () - { - int msgLen; - System.out.println ("Waiting for messages..."); - try - { - while (true) - { - StringBuffer msg = new StringBuffer (); - msgLen = this.stream_.recv (msg); - if (msgLen == 0) - break; - ACE.DEBUG ("Received: " + msg); - this.stream_.send ("Got it!"); - } - } - catch (NullPointerException e) - { - ACE.ERROR ("connection reset by peer"); - } - catch (IOException e) - { - ACE.ERROR (e); - } - finally - { - try - { - this.stream_.close (); - } - catch (IOException e) - { - } - } - } - SOCKStream stream_; -} - -public class SOCKAcceptorTest -{ - void print_usage_and_die () - { - ACE.DEBUG ("Usage: SOCKAcceptorTest [<port>]"); - System.exit (0); - } - - public void init (int port) - { - try - { - SOCKAcceptor acceptor = new SOCKAcceptor (port); - while (true) - { - SOCKStream stream = new SOCKStream (); - acceptor.accept (stream); - TestHandler handler = new TestHandler (stream); - handler.start (); - } - } - catch (IOException e) - { - } - } - - public static void main (String [] args) - { - ACE.enableDebugging (); - - int port = ACE.DEFAULT_SERVER_PORT; - SOCKAcceptorTest server = new SOCKAcceptorTest (); - if (args.length == 1) - { - try - { - port = Integer.parseInt (args[0]); - } - catch (NumberFormatException e) - { - server.print_usage_and_die (); - } - } - server.init (port); - } -} diff --git a/java/JACE/tests/SOCK_SAP/SOCKConnectorTest.java b/java/JACE/tests/SOCK_SAP/SOCKConnectorTest.java deleted file mode 100644 index e14b63936f5..00000000000 --- a/java/JACE/tests/SOCK_SAP/SOCKConnectorTest.java +++ /dev/null @@ -1,97 +0,0 @@ -// ============================================================================ -// -// = PACKAGE -// tests.SOCK_SAP -// -// = FILENAME -// SOCKConnectorTest.java -// -// = AUTHOR -// Prashant Jain -// -// ============================================================================ -package JACE.tests.SOCK_SAP; - -import java.io.*; -import java.net.*; -import JACE.OS.*; -import JACE.SOCK_SAP.*; - -public class SOCKConnectorTest -{ - static void print_usage_and_die () - { - System.out.println ("Usage: SOCKConnectorTest <hostname> [<port>]"); - System.exit (0); - } - - void processRequests (SOCKStream stream) throws IOException - { - // 1.0 JDK DataInputStream in = new DataInputStream (System.in); - BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); - String msg; - int ack_len; - - while (true) - { - StringBuffer ack = new StringBuffer (); - ACE.DEBUG ("Enter input: "); - ACE.FLUSH (); - msg = in.readLine (); - if (msg == null) - break; - stream.send (msg); - ACE.DEBUG ("Waiting for ack..."); - ack_len = stream.recv (ack); - if (ack_len == 0) - break; - else - ACE.DEBUG (ack.toString ()); - } - } - - public void init (String host, int port) - { - SOCKStream stream = new SOCKStream (); - SOCKConnector connector = new SOCKConnector (); - try - { - connector.connect (stream, - host, - port); - processRequests (stream); - } - catch (IOException e) - { - ACE.ERROR (e); - } - } - - public static void main (String [] args) - { - ACE.enableDebugging (); - - int port = ACE.DEFAULT_SERVER_PORT; - SOCKConnectorTest client = new SOCKConnectorTest (); - - // check arg count - if (args.length == 0 || args.length > 2) - print_usage_and_die(); - - if (args.length == 2) - { - try - { - port = Integer.parseInt (args[1]); - } - catch (NumberFormatException e) - { - client.print_usage_and_die (); - } - } - client.init (args[0], port); - - - } -} - diff --git a/java/JACE/tests/ServiceConfigurator/Main.java b/java/JACE/tests/ServiceConfigurator/Main.java deleted file mode 100644 index 2b57d5ad429..00000000000 --- a/java/JACE/tests/ServiceConfigurator/Main.java +++ /dev/null @@ -1,113 +0,0 @@ -package JACE.tests.ServiceConfigurator; - -import java.io.*; -import java.util.*; -import JACE.OS.*; -import JACE.ServiceConfigurator.*; - -/** - * Runs the service configurator, allowing the user to interact with it. - */ -public class Main -{ - public static void main (String args[]) - throws FileNotFoundException, IOException, ClassNotFoundException, - IllegalAccessException, InstantiationException - { - ACE.enableDebugging (); - - if (ServiceConfig.open (args) < 0) { - System.err.println ("Error opening ServiceConfig"); - return; - } - - processCommands (args); - - // close everything down - ServiceConfig.close (); - } - - public static void report(String s) { - System.out.println(s); - } - - static InputStreamReader stdin = new InputStreamReader (System.in); - - public static void showMenu () - { - report ("\n[C]lose all"); - report ("[S]uspend all"); - report ("[R]esume all"); - report ("[Re[l]oad all"); - report ("List [n]ames"); - - report ("\n[Q]uit"); - System.out.print ("\nOption (CSRLNQ): "); - } - - public static void processCommands (String [] args) - throws FileNotFoundException, IOException, ClassNotFoundException, - IllegalAccessException, InstantiationException - { - int ch = 0; - Enumeration svcs; - - showMenu (); - - do { - - ch = stdin.read (); - - switch (ch) - { - case 'c': - case 'C': - ServiceConfig.close (); - break; - case 's': - case 'S': - svcs = ServiceConfig.serviceNames (); - while (svcs.hasMoreElements ()) - ServiceConfig.suspend ((String)svcs.nextElement ()); - break; - case 'r': - case 'R': - svcs = ServiceConfig.serviceNames (); - while (svcs.hasMoreElements ()) - ServiceConfig.resume ((String)svcs.nextElement ()); - break; - case 'l': - case 'L': - ServiceConfig.close (); - svcs = ServiceConfig.serviceNames (); - while (svcs.hasMoreElements ()) - ServiceConfig.remove ((String)svcs.nextElement ()); - ServiceConfig.open (args); - break; - case 'n': - case 'N': - report ("\nService names:\n"); - svcs = ServiceConfig.services (); - while (svcs.hasMoreElements ()) { - Service sv = (Service)svcs.nextElement (); - report (sv.name () + " : " + sv.info ()); - } - break; - case 'q': - case 'Q': - report ("\nExiting..."); - return; - case -1: - case 10: - case 13: - continue; - default: - break; - } - - showMenu (); - - } while (true); - } - -} diff --git a/java/JACE/tests/ServiceConfigurator/svc.conf b/java/JACE/tests/ServiceConfigurator/svc.conf deleted file mode 100644 index 5c0c331ed94..00000000000 --- a/java/JACE/tests/ServiceConfigurator/svc.conf +++ /dev/null @@ -1,4 +0,0 @@ -load TimeService JACE.netsvcs.Time.TSServerAcceptor ServiceObject "-d -p 30000" -load LogService JACE.netsvcs.Logger.ServerLoggingAcceptor ServiceObject "-d -p 30001" -load NameService JACE.netsvcs.Naming.NameAcceptor ServiceObject "-d -p 30002" -load TokenService JACE.netsvcs.Token.TokenAcceptor ServiceObject "-d -p 30003" diff --git a/java/JACE/tests/netsvcs/Logger/LoggerTest.java b/java/JACE/tests/netsvcs/Logger/LoggerTest.java deleted file mode 100644 index ae835b07753..00000000000 --- a/java/JACE/tests/netsvcs/Logger/LoggerTest.java +++ /dev/null @@ -1,115 +0,0 @@ -/************************************************* - * - * = FILENAME - * LoggerTest.java - * - *@author Everett Anderson - * - *************************************************/ -package JACE.tests.netsvcs.Logger; - -import JACE.SOCK_SAP.*; -import java.io.*; -import java.net.*; -import JACE.OS.*; -import JACE.netsvcs.Logger.*; - -/** - * - * This is a simple test log client very similar to the direct_logging - * client of C++ ACE. The logging service should correctly receive - * messages from both the C++ and Java version. - * - * @see JACE.netsvcs.Logger.ServerLoggingAcceptor - */ -public class LoggerTest { - - /** Command line: <hostname> [<port>] - * - * Creates a "hello world" log message and sends it to the server logging - * service. - */ - public static void main(String args[]) - { - if (args.length != 2) { - System.err.println("Use: LoggerTest <host name> [<port>]"); - System.exit(0); - } - - ACE.enableDebugging (); - - // Set the port - int port = args.length > 1 ? - (new Integer(args[1])).intValue() : ACE.DEFAULT_SERVER_PORT; - - SOCKStream cli_stream = new SOCKStream(); - INETAddr remote_addr; - String host; - - // Try to find the host - try { - - host = args[0]; - - remote_addr = new INETAddr(port, host); - - } catch (UnknownHostException uhe) { - ACE.ERROR("UnknownHostException " + uhe); - return; - } - - System.out.println("Connecting to " + host + " on port " + port); - - SOCKConnector con = new SOCKConnector(); - - try { - - // Connect to the service - con.connect(cli_stream, remote_addr); - - } catch (SocketException se) { - - ACE.ERROR("Socket Exception " + se); - return; - - } catch (IOException ie) { - - ACE.ERROR("IOException " + ie); - return; - } - - - // Send a message with priority 4, the current time, - // and 0 for the process ID. - LogRecord record = new LogRecord(4, - System.currentTimeMillis(), - 0); - - // Set the text of the message - record.msgData("hello world"); - - try { - - // Send it - record.streamOutTo(cli_stream.socket().getOutputStream ()); - - // Close the socket - cli_stream.close(); - - } catch (IOException ie) { - - ACE.ERROR("" + ie); - return; - } - } -}; - - - - - - - - - - diff --git a/java/JACE/tests/netsvcs/Naming/ClientTest.java b/java/JACE/tests/netsvcs/Naming/ClientTest.java deleted file mode 100644 index f6af6f906ea..00000000000 --- a/java/JACE/tests/netsvcs/Naming/ClientTest.java +++ /dev/null @@ -1,107 +0,0 @@ -package JACE.tests.netsvcs.Naming; - -import java.io.*; -import java.net.*; -import java.util.*; -import JACE.OS.*; -import JACE.Connection.*; -import JACE.SOCK_SAP.*; -import JACE.netsvcs.Naming.*; - -/** - * Simple test program for NameProxy and the naming service. - * - * Command line: (hostname) (port) - */ -public class ClientTest -{ - public static void print_usage_and_die () - { - System.out.println ("Usage: ClientTest <hostname> [<port>]"); - System.exit (0); - } - public static void main (String [] args) - throws UnknownHostException, - SocketException, - InstantiationException, - IllegalAccessException, - IOException - { - ACE.enableDebugging (); - - int port = ACE.DEFAULT_SERVER_PORT; - - if (args.length == 0 || args.length > 2) - print_usage_and_die (); - - if (args.length == 2) { - try - { - port = Integer.parseInt (args[1]); - } - catch (NumberFormatException e) - { - print_usage_and_die (); - } - } - - System.out.println("Trying to open port " + port + " on " + args[0]); - - NameProxy proxy = new NameProxy (); - - Connector c = new Connector (); - c.open (args[0], port); - c.connect (proxy); - - System.out.println("---- Beginning tests ----"); - - try { - - System.out.println("Binding (five, six, seven): " - + proxy.bind("five", "six", "seven")); - System.out.println("Binding (filth, rat, eats): " - + proxy.bind("filth", "rat", "eats")); - - Vector res = proxy.resolve("five"); - - System.out.println("Resolve (five) : " - + (String)res.elementAt(1) + " " - + (String)res.elementAt(2)); - - System.out.println("Binding (fish, words, him): " - + proxy.bind("fish", "words", "him")); - - System.out.println("Unbind (five, six, seven): " - + proxy.unbind("five")); - - res = proxy.resolve("five"); - - System.out.println("Resolve (five) : " - + (String)res.elementAt(1) + " " - + (String)res.elementAt(2)); - - System.out.println("Binding (fiction, us, you): " - + proxy.bind("fiction", "us", "you")); - - System.out.println("\nGetting all records whose names begin with fi:\n"); - Vector res2 = proxy.listNameEntries("fi"); - - Enumeration iter = res2.elements(); - - while (iter.hasMoreElements()) { - Vector res3 = (Vector)(iter.nextElement()); - - System.out.println((String)res3.elementAt(0) - + "\t" + (String)res3.elementAt(1) - + "\t" + (String)res3.elementAt(2)); - } - - } catch (Exception e) { - System.err.println ("" + e); - e.printStackTrace (); - } finally { - proxy.close (); - } - } -} - diff --git a/java/JACE/tests/netsvcs/Time/TSClient.java b/java/JACE/tests/netsvcs/Time/TSClient.java deleted file mode 100644 index 7a8adf93f42..00000000000 --- a/java/JACE/tests/netsvcs/Time/TSClient.java +++ /dev/null @@ -1,37 +0,0 @@ -package JACE.tests.netsvcs.Time; - -import JACE.netsvcs.Time.*; -import JACE.OS.*; -import JACE.Reactor.*; - -public class TSClient -{ - - // Will run until killed since the default is to run the timer - // queue in its own thread. - public static void main (String args[]) - { - ACE.enableDebugging (); - - TSClerkProcessor cp = new TSClerkProcessor (); - - if (cp.init (args) != 0) - return; - - ACE.DEBUG ("***************************"); - ACE.DEBUG ("Press enter to end the test"); - ACE.DEBUG ("***************************"); - - try { - System.in.read(); - - cp.close (); - - } catch (Exception e) { - ACE.ERROR (e); - } - } -} - - - diff --git a/java/JACE/tests/netsvcs/Token/ProxyClientTest.java b/java/JACE/tests/netsvcs/Token/ProxyClientTest.java deleted file mode 100644 index 1b2118b7f9e..00000000000 --- a/java/JACE/tests/netsvcs/Token/ProxyClientTest.java +++ /dev/null @@ -1,200 +0,0 @@ -package JACE.tests.netsvcs.Token; - -import java.net.*; -import java.io.*; -import JACE.ASX.*; -import JACE.OS.*; -import JACE.Misc.*; -import JACE.Concurrency.*; -import JACE.netsvcs.Token.*; - -public class ProxyClientTest -{ - public static void report(String s) { - System.out.println(s); - } - - static InputStreamReader stdin = new InputStreamReader (System.in); - static RemoteLock lock; - static int requeuePosition = -1, timeout = -1; - - public static void showMenu () - { - report ("\n[A]cquire"); - report ("Acquire [w]rite"); - report ("Acquire rea[d]"); - report ("[T]ry Acquire"); - report ("Try acquire wr[i]te"); - report ("Try acquire r[e]ad"); - report ("Re[n]ew"); - report ("[R]elease"); - - report ("\n[Q]uit"); - System.out.print ("\nOption (AWDTIENRQ): "); - } - - public static void processCommands () throws IOException - { - int ch = 0, result = -1; - - showMenu (); - do { - - ch = stdin.read(); - - try { - - switch (ch) - { - case 'a': - case 'A': - if (timeout >= 0) { - TimeValue tv = TimeValue.relativeTimeOfDay (timeout, 0); - result = lock.acquire (tv); - } else - result = lock.acquire (); - break; - case 'w': - case 'W': - if (timeout >= 0) { - TimeValue tv = TimeValue.relativeTimeOfDay (timeout, 0); - result = lock.acquireWrite (tv); - } else - result = lock.acquire (); - break; - case 'd': - case 'D': - if (timeout >= 0) { - TimeValue tv = TimeValue.relativeTimeOfDay (timeout, 0); - result = lock.acquireRead (tv); - } else - result = lock.acquire (); - break; - case 't': - case 'T': - result = lock.tryAcquire (); - break; - case 'i': - case 'I': - result = lock.tryAcquireWrite (); - break; - case 'e': - case 'E': - result = lock.tryAcquireRead (); - break; - case 'r': - case 'R': - result = lock.release (); - break; - case 'n': - case 'N': - if (timeout >= 0) { - TimeValue tv = TimeValue.relativeTimeOfDay (timeout, 0); - result = lock.renew (requeuePosition, tv); - } else - result = lock.renew (requeuePosition); - break; - case 'q': - case 'Q': - continue; - case -1: - case 10: - case 13: - // Ignore line feeds and carriage returns - continue; - default: - report ("Unknown command: " + (char)ch + " (" + ch + ")\n"); - showMenu (); - continue; - } - - report ("\nResult: " + (result == lock.SUCCESS ? "Success" : - "Failure")); - - } catch (TimeoutException e) { - report ("\nRequest timed out"); - /* - } catch (InterruptedException e) { - report ("\nInterrupted while attemping operation"); - */ - } catch (LockException e) { - report ("\nLock failure: " + e.getMessage ()); - } - - showMenu (); - - } while (ch != 'Q' && ch != 'q'); - } - - public static void printUsage () - { - report ("Valid options:\n"); - report ("-h <host name> Specify token server host"); - report ("-p <port number> Port to connect to"); - report ("-t <time in sec> Relative timeout to use"); - report ("-l <lock type> 0 Mutex, 1 RWMutex"); - report ("-c <client ID> Specify ID (default is this machine name)"); - report ("-n <token name> Specify token name"); - report ("-q <requeue pos> Use this requeue position in renew"); - report ("-d Enable debugging"); - } - - public static void main (String args[]) throws IOException - { - GetOpt opt = new GetOpt (args, "h:p:t:l:c:n:q:d", true); - - String host = "localhost", tokenName = "token1"; - int port = ACE.DEFAULT_SERVER_PORT; - int type = LockTypes.MUTEX, c; - String clientID = InetAddress.getLocalHost().getHostName (); - - try { - while ((c = opt.next ()) != -1) { - switch (c) - { - case 'h': - host = opt.optarg (); - break; - case 'p': - port = Integer.parseInt (opt.optarg ()); - break; - case 't': - timeout = Integer.parseInt (opt.optarg ()); - break; - case 'l': - type = Integer.parseInt (opt.optarg ()); - break; - case 'c': - clientID = opt.optarg (); - break; - case 'n': - tokenName = opt.optarg (); - break; - case 'q': - requeuePosition = Integer.parseInt (opt.optarg ()); - break; - case 'd': - ACE.enableDebugging (); - ACE.DEBUG ("Debugging is enabled"); - break; - default: - printUsage (); - return; - } - } - } catch (ArrayIndexOutOfBoundsException e) { - printUsage (); - return; - } - - report ("Using : " + host + " on port " + port); - report ("Token : " + tokenName); - report ("Client ID: " + clientID); - - lock = new RemoteLock (type, 0, tokenName, clientID, host, port); - - processCommands (); - - lock.close (); - } -} |