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
- ForeignKeyConstraint.cs
- LoginCancelEventArgs.cs
- WebScriptEnablingBehavior.cs
- OdbcFactory.cs
- SaveFileDialog.cs
- GeneralTransform3D.cs
- PropertyPathWorker.cs
- PrintPreviewGraphics.cs
- SortDescriptionCollection.cs
- DrawingImage.cs
- ListView.cs
- PerformanceCounterPermissionAttribute.cs
- TypeToArgumentTypeConverter.cs
- TdsRecordBufferSetter.cs
- NavigationEventArgs.cs
- TextSpanModifier.cs
- Certificate.cs
- ServiceHttpHandlerFactory.cs
- SqlDataSourceView.cs
- QueryFunctions.cs
- GridViewUpdateEventArgs.cs
- ExpressionConverter.cs
- HtmlTernaryTree.cs
- ComponentConverter.cs
- cache.cs
- WebConfigurationManager.cs
- DataGridClipboardCellContent.cs
- VisualStyleInformation.cs
- SQLStringStorage.cs
- MsmqQueue.cs
- SoapRpcMethodAttribute.cs
- ControlType.cs
- TraceListeners.cs
- BevelBitmapEffect.cs
- StdValidatorsAndConverters.cs
- EdmProviderManifest.cs
- Matrix3DConverter.cs
- AddInIpcChannel.cs
- TypeSemantics.cs
- ResourceIDHelper.cs
- NameNode.cs
- GridItem.cs
- DataGridViewToolTip.cs
- StorageScalarPropertyMapping.cs
- HandlerBase.cs
- XmlAnyAttributeAttribute.cs
- Privilege.cs
- AttributeUsageAttribute.cs
- _ContextAwareResult.cs
- EmptyEnumerable.cs
- SharedPersonalizationStateInfo.cs
- DispatchProxy.cs
- keycontainerpermission.cs
- HtmlMeta.cs
- Stylesheet.cs
- ReflectionPermission.cs
- ClientBase.cs
- DateTimeConverter.cs
- DesignerSerializationVisibilityAttribute.cs
- httpapplicationstate.cs
- CollectionViewGroupInternal.cs
- DatatypeImplementation.cs
- DataSourceHelper.cs
- HttpRawResponse.cs
- TrackPoint.cs
- InternalMappingException.cs
- CachedTypeface.cs
- QueryExpr.cs
- HttpRequestTraceRecord.cs
- Number.cs
- ReadOnlyDictionary.cs
- ThreadExceptionEvent.cs
- CommandID.cs
- FunctionDescription.cs
- AsyncResult.cs
- DropDownList.cs
- NavigationHelper.cs
- ClassicBorderDecorator.cs
- EmptyQuery.cs
- SqlProviderManifest.cs
- ScriptServiceAttribute.cs
- CompiledXpathExpr.cs
- TransportDefaults.cs
- contentDescriptor.cs
- TimeoutStream.cs
- ProjectedWrapper.cs
- Message.cs
- HyperLinkField.cs
- COM2EnumConverter.cs
- DataGridViewRowCancelEventArgs.cs
- HTMLTextWriter.cs
- Base64Stream.cs
- DiscoveryClientProtocol.cs
- DesignerObject.cs
- SplineQuaternionKeyFrame.cs
- ActiveXContainer.cs
- XslAst.cs
- PropertyEmitter.cs
- RecordConverter.cs
- ProxyAttribute.cs