/// <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_); }
/// <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(); }
/// <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_)); }