Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- ResourceReferenceExpression.cs
- UpdatableWrapper.cs
- AttributeCollection.cs
- IRCollection.cs
- XmlAttribute.cs
- FileVersion.cs
- ListControlConvertEventArgs.cs
- DriveNotFoundException.cs
- HttpListenerContext.cs
- SignatureDescription.cs
- SrgsSubset.cs
- LinearKeyFrames.cs
- AttributeUsageAttribute.cs
- EventData.cs
- DataGridViewCellCollection.cs
- GPPOINTF.cs
- SqlDataReaderSmi.cs
- DrawingContextWalker.cs
- DateTime.cs
- Object.cs
- ClientSettings.cs
- ContentDisposition.cs
- DiscardableAttribute.cs
- SecurityCriticalDataForSet.cs
- safelink.cs
- ConstructorBuilder.cs
- CollectionsUtil.cs
- OdbcConnectionOpen.cs
- CharacterMetrics.cs
- DurableOperationContext.cs
- MemoryFailPoint.cs
- DataGridRow.cs
- WebPartDisplayModeCancelEventArgs.cs
- MetaModel.cs
- SafePEFileHandle.cs
- EmptyTextWriter.cs
- LoadedOrUnloadedOperation.cs
- AffineTransform3D.cs
- X509KeyIdentifierClauseType.cs
- DataGridViewColumn.cs
- __ComObject.cs
- MapPathBasedVirtualPathProvider.cs
- LocalizationParserHooks.cs
- EmptyEnumerator.cs
- SpeechRecognitionEngine.cs
- ContextMenuStrip.cs
- MimeBasePart.cs
- XmlBufferReader.cs
- WriteFileContext.cs
- CompositeCollectionView.cs
- DbUpdateCommandTree.cs
- bidPrivateBase.cs
- Calendar.cs
- DataGridViewTextBoxEditingControl.cs
- TableLayoutStyleCollection.cs
- URI.cs
- CompositeFontParser.cs
- ReflectionPermission.cs
- SingleTagSectionHandler.cs
- XmlHierarchicalDataSourceView.cs
- SafeTokenHandle.cs
- x509store.cs
- MenuItemBinding.cs
- MulticastNotSupportedException.cs
- CompositeCollection.cs
- brushes.cs
- UnsafeNativeMethods.cs
- ClientSettingsSection.cs
- EraserBehavior.cs
- EdgeProfileValidation.cs
- DeviceContext2.cs
- WmpBitmapEncoder.cs
- OutputCacheSection.cs
- _ScatterGatherBuffers.cs
- HttpCacheVaryByContentEncodings.cs
- panel.cs
- ReachPageContentCollectionSerializerAsync.cs
- XmlWellformedWriter.cs
- PersonalizationState.cs
- MessageBox.cs
- CommonProperties.cs
- RC2.cs
- Route.cs
- InputBindingCollection.cs
- AssemblyResourceLoader.cs
- ProcessHostServerConfig.cs
- TriggerActionCollection.cs
- EnumValidator.cs
- Byte.cs
- WorkflowDesigner.cs
- MdImport.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- GcHandle.cs
- XXXInfos.cs
- _SSPIWrapper.cs
- XmlSchemaDocumentation.cs
- SqlProcedureAttribute.cs
- UrlPath.cs
- OdbcConnectionString.cs
- ControlPaint.cs