[asterisk-scf-commits] asterisk-scf/integration/slice.git branch "single-build-dir" created.

Commits to the Asterisk SCF project code repositories asterisk-scf-commits at lists.digium.com
Tue Apr 26 09:06:33 CDT 2011


branch "single-build-dir" has been created
        at  c913a14dc06a449b0bd8b526cafc7dcc362ab607 (commit)

- Log -----------------------------------------------------------------
commit c913a14dc06a449b0bd8b526cafc7dcc362ab607
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Mon Apr 25 17:46:21 2011 -0500

    Changes to work with new single-build-directory CMake script.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8f26841..8d97fc1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,6 +6,8 @@
 # All rights reserved.
 #
 
+asterisk_scf_project(API 3.4)
+
 asterisk_scf_component_init(asterisk-scf-api CXX)
 
 # Make all of our slice definitions available to... themselves!

commit 93dd1c75d62768e08bd1a36dc46b3b9fabeee9d2
Merge: 5b26f4b 0e6af3e
Author: Joshua Colp <jcolp at digium.com>
Date:   Thu Apr 21 12:10:38 2011 -0300

    Merge branch 'indicate'


commit 5b26f4b5105b12808c7fe6159a947b0be28be2e6
Merge: e077c00 c2f50ad
Author: Mark Michelson <mmichelson at digium.com>
Date:   Tue Apr 19 13:06:29 2011 -0500

    Merge branch 'master' of git.asterisk.org:asterisk-scf/release/slice


commit e077c00402daaa531633522876fe75f3b8f4bf8b
Merge: 5264bb1 20084e7
Author: Mark Michelson <mmichelson at digium.com>
Date:   Tue Apr 19 13:01:57 2011 -0500

    Merge branch 'workqueue'


commit c2f50ada09a97344830c244f5a875cb3b6527202
Author: Brent Eagles <beagles at digium.com>
Date:   Tue Apr 19 09:41:13 2011 -0230

    Merging slice changes for async-bridging and bridge-replication branches.
    Adds some exceptions to allow reporting of exceptions that occurred during
    asynchronous batch operations. Also added AMD metadata to some key bridging
    operations.

diff --git a/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 01e9c1b..d7582f9 100644
--- a/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -509,6 +509,37 @@ module V1
     };
 
     /**
+     *
+     * Some operations that take a collection of sessions may be executed asynchronously and may fail in an unatomic
+     * fashion. In the event that such an operation failed, a BridgeSessionOperationFailed exception is thrown with the
+     * session proxies that experienced the failure as well as a description of the exception (most often the result of
+     * a what() call on the exception itself.
+     *
+     * When such an exception occurs, it can be assumed that the operation succeeded for any session proxy that is in
+     * the SessionErrorSeq.
+     *
+     **/
+    struct SessionError
+    {
+        Session* failedSession;
+        string message;
+    };
+    sequence<SessionError> SessionErrorSeq;
+    exception BridgeSessionOperationFailed
+    {
+        SessionErrorSeq failures;
+    };
+
+    /**
+     * The bridge throws SessionNotFound exception if a specified session is
+     * not currently on the bridge.
+     **/
+    exception SessionNotFound
+    {
+        Session* missingSession;
+    };
+
+    /**
      * Forward declaration for the BridgeListener interface.
      */
     interface BridgeListener;
@@ -530,8 +561,9 @@ module V1
 	* @see Session
 	* @see InvalidSessions
 	*/
+       ["amd"]
        void addSessions(SessionSeq session)
-	  throws InvalidSessions;
+       throws InvalidSessions, BridgeSessionOperationFailed;
 
        /**
 	* Abruptly destroy the bridge. Sessions will not be stopped.
@@ -556,8 +588,9 @@ module V1
 	* @see Session
 	* @see InvalidSessions
 	*/
+        ["amd"]
        void removeSessions(SessionSeq sessions)
-	  throws InvalidSessions;
+        throws InvalidSessions, BridgeSessionOperationFailed;
 
        /**
 	* Nicely shutdown the bridge. Participating sessions are disconnected.
@@ -595,9 +628,12 @@ module V1
 	*   be already participating in another bridge.
 	*
 	* @throws InvalidSessions if any of the provided sessions are invalid.
+        *
+        * @throws SessionNotFound if the session to be replaced is not on the bridge.
 	*/
+       ["amd"]
        void replaceSession(Session* sessionToReplace, SessionSeq newSessions)
