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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PackageRelationshipSelector.cs
- TrustManager.cs
- ResourceCategoryAttribute.cs
- CompensatableTransactionScopeActivity.cs
- FeatureAttribute.cs
- BamlLocalizabilityResolver.cs
- HyperLink.cs
- ConnectionProviderAttribute.cs
- Set.cs
- ReplacementText.cs
- WebRequestModulesSection.cs
- SqlDataSourceSelectingEventArgs.cs
- FixedSOMSemanticBox.cs
- MaskedTextBox.cs
- WebServiceParameterData.cs
- XNodeValidator.cs
- XmlMapping.cs
- _AutoWebProxyScriptEngine.cs
- AsymmetricSignatureDeformatter.cs
- ImageKeyConverter.cs
- XmlSerializationReader.cs
- HttpRawResponse.cs
- HttpHandlersSection.cs
- Merger.cs
- FixedSOMImage.cs
- EventBookmark.cs
- OdbcParameter.cs
- ActivationWorker.cs
- Walker.cs
- ModelVisual3D.cs
- SelectionChangedEventArgs.cs
- RadioButtonAutomationPeer.cs
- XmlnsDefinitionAttribute.cs
- XPathAncestorQuery.cs
- BitVector32.cs
- NullableDecimalAverageAggregationOperator.cs
- DesignerProperties.cs
- RecognizedPhrase.cs
- SelectedDatesCollection.cs
- ErrorHandlerModule.cs
- BamlResourceDeserializer.cs
- DockingAttribute.cs
- ArrayConverter.cs
- MeasureItemEvent.cs
- EntitySqlException.cs
- TextEditorLists.cs
- WindowsStartMenu.cs
- SendSecurityHeaderElementContainer.cs
- SpAudioStreamWrapper.cs
- AssemblyCollection.cs
- BulletChrome.cs
- TextProviderWrapper.cs
- PackWebRequestFactory.cs
- NullableDecimalSumAggregationOperator.cs
- DrawingImage.cs
- SafeSecurityHelper.cs
- DefaultPropertiesToSend.cs
- StrongNameUtility.cs
- Polygon.cs
- SQLInt32Storage.cs
- GlyphInfoList.cs
- HorizontalAlignConverter.cs
- InvalidPrinterException.cs
- RegexCode.cs
- ManagementBaseObject.cs
- FormViewUpdatedEventArgs.cs
- DataRowChangeEvent.cs
- DurableInstancingOptions.cs
- ListControlConvertEventArgs.cs
- COM2PropertyPageUITypeConverter.cs
- DependencyObjectType.cs
- Accessors.cs
- Array.cs
- IgnoreFlushAndCloseStream.cs
- XComponentModel.cs
- HttpCookiesSection.cs
- ReflectionHelper.cs
- DataGridViewColumnHeaderCell.cs
- RuleCache.cs
- SignatureToken.cs
- Propagator.ExtentPlaceholderCreator.cs
- PropertyBuilder.cs
- RepeaterItemEventArgs.cs
- XmlAttributes.cs
- FileReader.cs
- MsmqIntegrationBindingElement.cs
- WebServiceHost.cs
- WindowsScroll.cs
- xdrvalidator.cs
- BooleanAnimationBase.cs
- ProfilePropertySettingsCollection.cs
- TrustManagerMoreInformation.cs
- CodeStatementCollection.cs
- DataControlFieldTypeEditor.cs
- LazyTextWriterCreator.cs
- UrlMappingCollection.cs
- UnsafeNativeMethodsMilCoreApi.cs
- XhtmlBasicValidatorAdapter.cs
- SqlDataSource.cs
- WebUtil.cs