Esempio n. 1
0
        /// <summary>
        /// See <code>IAsyncOperationSimple.BeginExecuteOperation</code> for more details
        /// </summary>
        /// <param name="action_"></param>
        /// <param name="callback_"></param>
        /// <param name="state_"></param>
        public void BeginExecuteOperation(AsyncActionSimple action_, AsyncCallback callback_, object state_)
        {
            if (null == action_)
            {
                throw new ArgumentNullException("action_");
            }

            Action = action_;
            DoBeginExecuteOperation(callback_, state_);
        }
Esempio n. 2
0
        /// <summary>
        /// See <code>IAsyncOperationSimple.EndExecuteOperation</code> for more details
        /// </summary>
        /// <param name="operation_"></param>
        public void EndExecuteOperation(AsyncActionSimple operation_)
        {
            if (null == operation_)
            {
                throw new ArgumentNullException("operation_");
            }

            if (!operation_.Method.Equals(Action.Method))
            {
                throw new ArgumentException("Attempt to end operation with non corresponding instance of AsyncThreadPoolOperation");
            }

            EndExecuteOperation();
        }
Esempio n. 3
0
        /// <summary>
        /// Async connect. Behavious is a Sleep(100) asyn, again, nothing is done with the provided message data
        /// </summary>
        /// <param name="message_"></param>
        /// <param name="callback_"></param>
        /// <param name="state_"></param>
        /// <returns></returns>
        public IAsyncResult BeginSend(byte[] message_, AsyncCallback callback_, object state_)
        {
            var asyncAction = new AsyncActionSimple(() => Thread.Sleep(100)); // No op

            return(asyncAction.BeginInvoke(callback_, state_));
        }