-	  throws InvalidSessions;
+           throws InvalidSessions, SessionNotFound, BridgeSessionOperationFailed;
     };
 
     /**
@@ -674,6 +710,7 @@ module V1
 	 *
 	 * @return Bridge* Returns a proxy to the newly created bridge.
 	 */
+        ["amd"]
 	Bridge* createBridge(SessionSeq sessions, BridgeListener* listener);
 
 	/**

commit 20084e7794523ce2a8d631b3246868a00676e92d
Author: Mark Michelson <mmichelson at digium.com>
Date:   Fri Apr 8 16:55:02 2011 -0500

    Add a new parameter to QueueListener for number of items added to the queue.

diff --git a/AsteriskSCF/System/WorkQueue/WorkQueueIf.ice b/AsteriskSCF/System/WorkQueue/WorkQueueIf.ice
index 21df756..f09ad14 100644
--- a/AsteriskSCF/System/WorkQueue/WorkQueueIf.ice
+++ b/AsteriskSCF/System/WorkQueue/WorkQueueIf.ice
@@ -39,10 +39,11 @@ module V1
         /**
          * Indicates work has been added to the Queue or SuspendableQueue
          *
+         * @param numNewWork The number of items of Work added to the queue
          * @param wasEmpty True if the queue was empty prior
          * to the addition of the work. False otherwise.
          */
-        void workAdded(bool wasEmpty);
+        void workAdded(int numNewWork, bool wasEmpty);
 
         /**
          * Indicates that suspended work may be resumed

commit 86ae6dcd9240f59c511281c63a4ee10f4d897473
Author: Mark Michelson <mmichelson at digium.com>
Date:   Thu Apr 7 22:14:05 2011 -0500

    Add some documentation to thread pool and work queue interfaces.

diff --git a/AsteriskSCF/System/ThreadPool/ThreadPoolIf.ice b/AsteriskSCF/System/ThreadPool/ThreadPoolIf.ice
index ea40393..c3e9c9f 100644
--- a/AsteriskSCF/System/ThreadPool/ThreadPoolIf.ice
+++ b/AsteriskSCF/System/ThreadPool/ThreadPoolIf.ice
@@ -30,21 +30,86 @@ module ThreadPool
 module V1
 {
 
+    /**
+     * A thread pool
+     *
+     * The Pool maintains a Queue of Work to execute. Users of the
+     * Pool feed it Work by adding to this Queue directly.
+     */
     local interface Pool
     {
+        /**
+         * Set the number of threads in the Pool
+         *
+         * This method may be used to either add or
+         * remove threads from the pool.
+         *
+         * @param size The number of threads for the pool to be
+         * resized to.
+         */
         void setSize(int size);
+
+        /**
+         * Get a handle to the Pool's Queue
+         *
+         * @return The Pool's Queue
+         */
         AsteriskSCF::System::WorkQueue::V1::Queue getQueue();
     };
 
+    /**
+     * Listener for events from a Pool
+     * 
+     * All methods include as a parameter a handle to the Pool
+     * in case the listener wishes to alter the Pool as a result
+     * of the reported event.
+     */
     local interface PoolListener
     {
+        /**
+         * Indicates that the state of one or more of the Pool's threads has changed
+         *
+         * @param tpool A handle to the Pool
+         * @param activeThreads The number of active threads. Active threads are those
+         * that are currently executing work.
+         * @param idleThreads The number of idle threads. Idle threads are those that
+         * are currently waiting for work to be added.
+         * @param zombieThreads The number of zombie threads. Zombie threads are those
+         * that are still executing work but are marked for destruction as soon as they
+         * finish.
+         */
         void stateChanged(Pool tpool, int activeThreads, int idleThreads, int zombieThreads);
+
+        /**
+         * Indicates that the Pool's queue has had work added to it.
+         *
+         * @param tpool A handle to the Pool
+         * @param newWorkCount The number of new items added to the Queue
+         * @param wasEmpty True if the Queue was empty prior to the addition of
+         * new Work. False otherwise.
+         */
         void queueWorkAdded(Pool tpool, int newWorkCount, bool wasEmpty);
+
+        /**
+         * Indicates that the Pool's queue is empty
+         *
+         * @param tpool A handle to the Pool
+         */
         void queueEmptied(Pool tpool);
     };
     
+    /**
+     * Factory class for creating Pools
+     */
     local interface PoolFactory
     {
+        /**
+         * Creates a new Pool
+         *
+         * @param listener The PoolListener for the Pool to report events to
+         * @param wqueue The Queue for the ThreadPool to use internally
+         * @return A handle to the newly created Pool
+         */
         Pool createPool(PoolListener listener, AsteriskSCF::System::WorkQueue::V1::Queue wqueue);
     };
 
