674 }
675
676 /**
677 * Send multiple dynamic requests asynchronously.
678 *
679 * @param req an array of request objects.
680 */
681 public synchronized void send_multiple_requests_deferred(Request[] req)
682 {
683 checkShutdownState();
684
685 // add the new Requests to pending dynamic Requests
686 for (int i = 0; i < req.length; i++) {
687 dynamicRequests.addElement(req[i]);
688 }
689
690 // Invoke the send_deferred on each new Request
691 for (int i = 0; i < req.length; i++) {
692 AsynchInvoke invokeObject = new AsynchInvoke( this,
693 (com.sun.corba.se.impl.corba.RequestImpl)req[i], true);
694 new sun.misc.ManagedLocalsThread(invokeObject).start();
695 }
696 }
697
698 /**
699 * Find out if any of the deferred invocations have a response yet.
700 */
701 public synchronized boolean poll_next_response()
702 {
703 checkShutdownState();
704
705 Request currRequest;
706
707 // poll on each pending request
708 Enumeration ve = dynamicRequests.elements();
709 while (ve.hasMoreElements() == true) {
710 currRequest = (Request)ve.nextElement();
711 if (currRequest.poll_response() == true) {
712 return true;
713 }
714 }
|
674 }
675
676 /**
677 * Send multiple dynamic requests asynchronously.
678 *
679 * @param req an array of request objects.
680 */
681 public synchronized void send_multiple_requests_deferred(Request[] req)
682 {
683 checkShutdownState();
684
685 // add the new Requests to pending dynamic Requests
686 for (int i = 0; i < req.length; i++) {
687 dynamicRequests.addElement(req[i]);
688 }
689
690 // Invoke the send_deferred on each new Request
691 for (int i = 0; i < req.length; i++) {
692 AsynchInvoke invokeObject = new AsynchInvoke( this,
693 (com.sun.corba.se.impl.corba.RequestImpl)req[i], true);
694 new Thread(null, invokeObject, "ORB-Request-Thread", 0, false).start();
695 }
696 }
697
698 /**
699 * Find out if any of the deferred invocations have a response yet.
700 */
701 public synchronized boolean poll_next_response()
702 {
703 checkShutdownState();
704
705 Request currRequest;
706
707 // poll on each pending request
708 Enumeration ve = dynamicRequests.elements();
709 while (ve.hasMoreElements() == true) {
710 currRequest = (Request)ve.nextElement();
711 if (currRequest.poll_response() == true) {
712 return true;
713 }
714 }
|