Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / TransactionBridge / Microsoft / Transactions / Wsat / Recovery / LogEntryHeaderv1Deserializer.cs / 1 / LogEntryHeaderv1Deserializer.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- // This file contains the class that represents a deserialized log entry using System; using System.Diagnostics; using System.IO; using Microsoft.Transactions.Bridge; using Microsoft.Transactions.Wsat.InputOutput; using Microsoft.Transactions.Wsat.Messaging; namespace Microsoft.Transactions.Wsat.Recovery { class LogEntryHeaderv1Deserializer : LogEntryHeaderDeserializer { Guid localTransactionId; public LogEntryHeaderv1Deserializer(MemoryStream mem, Guid localTransactionId) : base(mem) { this.localTransactionId = localTransactionId; } public override LogEntry DeserializeHeader() { // Flags LogEntryHeaderv1Flags flags = (LogEntryHeaderv1Flags) SerializationUtils.ReadByte(this.mem); if (DebugTrace.Verbose) { DebugTrace.Trace(TraceLevel.Verbose, "DeserializeHeader flags: {0}", flags); } CheckFlags(flags); // Remote transaction id string remoteTransactionId; if ((flags & LogEntryHeaderv1Flags.StandardRemoteTransactionId) == 0) { remoteTransactionId = SerializationUtils.ReadString(mem); } else { remoteTransactionId = CoordinationContext.CreateNativeIdentifier(this.localTransactionId); } // Local enlistmentId Guid localEnlistmentId = SerializationUtils.ReadGuid(this.mem); return new LogEntry(remoteTransactionId, this.localTransactionId, localEnlistmentId); } void CheckFlags(LogEntryHeaderv1Flags flags) { const LogEntryHeaderv1Flags allFlags = LogEntryHeaderv1Flags.StandardRemoteTransactionId; if ((flags | allFlags) != allFlags) { // Enum validation-- only one value is accepted. If a different value is // used, we can't trust the data and the safest thing to do is crash. DiagnosticUtility.FailFast("Invalid LogEntryHeaderv1Flags"); } } } } // 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
- ConstrainedDataObject.cs
- METAHEADER.cs
- ImageField.cs
- UIElement3DAutomationPeer.cs
- EntityDataSourceQueryBuilder.cs
- ClonableStack.cs
- ApplicationCommands.cs
- LateBoundBitmapDecoder.cs
- ContentPosition.cs
- CannotUnloadAppDomainException.cs
- ObjectIDGenerator.cs
- ServiceAuthorizationManager.cs
- StylusShape.cs
- XmlSchemaValidationException.cs
- NumberSubstitution.cs
- GridItemProviderWrapper.cs
- LayoutEditorPart.cs
- DecimalFormatter.cs
- WpfKnownType.cs
- AbsoluteQuery.cs
- AnnotationMap.cs
- ProviderConnectionPointCollection.cs
- BasicCellRelation.cs
- WhitespaceSignificantCollectionAttribute.cs
- GridViewRow.cs
- ClonableStack.cs
- IMembershipProvider.cs
- Ipv6Element.cs
- WSSecurityPolicy.cs
- PersonalizablePropertyEntry.cs
- MultilineStringConverter.cs
- RowTypePropertyElement.cs
- XAMLParseException.cs
- GacUtil.cs
- UriTemplateMatchException.cs
- Brush.cs
- DataControlLinkButton.cs
- InvalidFilterCriteriaException.cs
- RangeExpression.cs
- AttachedAnnotationChangedEventArgs.cs
- DataGridTableCollection.cs
- GridViewCellAutomationPeer.cs
- StorageTypeMapping.cs
- ContentElementCollection.cs
- ADConnectionHelper.cs
- UInt16Storage.cs
- PropertyValueUIItem.cs
- NumberFunctions.cs
- GlyphTypeface.cs
- Literal.cs
- EndpointIdentity.cs
- ToolStripPanelRow.cs
- XmlSchemaImporter.cs
- DBCommand.cs
- OdbcParameterCollection.cs
- HandlerBase.cs
- Popup.cs
- TaiwanLunisolarCalendar.cs
- BindingCompleteEventArgs.cs
- DataReceivedEventArgs.cs
- BinaryObjectInfo.cs
- ServiceDesigner.cs
- WebControlsSection.cs
- PassportAuthentication.cs
- EntityDataSourceViewSchema.cs
- CalculatedColumn.cs
- HtmlInputFile.cs
- CommandLibraryHelper.cs
- XmlWrappingReader.cs
- MD5HashHelper.cs
- TagMapCollection.cs
- BinaryWriter.cs
- SingleResultAttribute.cs
- EntityContainerEmitter.cs
- Environment.cs
- HotSpotCollection.cs
- FontDriver.cs
- OrderByBuilder.cs
- StateMachine.cs
- MimeObjectFactory.cs
- AutomationIdentifierGuids.cs
- Stream.cs
- MemberHolder.cs
- CodeAttachEventStatement.cs
- HttpRequest.cs
- FileLogRecordEnumerator.cs
- EpmContentSerializerBase.cs
- UIElementCollection.cs
- COAUTHINFO.cs
- Util.cs
- EntityDataSourceDataSelectionPanel.cs
- PackageRelationshipSelector.cs
- ViewManagerAttribute.cs
- ElementFactory.cs
- RangeBaseAutomationPeer.cs
- Profiler.cs
- XmlSiteMapProvider.cs
- Point3DCollection.cs
- EventRecord.cs
- FamilyTypeface.cs