Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / Mail / MultiAsyncResult.cs / 1305376 / 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
- TextElement.cs
- CuspData.cs
- PrinterSettings.cs
- SystemWebSectionGroup.cs
- VectorConverter.cs
- LabelLiteral.cs
- EntityDataSourceStatementEditorForm.cs
- PaperSize.cs
- XmlSignificantWhitespace.cs
- WindowsScrollBarBits.cs
- StorageMappingItemCollection.cs
- AssertUtility.cs
- ObjectStateEntry.cs
- XmlnsCache.cs
- RecordManager.cs
- ActivityCodeDomReferenceService.cs
- DropDownButton.cs
- SiteMapHierarchicalDataSourceView.cs
- ColumnHeader.cs
- MailDefinition.cs
- SubMenuStyleCollection.cs
- MatrixAnimationUsingKeyFrames.cs
- GlobalProxySelection.cs
- ModelItemDictionary.cs
- VolatileEnlistmentState.cs
- MultiView.cs
- diagnosticsswitches.cs
- AsyncWaitHandle.cs
- Themes.cs
- __ComObject.cs
- SequenceQuery.cs
- TreeNodeBindingCollection.cs
- OleDbException.cs
- DnsCache.cs
- _StreamFramer.cs
- TimeSpanOrInfiniteValidator.cs
- SqlConnectionFactory.cs
- XmlSchemaAttributeGroup.cs
- CompositionAdorner.cs
- SqlUserDefinedTypeAttribute.cs
- SoapElementAttribute.cs
- FtpWebRequest.cs
- ExceptionHandler.cs
- WindowsListViewItemCheckBox.cs
- Image.cs
- FormsAuthenticationUser.cs
- PropertyGeneratedEventArgs.cs
- RepeatInfo.cs
- ZipArchive.cs
- EventSetter.cs
- AuthenticateEventArgs.cs
- LinkArea.cs
- MissingManifestResourceException.cs
- SoapObjectReader.cs
- ViewValidator.cs
- SendActivityValidator.cs
- PathTooLongException.cs
- FlowDocumentView.cs
- StreamReader.cs
- BuildResultCache.cs
- ActivityWithResult.cs
- ValueType.cs
- Freezable.cs
- httpserverutility.cs
- uribuilder.cs
- WorkflowOwnershipException.cs
- SchemaCreator.cs
- ConstraintEnumerator.cs
- Registry.cs
- Walker.cs
- CachedTypeface.cs
- DropDownList.cs
- XamlToRtfParser.cs
- ViewManagerAttribute.cs
- RootAction.cs
- DataServiceRequest.cs
- BufferBuilder.cs
- ConfigurationValue.cs
- ResolveCriteria.cs
- RepeatInfo.cs
- Accessible.cs
- CompiledQuery.cs
- AbstractSvcMapFileLoader.cs
- XmlSchemaObjectCollection.cs
- FunctionMappingTranslator.cs
- UnaryNode.cs
- ScriptModule.cs
- Overlapped.cs
- TemplateContentLoader.cs
- PathGeometry.cs
- EntityDataSourceConfigureObjectContextPanel.cs
- UnconditionalPolicy.cs
- Int32EqualityComparer.cs
- InvalidProgramException.cs
- AllMembershipCondition.cs
- AddInPipelineAttributes.cs
- FtpCachePolicyElement.cs
- ListControl.cs
- SqlConnectionStringBuilder.cs
- CodeCatchClauseCollection.cs