Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / Net / System / Net / Mail / MultiAsyncResult.cs / 1 / MultiAsyncResult.cs
namespace System.Net.Mime { using System; internal class MultiAsyncResult : LazyAsyncResult { int outstanding; object context; internal MultiAsyncResult(object context, AsyncCallback callback, object state) : base(context,state,callback) { this.context = context; } internal object Context { get { return this.context; } } internal void Enter() { Increment(); } internal void Leave() { Decrement(); } internal void Leave(object result) { this.Result = result; Decrement(); } void Decrement() { if (System.Threading.Interlocked.Decrement(ref this.outstanding) == -1) { base.InvokeCallback(Result); } } void Increment() { System.Threading.Interlocked.Increment(ref this.outstanding); } internal void CompleteSequence() { Decrement(); } internal static object End(IAsyncResult result) { MultiAsyncResult thisPtr = (MultiAsyncResult)result; thisPtr.InternalWaitForCompletion(); return thisPtr.Result; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.Net.Mime { using System; internal class MultiAsyncResult : LazyAsyncResult { int outstanding; object context; internal MultiAsyncResult(object context, AsyncCallback callback, object state) : base(context,state,callback) { this.context = context; } internal object Context { get { return this.context; } } internal void Enter() { Increment(); } internal void Leave() { Decrement(); } internal void Leave(object result) { this.Result = result; Decrement(); } void Decrement() { if (System.Threading.Interlocked.Decrement(ref this.outstanding) == -1) { base.InvokeCallback(Result); } } void Increment() { System.Threading.Interlocked.Increment(ref this.outstanding); } internal void CompleteSequence() { Decrement(); } internal static object End(IAsyncResult result) { MultiAsyncResult thisPtr = (MultiAsyncResult)result; thisPtr.InternalWaitForCompletion(); return thisPtr.Result; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CryptoStream.cs
- TreePrinter.cs
- ObjectDataSource.cs
- SqlBooleanizer.cs
- ComplexBindingPropertiesAttribute.cs
- LeaseManager.cs
- SignatureHelper.cs
- FastPropertyAccessor.cs
- ValidatingReaderNodeData.cs
- SmtpClient.cs
- DrawingBrush.cs
- MemberPath.cs
- MultiViewDesigner.cs
- PropertyValueUIItem.cs
- EntityException.cs
- BigInt.cs
- OleDbRowUpdatedEvent.cs
- RequestCachingSection.cs
- AsyncWaitHandle.cs
- PageClientProxyGenerator.cs
- LoginCancelEventArgs.cs
- Number.cs
- DataRecordInfo.cs
- LineInfo.cs
- ExpressionBuilderCollection.cs
- TimelineGroup.cs
- ChildTable.cs
- ClickablePoint.cs
- DataColumnChangeEvent.cs
- ExpressionNode.cs
- TextTreeTextElementNode.cs
- ClientSettingsProvider.cs
- GeneratedCodeAttribute.cs
- SortAction.cs
- _LocalDataStore.cs
- DisposableCollectionWrapper.cs
- SkipStoryboardToFill.cs
- Hyperlink.cs
- DefaultWorkflowSchedulerService.cs
- LockedActivityGlyph.cs
- UserControl.cs
- HwndTarget.cs
- VectorAnimationUsingKeyFrames.cs
- DbDeleteCommandTree.cs
- PassportAuthenticationModule.cs
- EndEvent.cs
- DiscoveryUtility.cs
- FrameworkElementAutomationPeer.cs
- AsyncInvokeOperation.cs
- WithParamAction.cs
- TemplatePartAttribute.cs
- SerialErrors.cs
- ParserContext.cs
- WindowsClientElement.cs
- DependencyObjectType.cs
- ResourceContainer.cs
- CodeNamespace.cs
- _UncName.cs
- Line.cs
- BinHexEncoding.cs
- Point3DValueSerializer.cs
- InvokePatternIdentifiers.cs
- XmlSchemaGroupRef.cs
- DrawingVisual.cs
- SafeNativeMethodsOther.cs
- ExecutionContext.cs
- AsyncPostBackErrorEventArgs.cs
- TrackingMemoryStream.cs
- ViewGenerator.cs
- WebServiceHostFactory.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- TransactionContext.cs
- ManifestBasedResourceGroveler.cs
- ContentValidator.cs
- FontDifferentiator.cs
- SapiRecognizer.cs
- TripleDESCryptoServiceProvider.cs
- HierarchicalDataSourceConverter.cs
- DescendantOverDescendantQuery.cs
- ActivationArguments.cs
- LowerCaseStringConverter.cs
- SuppressMessageAttribute.cs
- Literal.cs
- OptionalColumn.cs
- IdentityModelDictionary.cs
- OleDbEnumerator.cs
- CodeExpressionCollection.cs
- wgx_commands.cs
- FixedSOMLineRanges.cs
- Mutex.cs
- NamespaceMapping.cs
- InvokeAction.cs
- InternalDispatchObject.cs
- FileLogRecordHeader.cs
- Rijndael.cs
- TableLayoutPanel.cs
- ContentWrapperAttribute.cs
- HtmlButton.cs
- SmtpFailedRecipientException.cs
- XmlArrayAttribute.cs