diff --git a/AsteriskSCF/System/WorkQueue/WorkQueueIf.ice b/AsteriskSCF/System/WorkQueue/WorkQueueIf.ice
index a14e043..21df756 100644
--- a/AsteriskSCF/System/WorkQueue/WorkQueueIf.ice
+++ b/AsteriskSCF/System/WorkQueue/WorkQueueIf.ice
@@ -28,71 +28,241 @@ module WorkQueue
 module V1
 {
     
+    /**
+     * Receiver of event notices from a Queue or SuspendableQueue
+     *
+     * It is safe to call any Queue or SuspendableQueue operations
+     * from within these methods.
+     */
     local interface QueueListener
     {
+        /**
+         * Indicates work has been added to the Queue or SuspendableQueue
+         *
+         * @param wasEmpty True if the queue was empty prior
+         * to the addition of the work. False otherwise.
+         */
         void workAdded(bool wasEmpty);
+
+        /**
+         * Indicates that suspended work may be resumed
+         *
+         * This method is only ever called by SuspendableQueues
+         */
         void workResumable();
+
+        /**
+         * Indicates that the Queue or SuspendableQueue is now empty
+         */
         void emptied();
     };
 
+    /**
+     * An item of Work
+     *
+     * Objects derived from this interface may only be
+     * used with Queues, not SuspendableQueues.
+     */
     local interface Work
     {
+        /**
+         * Execute a task
+         */
         void execute();
     };
 
     local sequence<Work> WorkSeq;
 
+    /**
+     * Exception thrown when attempting to cancel a work item that is
+     * not in a Queue or SuspendableQueue
+     */
     local exception WorkNotFound
     {
     };
 
+    /**
+     * A standard work queue
+     *
+     * Queues maintain a thread-safe FIFO of Work
+     */
     local interface Queue
     {
+        /**
+         * Enqueue a single item of Work
+         *
+         * @param item The item of Work to enqueue
+         */
         void enqueueWork(Work item);
+
+        /**
+         * Enqueue multiple items of Work atomically
+         *
+         * The items will be added in the same order they
+         * appear in the input sequence.
+         *
+         * @param items The sequence of Work to add to the Queue.
+         */
        	void enqueueWorkSeq(WorkSeq items);
+
+        /**
+         * Cancel a previously queued work item.
+         *
+         * Searches the queue for the specified work item. If found,
+         * the item is removed, otherwise WorkNotFound is thrown. Note
+         * that if multiple copies of a Work item are in the queue, only
+         * the frontmost one will be removed as a result of this method
+         * call.
+         *
+         * @param item The item to be canceled
+         */
        	void cancelWork(Work item) throws WorkNotFound;
 
-        /* return value indicates whether queue contains more work
-       	   that can be executed immediately
-       	*/
+        /**
+         * Pop the front item from the queue and call its execute() method
+         *
+         * @retval true The queue contains more Work to be executed
+         * @retval false The queue contains no more Work objects
+         */
        	bool executeWork();
-       	/* this is a snapshot and should only be used as a hint */
+        /**
+         * Obtain a snapshot of the number of items in the Queue.
+         *
+         * Given that multiple threads may be adding and removing
+         * items from the queue, this should be taken as a hint of
+         * how many items there are rather than as gospel.
+         *
+         * @return The number of Work objects in the Queue
+         */
        	int getSize();
 
+        /**
+         * Set a new QueueListener
+         *
+         * If the Queue currently has a listener, then the new
+         * one will replace its old listener.
+         *
+         * @param listener The new QueueListener to set
+         */
         void setListener(QueueListener listener);
     };
 
+    /**
+     * The set of potential results from executing SuspendableWork
+     */
     enum SuspendableWorkResult
     {
+        /**
+         * Work has finished.
+         */
         Complete,
+        /**
+         * Work could not be completed immediately
+         */
        	Suspended
     };
 
+    /**
+     * Listens for updates from SuspendableWork objects
+     */
     local interface SuspendableWorkListener
     {
+        /**
+         * Indicates that suspended SuspendableWork may be resumed
+         */
         void workResumable();
     };
 
+    /**
+     * Work items to be used in a SuspendableQueue
+     */
     local interface SuspendableWork
     {
+        /**
+         * Executes a piece of SuspendableWork
+         *
+         * @param listener A SuspendableWorkListener to alert when the
+         * SuspendableWork may be resumed.
+         *
+         * @retval Complete The work has completed
+         * @retval Suspended The work cannot be completed at the moment
+         * The listener will be alerted when the SuspendableWork may be resumed.
+         */
         SuspendableWorkResult execute(SuspendableWorkListener listener);
     };
 
     local sequence<SuspendableWork> SuspendableWorkSeq;
 
+    /**
+     * A queue of SuspendableWork
+     *
+     * This is much like the Queue but allows for work to
+     * be suspended. This is useful for cases where an item
+     * of work makes an asynchronous RPC and does not wish to
+     * block the thread that is executing work.
+     */
     local interface SuspendableQueue
     {
+        /**
+         * Enqueue a single item of SuspendableWork
+         *
+         * @param item The item of work to enqueue
+         */
         void enqueueWork(SuspendableWork item);
+
+        /**
+         * Enqueue multiple items of SuspendableWork atomically
+         *
+         * The items will be added in the same order they
+         * appear in the input sequence.
+         *
+         * @param items The sequence of SuspendableWork to enqueue
+         */
        	void enqueueWorkSeq(SuspendableWorkSeq items);
+
+         /**
+         * Cancel a previously queued SuspendableWork item.
+         *
+         * Searches the queue for the specified work item. If found,
+         * the item is removed, otherwise WorkNotFound is thrown. Note
+         * that if multiple copies of a SuspendableWork item are in the
+         * queue, only the frontmost one will be removed as a result of
+         * this method call.
+         *
+         * @param item The item to be canceled
+         */
        	void cancelWork(SuspendableWork item) throws WorkNotFound;
        
-       	/* return value indicates whether queue contains more work
-       	   that can be executed immediately
-       	*/
+        /**
+         * Pop the front item from the queue and call its execute() method
+         *
+         * @retval true The queue contains more SuspendableWork that may
+         * be immediately executed
+         * @retval false The queue either contains no more SuspendableWork
+         * items OR the item executed returned a Suspended result.
+         */
        	bool executeWork();
-       	/* this is a snapshot and should only be used as a hint */
+
+        /**
+         * Obtain a snapshot of the number of items in the SuspendableQueue.
+         *
+         * Given that multiple threads may be adding and removing
+         * items from the queue, this should be taken as a hint of
+         * how many items there are rather than as gospel.
+         *
+         * @return The number of SuspendableWork objects in the
+         * SuspendableQueue
+         */
        	int getSize();
 
+        /**
+         * Set a new QueueListener
+         *
+         * If the SuspendableQueue currently has a listener, then the new
+         * one will replace its old listener.
+         *
+         * @param listener The new QueueListener to set
+         */
         void setListener(QueueListener listener);
     };
 

commit 0e6af3eb07af0e4d4dd415d89926d368abb5d457
Author: Joshua Colp <jcolp at digium.com>
Date:   Thu Apr 7 11:19:40 2011 -0300

    Remove old stuff that is no longer used.

diff --git a/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 7d5131f..309d74a 100644
--- a/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -270,59 +270,6 @@ module V1
          * @see Indication
          */
         void indicated(Session* source, Indication event);
-
-	/**
-	 * Notification that a session has reached a known connected state.
-	 *
-	 * @param source The session the event occurred on.
-	 */
-	void connected(Session* source);
-
-	/**
-	 * Notification that a "flash" has occurred on a session.
-	 *
-	 * @param source The session the event occurred on.
-	 */
-	void flashed(Session* source);
-
-	/**
-	 * Notification that a session has entered a "held" state.
-	 *
-	 * @param source The session the event occurred on.
-	 */
-	void held(Session* source);
-
-	/**
-	 * Notification that a session is in a transitional state.
-	 *
-	 * @param source The session the event occurred on.
-	 *
-	 * @param response An code indentifying the details of the ongoing progress.
-	 */
-	void progressing(Session* source, ResponseCode response);
-
-	/**
-	 * Notification that a ring "event" has occurred.
-	 *
-	 * @param source The session the event occurred on.
-	 */
-	void ringing(Session* source);
-
-	/**
-	 * Notification that a session has completed.
-	 *
-	 * @param source The session the event occurred on.
-	 *
-	 * @param response An code describing the why the session stopped.
-	 */
-	void stopped(Session* source, ResponseCode response);
-
-	/**
-	 * Notification that a session has left the "held" state.
-	 *
-	 * @param source The session the event occurred on.
-	 */
-	void unheld(Session* source);
     };
 
     /**
@@ -369,16 +316,6 @@ module V1
         void indicate(Indication event) throws IndicationException;
 
 	/**
-	 * Method which requests that the session send a connect message.
-	 */
-	void connect();
-
-	/**
-	 * Method which requests that the session send a flash message.
-	 */
-	void flash();
-
-	/**
 	 * Method which retrieves a proxy to the endpoint object that created the current session.
 	 *
 	 * @return The endpoint object that created the current session.
@@ -407,20 +344,6 @@ module V1
 	AsteriskSCF::Media::V1::Session* getMediaSession();
 
 	/**
-	 * Sends a hold notification to the peer.
-	 */
-	void hold();
-
-	/**
-	 * Sends a progress notification to the peer
-	 *
-	 * @param response A code detailing the current progress.
-	 *
-	 * @see ResponseCode
-	 */
-	void progress(ResponseCode response);
-
-	/**
 	 * Removes a listener from the current list. Once removed, a listener
 	 * no longer is notified of changes to the session.
 	 *
@@ -429,11 +352,6 @@ module V1
 	void removeListener(SessionListener* listener);
 
 	/**
-	 * Send a ring notification to the peer.
-	 */
-	void ring();
-
-	/**
 	 * Start a session dialogue with a peer.
 	 */
 	void start();
