Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Log / System / IO / Log / FileLogRecordHeader.cs / 1305376 / FileLogRecordHeader.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.IO.Log { using System.IO; using System.Diagnostics; internal struct FileLogRecordHeader { [Flags] enum LowFlags : byte { RestartArea = 0x01 } internal const int Size = 20; internal const byte MAJORVER = 1; internal const byte MINORVER = 0; const int MajorVersionOffset = 0; const int MinorVersionOffset = 1; const int LowFlagsOffset = 2; const int HighFlagsOffset = 3; const int PreviousLsnOffsetHigh = 4; const int NextUndoLsnOffsetHigh = 12; byte[] bits; internal FileLogRecordHeader(byte[] bits) { if (bits == null) { this.bits = new Byte[Size]; this.bits[MajorVersionOffset] = MAJORVER; this.bits[MinorVersionOffset] = MINORVER; } else { if (bits.Length < Size) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(Error.LogCorrupt()); } // if version not supported then ??? if (bits[MajorVersionOffset] != MAJORVER) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(Error.IncompatibleVersion()); this.bits = bits; } } internal bool IsRestartArea { get { return (((LowFlags)bits[LowFlagsOffset] & LowFlags.RestartArea) != 0); } set { LowFlags flags = (LowFlags)bits[LowFlagsOffset]; if (value) flags |= LowFlags.RestartArea; else flags &= ~LowFlags.RestartArea; bits[LowFlagsOffset] = (byte)(flags); } } internal SequenceNumber PreviousLsn { get { return new SequenceNumber( BitConverter.ToUInt64(this.bits, PreviousLsnOffsetHigh)); } set { SequenceNumber.WriteUInt64(value.High, this.bits, PreviousLsnOffsetHigh); } } internal SequenceNumber NextUndoLsn { get { return new SequenceNumber(BitConverter.ToUInt64(this.bits, NextUndoLsnOffsetHigh)); } set { SequenceNumber.WriteUInt64(value.High, this.bits, NextUndoLsnOffsetHigh); } } internal byte[] Bits { get { return this.bits; } } } } // 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
- HttpRawResponse.cs
- altserialization.cs
- PrintingPermission.cs
- ForwardPositionQuery.cs
- ObservableDictionary.cs
- GroupBox.cs
- _AcceptOverlappedAsyncResult.cs
- ProxyHelper.cs
- WSFederationHttpSecurity.cs
- WebResponse.cs
- StatusBarDrawItemEvent.cs
- StyleXamlTreeBuilder.cs
- StaticExtension.cs
- TdsRecordBufferSetter.cs
- CommandValueSerializer.cs
- ExceptionUtil.cs
- XNodeSchemaApplier.cs
- HttpCacheVary.cs
- Evidence.cs
- DataList.cs
- XmlIlGenerator.cs
- BridgeDataRecord.cs
- MouseCaptureWithinProperty.cs
- ImageFormat.cs
- ExcludePathInfo.cs
- _NegoState.cs
- ComplexPropertyEntry.cs
- DiagnosticsConfigurationHandler.cs
- ValueConversionAttribute.cs
- PropertyFilterAttribute.cs
- XmlNodeReader.cs
- TextEditorContextMenu.cs
- oledbconnectionstring.cs
- DescendantBaseQuery.cs
- EditorZoneAutoFormat.cs
- KeyConstraint.cs
- XmlTextAttribute.cs
- MetaTableHelper.cs
- ValueType.cs
- CorrelationManager.cs
- OrderedDictionary.cs
- Queue.cs
- ExceptionRoutedEventArgs.cs
- PageCanvasSize.cs
- ProjectedSlot.cs
- NetPeerTcpBinding.cs
- ExceptionUtility.cs
- XmlNamedNodeMap.cs
- RelationshipConverter.cs
- WindowHideOrCloseTracker.cs
- RealizedColumnsBlock.cs
- CachedFontFace.cs
- TextHidden.cs
- FragmentQueryProcessor.cs
- querybuilder.cs
- Sequence.cs
- CatalogZone.cs
- DotExpr.cs
- UpdatePanelTriggerCollection.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- TouchFrameEventArgs.cs
- BitArray.cs
- OdbcConnectionFactory.cs
- WindowsProgressbar.cs
- IMembershipProvider.cs
- ElementAction.cs
- ContextItem.cs
- BrowserTree.cs
- Matrix3D.cs
- InvokePattern.cs
- FontResourceCache.cs
- SmtpSection.cs
- UIPermission.cs
- Message.cs
- SimpleApplicationHost.cs
- storepermission.cs
- SafeReversePInvokeHandle.cs
- CreateUserWizardDesigner.cs
- HierarchicalDataBoundControlAdapter.cs
- Propagator.ExtentPlaceholderCreator.cs
- SafeFindHandle.cs
- XPathDocument.cs
- WebPartCollection.cs
- WebReference.cs
- EntitySetBaseCollection.cs
- StructuredTypeEmitter.cs
- CharKeyFrameCollection.cs
- ToolStripOverflowButton.cs
- ReadWriteObjectLock.cs
- AnnotationResource.cs
- RefreshPropertiesAttribute.cs
- XmlSchemaFacet.cs
- VisualProxy.cs
- Journal.cs
- HwndTarget.cs
- HMACSHA1.cs
- XmlNodeChangedEventArgs.cs
- OutputCacheProfile.cs
- ThicknessConverter.cs
- SqlRowUpdatedEvent.cs