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
- TextServicesHost.cs
- WorkBatch.cs
- SynchronizationHandlesCodeDomSerializer.cs
- TraceFilter.cs
- WebMessageBodyStyleHelper.cs
- LambdaCompiler.Address.cs
- SqlSupersetValidator.cs
- BigInt.cs
- SortedList.cs
- ObjRef.cs
- ReadOnlyTernaryTree.cs
- InvalidateEvent.cs
- ValueType.cs
- HwndSourceKeyboardInputSite.cs
- ButtonBase.cs
- ClientRuntimeConfig.cs
- EntitySetBaseCollection.cs
- ManagementNamedValueCollection.cs
- versioninfo.cs
- AliasedSlot.cs
- ReachIDocumentPaginatorSerializerAsync.cs
- Inflater.cs
- ConstraintCollection.cs
- AsyncPostBackTrigger.cs
- ParallelEnumerable.cs
- ToolStripArrowRenderEventArgs.cs
- MetafileEditor.cs
- BStrWrapper.cs
- SystemException.cs
- RequestNavigateEventArgs.cs
- SignatureDescription.cs
- JournalEntryListConverter.cs
- TransformPattern.cs
- SimpleApplicationHost.cs
- TextProviderWrapper.cs
- X509CertificateClaimSet.cs
- BStrWrapper.cs
- SqlBuffer.cs
- ZoneMembershipCondition.cs
- XPathDescendantIterator.cs
- TextBreakpoint.cs
- XmlHierarchicalDataSourceView.cs
- WorkflowElementDialog.cs
- TemplatedWizardStep.cs
- FormatException.cs
- Hex.cs
- Pair.cs
- DataGridViewCell.cs
- HttpStaticObjectsCollectionBase.cs
- ImageDrawing.cs
- DataAdapter.cs
- XmlDocument.cs
- BaseCodePageEncoding.cs
- Inline.cs
- MemoryPressure.cs
- EncoderFallback.cs
- SelectionPatternIdentifiers.cs
- EntityCommandCompilationException.cs
- UserControlCodeDomTreeGenerator.cs
- XmlDeclaration.cs
- ProxyAttribute.cs
- CardSpaceShim.cs
- MemberMaps.cs
- IPipelineRuntime.cs
- ResourceReader.cs
- CultureSpecificStringDictionary.cs
- SequenceDesigner.xaml.cs
- ToolboxBitmapAttribute.cs
- EntitySet.cs
- EmbeddedMailObjectsCollection.cs
- ToolStripRenderEventArgs.cs
- PenCursorManager.cs
- MetadataCacheItem.cs
- AppDomainManager.cs
- ControlUtil.cs
- ObjectDataSourceFilteringEventArgs.cs
- DiagnosticsConfiguration.cs
- PeerHopCountAttribute.cs
- ProcessStartInfo.cs
- ImageEditor.cs
- AccessDataSourceView.cs
- BuildDependencySet.cs
- RunWorkerCompletedEventArgs.cs
- TypeListConverter.cs
- DesignerVerbToolStripMenuItem.cs
- WebPartPersonalization.cs
- NeedSkipTokenVisitor.cs
- LinqDataSourceSelectEventArgs.cs
- CalendarDesigner.cs
- DbConnectionStringBuilder.cs
- __TransparentProxy.cs
- SettingsPropertyWrongTypeException.cs
- altserialization.cs
- IPEndPointCollection.cs
- ModuleBuilder.cs
- XmlQueryTypeFactory.cs
- cryptoapiTransform.cs
- StreamAsIStream.cs
- BitmapPalettes.cs
- RowSpanVector.cs