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
- Contracts.cs
- SwitchAttribute.cs
- Transactions.cs
- SecurityKeyIdentifierClause.cs
- OleDbFactory.cs
- ControlBuilderAttribute.cs
- ParseNumbers.cs
- XmlDocumentType.cs
- RadioButtonBaseAdapter.cs
- CreateParams.cs
- TextServicesProperty.cs
- StringCollectionMarkupSerializer.cs
- NavigationPropertyAccessor.cs
- OleDbConnectionFactory.cs
- SecurityUniqueId.cs
- Point3DConverter.cs
- TickBar.cs
- EntityCommandExecutionException.cs
- PrintPreviewGraphics.cs
- JournalEntryListConverter.cs
- EventDescriptor.cs
- StagingAreaInputItem.cs
- Privilege.cs
- SchemaImporter.cs
- RegistryExceptionHelper.cs
- XmlSchemaObjectCollection.cs
- ScriptResourceInfo.cs
- VisualStyleInformation.cs
- DbParameterCollection.cs
- EncryptRequest.cs
- SQLSingle.cs
- MediaSystem.cs
- EventLogPermissionEntry.cs
- ValueTypeFixupInfo.cs
- SplayTreeNode.cs
- StringConcat.cs
- ColorMap.cs
- WindowsTab.cs
- SmiTypedGetterSetter.cs
- Registry.cs
- DataServiceQueryContinuation.cs
- XmlSerializerAssemblyAttribute.cs
- PropertyBuilder.cs
- ProcessProtocolHandler.cs
- _ServiceNameStore.cs
- Emitter.cs
- SourceFileBuildProvider.cs
- UserPreferenceChangedEventArgs.cs
- VisualProxy.cs
- EmissiveMaterial.cs
- GridPattern.cs
- basenumberconverter.cs
- _BasicClient.cs
- MarkupExtensionReturnTypeAttribute.cs
- PaintEvent.cs
- ViewStateModeByIdAttribute.cs
- AnimationLayer.cs
- WebBrowserBase.cs
- Track.cs
- ToolStripDropDownMenu.cs
- ChildDocumentBlock.cs
- SiteMapNodeItemEventArgs.cs
- WsatConfiguration.cs
- MimeBasePart.cs
- ExternalCalls.cs
- SharedConnectionListener.cs
- AppSettingsReader.cs
- Image.cs
- FontCacheUtil.cs
- WindowsRichEditRange.cs
- NameValueFileSectionHandler.cs
- Property.cs
- ColorKeyFrameCollection.cs
- CustomAttributeBuilder.cs
- IgnoreSection.cs
- DrawListViewColumnHeaderEventArgs.cs
- Calendar.cs
- SpeakCompletedEventArgs.cs
- FormClosedEvent.cs
- TargetControlTypeAttribute.cs
- ReadOnlyHierarchicalDataSourceView.cs
- PermissionToken.cs
- XMLUtil.cs
- SchemeSettingElement.cs
- ResourcePermissionBaseEntry.cs
- ReadOnlyCollectionBase.cs
- FixedFindEngine.cs
- MTConfigUtil.cs
- QilStrConcatenator.cs
- SubMenuStyleCollection.cs
- DesignerContextDescriptor.cs
- ActivationArguments.cs
- JournalEntry.cs
- TreeViewEvent.cs
- IgnoreSection.cs
- TypeUnloadedException.cs
- CodeTypeReference.cs
- FontWeight.cs
- AppliedDeviceFiltersDialog.cs
- DesignerLoader.cs