Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / System.Runtime.DurableInstancing / System / Runtime / DurableInstancing / InstanceHandleReference.cs / 1305376 / InstanceHandleReference.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Runtime.DurableInstancing { // This class serves as a reference back to an InstanceHandle from the perspective of an InstanceOwner for tracking lock binds in progress. // It works in two modes, one as a pure cancelable handle reference (where cancelling means nulling out the reference) and the // other as a queue position marker for determining when all of the in-progress requests at one point in time are all done. In the // marker mode (InstanceOwner.LockResolutionMarker), it carries some additional context for maintaining the state of the // InstancePersistenceContext.ResolveExistingLock operation. class InstanceHandleReference { internal InstanceHandleReference(InstanceHandle instanceHandle) { Fx.Assert(instanceHandle != null, "Null instanceHandle provided to InstanceHandleReference."); InstanceHandle = instanceHandle; } // This is set to null when the InstanceHandleReference is detached from the InstanceHandle - i.e. it is // no longer in use, and exists just to make it possible to lazily drain out of the various queues. internal InstanceHandle InstanceHandle { get; private set; } internal void Cancel() { Fx.Assert(InstanceHandle != null, "InstanceHandleReference already cancelled."); InstanceHandle = null; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Runtime.DurableInstancing { // This class serves as a reference back to an InstanceHandle from the perspective of an InstanceOwner for tracking lock binds in progress. // It works in two modes, one as a pure cancelable handle reference (where cancelling means nulling out the reference) and the // other as a queue position marker for determining when all of the in-progress requests at one point in time are all done. In the // marker mode (InstanceOwner.LockResolutionMarker), it carries some additional context for maintaining the state of the // InstancePersistenceContext.ResolveExistingLock operation. class InstanceHandleReference { internal InstanceHandleReference(InstanceHandle instanceHandle) { Fx.Assert(instanceHandle != null, "Null instanceHandle provided to InstanceHandleReference."); InstanceHandle = instanceHandle; } // This is set to null when the InstanceHandleReference is detached from the InstanceHandle - i.e. it is // no longer in use, and exists just to make it possible to lazily drain out of the various queues. internal InstanceHandle InstanceHandle { get; private set; } internal void Cancel() { Fx.Assert(InstanceHandle != null, "InstanceHandleReference already cancelled."); InstanceHandle = null; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- VolatileEnlistmentState.cs
- CollectionChangedEventManager.cs
- Collection.cs
- AutomationAttributeInfo.cs
- TextParaLineResult.cs
- AttachedPropertiesService.cs
- Size3D.cs
- Graphics.cs
- LocalizabilityAttribute.cs
- ViewGenResults.cs
- ManagementEventWatcher.cs
- PerformanceCounterPermissionAttribute.cs
- SystemParameters.cs
- RequestStatusBarUpdateEventArgs.cs
- InvalidCommandTreeException.cs
- WorkItem.cs
- LogExtent.cs
- SystemWebSectionGroup.cs
- PerformanceCounterCategory.cs
- QilLoop.cs
- ServiceEndpointElement.cs
- ParameterCollection.cs
- QilTargetType.cs
- StaticSiteMapProvider.cs
- WorkflowViewElement.cs
- CreateUserWizardStep.cs
- Point4D.cs
- Wildcard.cs
- TextLineResult.cs
- TableNameAttribute.cs
- SmiEventSink_DeferedProcessing.cs
- CookielessHelper.cs
- FixedPageProcessor.cs
- CombinedGeometry.cs
- future.cs
- XmlExpressionDumper.cs
- ObjectQueryProvider.cs
- RegexTree.cs
- NativeRecognizer.cs
- SQLDateTime.cs
- DataBinder.cs
- SafeArrayTypeMismatchException.cs
- NamedPipeAppDomainProtocolHandler.cs
- AppDomainAttributes.cs
- _RequestCacheProtocol.cs
- Vector3DAnimationUsingKeyFrames.cs
- ContextConfiguration.cs
- NativeMethods.cs
- HashHelpers.cs
- PointConverter.cs
- TextCompositionManager.cs
- RelationshipConverter.cs
- AddInControllerImpl.cs
- CodeNamespaceImport.cs
- LineMetrics.cs
- DataStreams.cs
- HttpServerUtilityWrapper.cs
- TreeViewItem.cs
- ListViewItemEventArgs.cs
- InputLanguageCollection.cs
- SchemaElementDecl.cs
- Table.cs
- ConfigurationHandlersInstallComponent.cs
- VirtualPathData.cs
- MimeFormatExtensions.cs
- MimeReflector.cs
- DataBindingList.cs
- GridViewUpdateEventArgs.cs
- Geometry.cs
- ManagedIStream.cs
- SiteMapDataSourceView.cs
- CoreChannel.cs
- _LoggingObject.cs
- TemplateColumn.cs
- CapabilitiesPattern.cs
- MatrixAnimationUsingKeyFrames.cs
- Options.cs
- AccessDataSourceView.cs
- TypedColumnHandler.cs
- InvokePattern.cs
- AlignmentYValidation.cs
- RandomNumberGenerator.cs
- bidPrivateBase.cs
- MatrixAnimationBase.cs
- OleServicesContext.cs
- RadioButtonList.cs
- ExpressionParser.cs
- Cursors.cs
- UpDownBase.cs
- UInt32.cs
- TraceInternal.cs
- HttpModuleActionCollection.cs
- MappingItemCollection.cs
- Brush.cs
- MetaModel.cs
- PackWebResponse.cs
- TemplatedMailWebEventProvider.cs
- Update.cs
- DebugView.cs
- TextEffect.cs