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
- InvokePatternIdentifiers.cs
- ImplicitInputBrush.cs
- BuiltInExpr.cs
- DBParameter.cs
- Separator.cs
- AutoGeneratedField.cs
- Block.cs
- StrongNameUtility.cs
- DatePickerTextBox.cs
- Transform.cs
- UrlAuthFailureHandler.cs
- ListItemParagraph.cs
- EventData.cs
- DecimalMinMaxAggregationOperator.cs
- FixedPageProcessor.cs
- SafeWaitHandle.cs
- XmlEventCache.cs
- DispatcherEventArgs.cs
- CriticalFileToken.cs
- NestPullup.cs
- BindToObject.cs
- SecurityException.cs
- DesignerActionPropertyItem.cs
- TextTreeDeleteContentUndoUnit.cs
- XmlILConstructAnalyzer.cs
- ParserStreamGeometryContext.cs
- StatusBarPanelClickEvent.cs
- XmlSchemaAppInfo.cs
- CFStream.cs
- ProxyWebPartConnectionCollection.cs
- XamlTreeBuilder.cs
- QueryGeneratorBase.cs
- AssociationTypeEmitter.cs
- Exception.cs
- CodeConstructor.cs
- DBSchemaTable.cs
- TextParentUndoUnit.cs
- XmlSchemaAnyAttribute.cs
- TextWriterTraceListener.cs
- Calendar.cs
- InvokeGenerator.cs
- SignatureToken.cs
- SourceExpressionException.cs
- StyleXamlTreeBuilder.cs
- TailCallAnalyzer.cs
- BaseServiceProvider.cs
- UserPreferenceChangedEventArgs.cs
- PropertyBuilder.cs
- NamespaceCollection.cs
- SecurityUniqueId.cs
- DragStartedEventArgs.cs
- Overlapped.cs
- DependencyObjectPropertyDescriptor.cs
- GroupPartitionExpr.cs
- DataKeyCollection.cs
- UnionCodeGroup.cs
- documentation.cs
- GeneralTransform3DCollection.cs
- RTLAwareMessageBox.cs
- SHA1.cs
- EventRoute.cs
- CryptographicAttribute.cs
- HostingEnvironmentSection.cs
- NetTcpSectionData.cs
- ListViewInsertedEventArgs.cs
- BufferAllocator.cs
- OdbcPermission.cs
- AffineTransform3D.cs
- Int16.cs
- UrlRoutingModule.cs
- UnsafeNativeMethods.cs
- HtmlContainerControl.cs
- FontConverter.cs
- ColorConverter.cs
- SecurityAccessDeniedException.cs
- TransactionManager.cs
- StickyNote.cs
- TypeSystemProvider.cs
- WorkflowEnvironment.cs
- RedirectionProxy.cs
- PersonalizationDictionary.cs
- InlineUIContainer.cs
- EmbossBitmapEffect.cs
- ResXFileRef.cs
- AnnotationComponentChooser.cs
- ResourceDictionary.cs
- ZipIOLocalFileHeader.cs
- validation.cs
- ConfigXmlWhitespace.cs
- NotSupportedException.cs
- DataObjectMethodAttribute.cs
- DataPagerFieldCollection.cs
- EntityCommandExecutionException.cs
- JournalEntry.cs
- BigInt.cs
- EventLogger.cs
- MaskedTextProvider.cs
- GeneralTransformGroup.cs
- SerializationEventsCache.cs
- Update.cs