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
- DockEditor.cs
- StreamWriter.cs
- ConfigurationPermission.cs
- X509CertificateCollection.cs
- RelatedCurrencyManager.cs
- SqlStream.cs
- ToolStripButton.cs
- IdnMapping.cs
- Error.cs
- Quad.cs
- RecordsAffectedEventArgs.cs
- QilName.cs
- XsltConvert.cs
- CertificateManager.cs
- UsernameTokenFactoryCredential.cs
- httpstaticobjectscollection.cs
- Int32AnimationUsingKeyFrames.cs
- CursorInteropHelper.cs
- MeasureData.cs
- BinaryUtilClasses.cs
- DataServiceQueryException.cs
- DependencyObjectType.cs
- OpenTypeCommon.cs
- configsystem.cs
- FixedTextContainer.cs
- MetaType.cs
- ImageCollectionEditor.cs
- HwndMouseInputProvider.cs
- StaticFileHandler.cs
- PluralizationServiceUtil.cs
- ContainerTracking.cs
- HttpRuntime.cs
- Matrix3D.cs
- FlowDocumentReader.cs
- HttpCookie.cs
- StatusBar.cs
- ListViewAutomationPeer.cs
- TaiwanLunisolarCalendar.cs
- ObjectDataSource.cs
- SelectingProviderEventArgs.cs
- SocketAddress.cs
- ContentOperations.cs
- SHA256CryptoServiceProvider.cs
- BroadcastEventHelper.cs
- QueryPageSettingsEventArgs.cs
- CheckBoxField.cs
- DataRowChangeEvent.cs
- DictationGrammar.cs
- TextServicesPropertyRanges.cs
- PieceDirectory.cs
- X509CertificateChain.cs
- DataRelation.cs
- WebBrowserSiteBase.cs
- filewebresponse.cs
- WebAdminConfigurationHelper.cs
- GuidConverter.cs
- SqlBulkCopyColumnMapping.cs
- DateTimeUtil.cs
- ChineseLunisolarCalendar.cs
- MetaForeignKeyColumn.cs
- TextEditorCopyPaste.cs
- HttpHandlerAction.cs
- ModuleBuilder.cs
- DetailsView.cs
- XmlSchemaElement.cs
- regiisutil.cs
- SessionSwitchEventArgs.cs
- StringDictionary.cs
- Container.cs
- FilteredReadOnlyMetadataCollection.cs
- FixedHyperLink.cs
- MetadataArtifactLoaderCompositeFile.cs
- InlineUIContainer.cs
- DataPagerCommandEventArgs.cs
- XmlWellformedWriter.cs
- NegatedCellConstant.cs
- ChannelSinkStacks.cs
- QilInvokeLateBound.cs
- CommandLibraryHelper.cs
- SessionPageStatePersister.cs
- SchemaManager.cs
- HtmlCalendarAdapter.cs
- HopperCache.cs
- ExtendedProtectionPolicyTypeConverter.cs
- TypeSemantics.cs
- TypedColumnHandler.cs
- UnsafeNativeMethods.cs
- ToolBarTray.cs
- ServiceDeploymentInfo.cs
- SafeCoTaskMem.cs
- X509Utils.cs
- AVElementHelper.cs
- TextEndOfLine.cs
- TreeChangeInfo.cs
- WindowsProgressbar.cs
- LinqDataSourceInsertEventArgs.cs
- RuleSetDialog.Designer.cs
- NullableDecimalSumAggregationOperator.cs
- PKCS1MaskGenerationMethod.cs
- ListViewGroupConverter.cs