@@ -447,11 +365,6 @@ module V1
 	void stop(ResponseCode response);
 
 	/**
-	 * Send a request to a connected endpoint to remove a "hold".
-	 */
-	void unhold();
-
-	/**
 	 * Gets the bridge object this Session is associated with.
 	 *
 	 * @return A proxy to the bridge the session is presently in.

commit eae5f79313d4e024b751d169b9ede161327c916e
Author: Joshua Colp <jcolp at digium.com>
Date:   Thu Apr 7 10:18:42 2011 -0300

    Add new indicate support.

diff --git a/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index 01e9c1b..7d5131f 100644
--- a/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -64,8 +64,10 @@ module V1
     {
 	/**
 	 * ISDN cause code @see http://tools.ietf.org/html/rfc3398
+	 *
+	 * Default value is normal clearing
 	 */
-	int isdnCode;
+	int isdnCode = 34;
     };
 
     /**
@@ -112,6 +114,138 @@ module V1
     };
 
     /**
+     * Indication visitor class.
+     */
+    ["visitor"] local class IndicationVisitor
+		{
+    };
+
+    /**
+     * Basic indication class. Meant to be extended.
+     */
+    ["visitor:IndicationVisitor"] unsliceable class Indication
+				  {
+    };
+
+    /**
+     * Telephony specific indication class. Useful if a consumer only cares
+     * about telephony specific indications.
+     */
+    unsliceable class TelephonyIndication extends Indication
+    {
+    };
+
+    /**
+     * Basic indication exception class. Meant to be extended.
+     */
+    unsliceable exception IndicationException
+    {
+    };
+
+    /**
+     * Indication that a session has reached a known connected state.
+     */
+    unsliceable class ConnectedIndication extends TelephonyIndication
+    {
+    };
+
+    /**
+     * Indication that a "flash" event has occurred on a session.
+     */
+    unsliceable class FlashedIndication extends TelephonyIndication
+    {
+    };
+
+    /**
+     * Indication that a session has entered a "held" state.
+     */
+    unsliceable class HeldIndication extends TelephonyIndication
+    {
+    };
+
+    /**
+     * Indication that a session is in a transitional state.
+     */
+    unsliceable class ProgressingIndication extends TelephonyIndication
+    {
+        /**
+         * Response code identifying the details of the ongoing progress.
+         */
+        ResponseCode response;
+    };
+
+    /**
+     * Indication that a "ring" event has occurred on a session.
+     */
+    unsliceable class RingingIndication extends TelephonyIndication
+    {
+    };
+
+    /**
+     * Indication that a session has completed.
+     */
+    unsliceable class StoppedIndication extends TelephonyIndication
+    {
+        /**
+         * Response code identifying the details of why the session stopped.
+         */
+        ResponseCode response;
+    };
+
+    /**
+     * Indication that a session has left the "held" state.
+     */
+    unsliceable class UnheldIndication extends TelephonyIndication
+    {
+    };
+
+    /**
+     * Indication that a connect message should be sent on the session.
+     */
+    unsliceable class ConnectIndication extends TelephonyIndication
+    {
+    };
+
+    /**
+     * Indication that a flash message should be sent on the session.
+     */
+    unsliceable class FlashIndication extends TelephonyIndication
+    {
+    };
+
+    /**
+     * Indication that a hold message should be sent on the session.
+     */
+    unsliceable class HoldIndication extends TelephonyIndication
+    {
+    };
+
+    /**
+     * Indication that an unhold message should be sent on the session.
+     */
+    unsliceable class UnholdIndication extends TelephonyIndication
+    {
+    };
+
+    /**
+     * Indication that a ring message should be sent on the session.
+     */
+    unsliceable class RingIndication extends TelephonyIndication
+    {
+    };
+
+    /**
+     * Indication that a progress message should be sent on the session.
+     */
+    unsliceable class ProgressIndication extends TelephonyIndication
+    {
+        /**
+         * Response code detailing the current progress.
+         */
+        ResponseCode response;
+    };
+
+    /**
      * Instances of SessionListener are used for monitoring changes in one or
      * more sessions. Session objects have an addListener method that allows
      * SessionListener objects to be registered with a given session. The
@@ -124,6 +258,19 @@ module V1
      */
     interface SessionListener
     {
+        /**
+         * Notification that some indication event has occurred on the session.
+         *
+         * @param source The session the event occurred on.
+         *
+         * @param event The indication event that has occurred.
+         *
+         * @see Session
+         *
+         * @see Indication
+         */
+        void indicated(Session* source, Indication event);
+
 	/**
 	 * Notification that a session has reached a known connected state.
 	 *
@@ -208,6 +355,19 @@ module V1
 	 */
 	SessionInfo addListener(SessionListener* listener);
 
+        /**
+         * Request that an indication be performed on a session.
+         *
+         * @param event The indication event to perform.
+         *
+         * @throws IndicationException if an error occurs.
+         *
+         * @see Indication
+         *
+         * @see IndicationException
+         */
+        void indicate(Indication event) throws IndicationException;
+
 	/**
 	 * Method which requests that the session send a connect message.
 	 */

commit b2f2ff479f36b49511c0ed021b488d7ca2996774
Author: Mark Michelson <mmichelson at digium.com>
Date:   Thu Mar 31 14:00:06 2011 -0500

    Address review comments.
    
    I could have sworn I did this already...

diff --git a/AsteriskSCF/System/WorkQueue/WorkQueueIf.ice b/AsteriskSCF/System/WorkQueue/WorkQueueIf.ice
index 13ffc1c..a14e043 100644
--- a/AsteriskSCF/System/WorkQueue/WorkQueueIf.ice
+++ b/AsteriskSCF/System/WorkQueue/WorkQueueIf.ice
@@ -46,15 +46,10 @@ module V1
     {
     };
 
-    local exception WorkExists
-    {
-        WorkSeq items;
-    };
-
     local interface Queue
     {
-        void enqueueWork(Work item) throws WorkExists;
-       	void enqueueWorkSeq(WorkSeq items) throws WorkExists;
+        void enqueueWork(Work item);
+       	void enqueueWorkSeq(WorkSeq items);
        	void cancelWork(Work item) throws WorkNotFound;
 
         /* return value indicates whether queue contains more work
@@ -62,7 +57,7 @@ module V1
        	*/
        	bool executeWork();
        	/* this is a snapshot and should only be used as a hint */
-       	int workCount();
+       	int getSize();
 
         void setListener(QueueListener listener);
     };
@@ -85,15 +80,10 @@ module V1
 
     local sequence<SuspendableWork> SuspendableWorkSeq;
 
-    local exception SuspendableWorkExists
-    {
-        SuspendableWorkSeq items;
-    };
-
     local interface SuspendableQueue
     {
-        void enqueueWork(SuspendableWork item) throws SuspendableWorkExists;
-       	void enqueueWorkSeq(SuspendableWorkSeq items) throws SuspendableWorkExists;
+        void enqueueWork(SuspendableWork item);
+       	void enqueueWorkSeq(SuspendableWorkSeq items);
        	void cancelWork(SuspendableWork item) throws WorkNotFound;
        
        	/* return value indicates whether queue contains more work
@@ -101,7 +91,7 @@ module V1
        	*/
        	bool executeWork();
        	/* this is a snapshot and should only be used as a hint */
-       	int workCount();
+       	int getSize();
 
         void setListener(QueueListener listener);
     };

-----------------------------------------------------------------------


-- 
asterisk-scf/integration/slice.git



More information about the asterisk-scf-commits mailing list