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
- AddInDeploymentState.cs
- DBSchemaTable.cs
- TextTreeExtractElementUndoUnit.cs
- TextEvent.cs
- KeyFrames.cs
- WorkflowInstance.cs
- UdpMessageProperty.cs
- BitmapEffect.cs
- CookieHandler.cs
- PackageRelationshipCollection.cs
- UnsafeNativeMethods.cs
- PbrsForward.cs
- DataControlImageButton.cs
- TransactionCache.cs
- ThreadPool.cs
- LicenseContext.cs
- AbstractExpressions.cs
- TraceListener.cs
- ValidationRule.cs
- xml.cs
- TrackingAnnotationCollection.cs
- CheckPair.cs
- BulletedListEventArgs.cs
- UnmanagedBitmapWrapper.cs
- IsolatedStorageFile.cs
- Accessible.cs
- LicenseManager.cs
- StorageRoot.cs
- UdpChannelFactory.cs
- UInt32Storage.cs
- SqlCommandSet.cs
- UnmanagedMemoryStream.cs
- PathTooLongException.cs
- MouseActionConverter.cs
- RadioButton.cs
- ModifierKeysConverter.cs
- SmiContext.cs
- SwitchElementsCollection.cs
- SiteOfOriginPart.cs
- VectorCollectionConverter.cs
- RectangleHotSpot.cs
- StreamWithDictionary.cs
- CustomPopupPlacement.cs
- RelativeSource.cs
- hwndwrapper.cs
- GraphicsPathIterator.cs
- ColumnProvider.cs
- IisHelper.cs
- AndCondition.cs
- ClusterSafeNativeMethods.cs
- MimeTypeMapper.cs
- Ray3DHitTestResult.cs
- PrimarySelectionGlyph.cs
- CookieHandler.cs
- GlyphRunDrawing.cs
- DocumentReferenceCollection.cs
- DbParameterCollection.cs
- Keywords.cs
- RegexGroupCollection.cs
- HelpKeywordAttribute.cs
- ConversionContext.cs
- XmlQuerySequence.cs
- ListViewItemEventArgs.cs
- SafeNativeMethods.cs
- StringToken.cs
- MessageBuffer.cs
- _LocalDataStore.cs
- MinimizableAttributeTypeConverter.cs
- ValueChangedEventManager.cs
- DbConnectionClosed.cs
- SHA384Managed.cs
- NGCPageContentCollectionSerializerAsync.cs
- InvalidPipelineStoreException.cs
- WebBrowser.cs
- DbModificationCommandTree.cs
- _NTAuthentication.cs
- TreeNodeEventArgs.cs
- OLEDB_Util.cs
- SpellerInterop.cs
- SchemaSetCompiler.cs
- EdmError.cs
- DocumentViewerBaseAutomationPeer.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- FullTextState.cs
- ProcessHostMapPath.cs
- SafeArchiveContext.cs
- FastPropertyAccessor.cs
- NameObjectCollectionBase.cs
- UnicastIPAddressInformationCollection.cs
- WorkItem.cs
- RijndaelManagedTransform.cs
- OleDbMetaDataFactory.cs
- LineSegment.cs
- ObjectDataSourceFilteringEventArgs.cs
- UnitySerializationHolder.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- XmlCollation.cs
- Expander.cs
- WebReferencesBuildProvider.cs
- BaseParagraph.cs