Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / Log / System / IO / Log / FileLogRecordHeader.cs / 1 / 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. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ByteStack.cs
- ScalarRestriction.cs
- PeerSecurityManager.cs
- Condition.cs
- Control.cs
- UrlParameterWriter.cs
- ScrollChrome.cs
- WebPartCloseVerb.cs
- HScrollProperties.cs
- TextTabProperties.cs
- TransformerTypeCollection.cs
- ZipIOExtraField.cs
- DependencyPropertyChangedEventArgs.cs
- Page.cs
- HttpsTransportElement.cs
- ExpandedProjectionNode.cs
- TrackingQuery.cs
- xmlformatgeneratorstatics.cs
- GeneralTransform2DTo3D.cs
- CompilerGeneratedAttribute.cs
- SynchronizedPool.cs
- AnnouncementSendsAsyncResult.cs
- ToolboxComponentsCreatedEventArgs.cs
- TimeoutException.cs
- TemplateContainer.cs
- Context.cs
- SafeProcessHandle.cs
- SoapElementAttribute.cs
- codemethodreferenceexpression.cs
- SimpleApplicationHost.cs
- WeakEventManager.cs
- CmsUtils.cs
- MonthCalendar.cs
- FlowDocument.cs
- ListBox.cs
- RoleServiceManager.cs
- StringCollection.cs
- PointAnimationBase.cs
- FileUpload.cs
- BindingSource.cs
- Int32Rect.cs
- FontSource.cs
- DataTemplate.cs
- _SslState.cs
- DataStreams.cs
- UpdateException.cs
- StaticDataManager.cs
- Util.cs
- BufferedWebEventProvider.cs
- DataKeyArray.cs
- TrustManagerMoreInformation.cs
- LayoutInformation.cs
- CodePropertyReferenceExpression.cs
- coordinator.cs
- RectAnimationClockResource.cs
- IsolatedStorageFileStream.cs
- PolicyException.cs
- CodeNamespaceImportCollection.cs
- TypeLibConverter.cs
- DtrList.cs
- QuaternionAnimationUsingKeyFrames.cs
- Transaction.cs
- EncodingTable.cs
- SetIterators.cs
- MsmqQueue.cs
- DbTransaction.cs
- MasterPageParser.cs
- SystemWebCachingSectionGroup.cs
- Bold.cs
- DefaultObjectMappingItemCollection.cs
- CodeStatementCollection.cs
- KnownTypesHelper.cs
- Win32Exception.cs
- ExtensionQuery.cs
- KeyValueConfigurationElement.cs
- WebPartVerbsEventArgs.cs
- AxisAngleRotation3D.cs
- SqlMethodTransformer.cs
- InheritanceContextChangedEventManager.cs
- EndpointInfo.cs
- ProfileManager.cs
- ContentIterators.cs
- ImplicitInputBrush.cs
- ConstraintCollection.cs
- RenamedEventArgs.cs
- XmlValidatingReaderImpl.cs
- ProfileGroupSettingsCollection.cs
- RelationshipNavigation.cs
- InternalRelationshipCollection.cs
- Unit.cs
- Attributes.cs
- ByteFacetDescriptionElement.cs
- DataAdapter.cs
- DbConnectionPool.cs
- ConnectionManagementElement.cs
- CollectionDataContract.cs
- _RequestCacheProtocol.cs
- WebControlsSection.cs
- Emitter.cs
- CategoryNameCollection.cs