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
- SQLResource.cs
- HashCodeCombiner.cs
- AttributeCollection.cs
- BulletChrome.cs
- InvariantComparer.cs
- RelationshipFixer.cs
- ModelPerspective.cs
- StatusBarDrawItemEvent.cs
- _ScatterGatherBuffers.cs
- Math.cs
- SortedSet.cs
- XmlName.cs
- ResourceDefaultValueAttribute.cs
- ProviderUtil.cs
- StdValidatorsAndConverters.cs
- DynamicActivityProperty.cs
- TraversalRequest.cs
- SqlClientWrapperSmiStreamChars.cs
- ColorIndependentAnimationStorage.cs
- AssociationTypeEmitter.cs
- ExpressionPrinter.cs
- ZipIOExtraFieldPaddingElement.cs
- RegistryPermission.cs
- Journaling.cs
- MarginsConverter.cs
- ModelPropertyDescriptor.cs
- IChannel.cs
- TableLayoutStyle.cs
- SelectionPattern.cs
- RootBrowserWindowProxy.cs
- HttpHeaderCollection.cs
- XmlElementCollection.cs
- CodeChecksumPragma.cs
- SQLDateTimeStorage.cs
- XmlAutoDetectWriter.cs
- InteropBitmapSource.cs
- TypeUtil.cs
- SqlRowUpdatedEvent.cs
- CommonObjectSecurity.cs
- ReverseInheritProperty.cs
- MetadataProperty.cs
- Registration.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- EncoderReplacementFallback.cs
- XmlImplementation.cs
- x509utils.cs
- Collection.cs
- CompilationLock.cs
- querybuilder.cs
- InterleavedZipPartStream.cs
- ToolStripGrip.cs
- CustomWebEventKey.cs
- IntSecurity.cs
- DataReceivedEventArgs.cs
- DataComponentGenerator.cs
- _SslState.cs
- FixedSOMTableRow.cs
- OracleFactory.cs
- QilVisitor.cs
- ListViewInsertEventArgs.cs
- UndoUnit.cs
- BaseAppDomainProtocolHandler.cs
- SqlNodeTypeOperators.cs
- ScheduleChanges.cs
- Base64Stream.cs
- DataViewListener.cs
- VideoDrawing.cs
- OperationCanceledException.cs
- DetailsViewPageEventArgs.cs
- FieldBuilder.cs
- TrackBar.cs
- SafeRegistryHandle.cs
- OutArgument.cs
- SetMemberBinder.cs
- CollectionConverter.cs
- DataGridTable.cs
- XmlSchemaDatatype.cs
- HitTestWithPointDrawingContextWalker.cs
- ClientTargetCollection.cs
- relpropertyhelper.cs
- UIElement3D.cs
- DeploymentSectionCache.cs
- CompareValidator.cs
- Soap.cs
- ExtenderHelpers.cs
- Deflater.cs
- EditorZoneAutoFormat.cs
- WorkflowWebService.cs
- contentDescriptor.cs
- StringValidatorAttribute.cs
- XsdSchemaFileEditor.cs
- FixedHyperLink.cs
- NameValueSectionHandler.cs
- DocumentSequenceHighlightLayer.cs
- ThreadSafeList.cs
- MethodRental.cs
- ObjectConverter.cs
- SequentialUshortCollection.cs
- DataSourceControl.cs
- CodeSubDirectoriesCollection.cs