Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- PersonalizationProviderCollection.cs
- SystemIPAddressInformation.cs
- NameValuePair.cs
- RegexCompilationInfo.cs
- VirtualDirectoryMappingCollection.cs
- DataServiceProviderMethods.cs
- DefaultMemberAttribute.cs
- ConnectionStringSettingsCollection.cs
- CapabilitiesAssignment.cs
- MetadataPropertyvalue.cs
- BlockUIContainer.cs
- SetIterators.cs
- PointUtil.cs
- UInt16Converter.cs
- EdmFunction.cs
- InkCanvas.cs
- ProvideValueServiceProvider.cs
- AuthenticationModulesSection.cs
- RecordBuilder.cs
- DragEventArgs.cs
- Point3DAnimationBase.cs
- StatusStrip.cs
- CardSpaceShim.cs
- GrammarBuilderWildcard.cs
- BulletChrome.cs
- FormatException.cs
- ConnectionStringsExpressionBuilder.cs
- ObjectConverter.cs
- TaiwanCalendar.cs
- EventWaitHandle.cs
- XmlBindingWorker.cs
- DataServiceExpressionVisitor.cs
- DEREncoding.cs
- HttpApplicationFactory.cs
- FileVersion.cs
- XmlAttributeProperties.cs
- COM2FontConverter.cs
- DataRow.cs
- Message.cs
- X509CertificateStore.cs
- CompilationLock.cs
- TreeView.cs
- PackageDigitalSignatureManager.cs
- DataGridViewCheckBoxCell.cs
- MouseGestureConverter.cs
- TextTreeUndoUnit.cs
- Parameter.cs
- iisPickupDirectory.cs
- FontConverter.cs
- XmlLanguageConverter.cs
- HttpException.cs
- FixedSOMTextRun.cs
- TagElement.cs
- BitmapScalingModeValidation.cs
- RadioButton.cs
- ByteAnimationUsingKeyFrames.cs
- WebPartZoneCollection.cs
- ReadingWritingEntityEventArgs.cs
- GridItem.cs
- DataFormats.cs
- PageRanges.cs
- DataProviderNameConverter.cs
- XmlnsPrefixAttribute.cs
- _HTTPDateParse.cs
- XmlSchemaObjectCollection.cs
- Throw.cs
- ApplicationException.cs
- ProviderIncompatibleException.cs
- ButtonPopupAdapter.cs
- ScriptManagerProxy.cs
- fixedPageContentExtractor.cs
- Separator.cs
- StrokeCollection2.cs
- AnnotationHelper.cs
- DataRowView.cs
- GeneralTransformGroup.cs
- RegexCaptureCollection.cs
- ContentTextAutomationPeer.cs
- OledbConnectionStringbuilder.cs
- ItemCheckedEvent.cs
- NullReferenceException.cs
- AccessText.cs
- WriteFileContext.cs
- StrokeRenderer.cs
- UInt16Converter.cs
- Int16KeyFrameCollection.cs
- MouseEventArgs.cs
- IPAddressCollection.cs
- ActiveXSerializer.cs
- ConnectionManagementElementCollection.cs
- CollectionBuilder.cs
- CopyOfAction.cs
- PrintPageEvent.cs
- DBNull.cs
- DataTransferEventArgs.cs
- BitmapEffectDrawingContextWalker.cs
- DashStyles.cs
- sapiproxy.cs
- MessageSmuggler.cs
- XmlDataDocument.cs