Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- CompositeFontInfo.cs
- StatusBar.cs
- TextDecorationCollection.cs
- MissingManifestResourceException.cs
- JsonReaderDelegator.cs
- filewebresponse.cs
- PenCursorManager.cs
- ProfileGroupSettingsCollection.cs
- TemplateContent.cs
- LongValidator.cs
- TextParagraphProperties.cs
- TagElement.cs
- ToolStripSplitButton.cs
- EventPrivateKey.cs
- AddInToken.cs
- WebPartDisplayModeEventArgs.cs
- SingleAnimationBase.cs
- ChannelFactory.cs
- ObjectReaderCompiler.cs
- PrintEvent.cs
- BrowserCapabilitiesFactory35.cs
- OdbcInfoMessageEvent.cs
- RotateTransform3D.cs
- DateTimeValueSerializer.cs
- RuntimeConfigurationRecord.cs
- PKCS1MaskGenerationMethod.cs
- FilterQueryOptionExpression.cs
- SimpleType.cs
- DBDataPermissionAttribute.cs
- WizardSideBarListControlItemEventArgs.cs
- FormsAuthenticationModule.cs
- RegisteredDisposeScript.cs
- CorrelationKeyCalculator.cs
- RemoteWebConfigurationHostServer.cs
- MatrixTransform3D.cs
- SecurityKeyIdentifierClause.cs
- ReservationCollection.cs
- BaseAddressElementCollection.cs
- ServiceAppDomainAssociationProvider.cs
- ClientUtils.cs
- OracleBoolean.cs
- WizardSideBarListControlItem.cs
- UrlAuthFailedErrorFormatter.cs
- ConnectionStringSettingsCollection.cs
- CustomErrorsSection.cs
- ManagementEventWatcher.cs
- NameTable.cs
- PanelDesigner.cs
- WebBrowserNavigatingEventHandler.cs
- LineBreak.cs
- AutomationPropertyInfo.cs
- StreamSecurityUpgradeInitiator.cs
- DataObject.cs
- UserNamePasswordValidator.cs
- ImageCodecInfoPrivate.cs
- Path.cs
- TrustLevelCollection.cs
- CodeTypeOfExpression.cs
- XmlLoader.cs
- XsltArgumentList.cs
- GeneralTransform2DTo3D.cs
- ComponentManagerBroker.cs
- ResourceExpressionBuilder.cs
- SamlAuthorizationDecisionStatement.cs
- XPathEmptyIterator.cs
- DataColumnPropertyDescriptor.cs
- EnumerableCollectionView.cs
- RegisteredDisposeScript.cs
- WindowsUpDown.cs
- IssuedTokenServiceCredential.cs
- IdleTimeoutMonitor.cs
- GridViewRowEventArgs.cs
- JsonQNameDataContract.cs
- TileModeValidation.cs
- DocumentPageTextView.cs
- InputLanguageSource.cs
- IisTraceWebEventProvider.cs
- CardSpacePolicyElement.cs
- RenderOptions.cs
- PeerInvitationResponse.cs
- SqlServices.cs
- ToolStripOverflowButton.cs
- ColumnMapVisitor.cs
- VBIdentifierTrimConverter.cs
- ToolStripItemCollection.cs
- HtmlToClrEventProxy.cs
- DesignerHelpers.cs
- ByteAnimationBase.cs
- IPHostEntry.cs
- OpCellTreeNode.cs
- CriticalFinalizerObject.cs
- SymbolEqualComparer.cs
- EmptyImpersonationContext.cs
- SynchronizedKeyedCollection.cs
- RetrieveVirtualItemEventArgs.cs
- Token.cs
- InheritanceUI.cs
- BaseCollection.cs
- SimpleMailWebEventProvider.cs
- SerialErrors.cs