Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Channels / TimeoutStream.cs / 1 / TimeoutStream.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Channels { using System.IO; // Enforces an overall timeout based on the TimeoutHelper passed in class TimeoutStream : DelegatingStream { TimeoutHelper timeoutHelper; public TimeoutStream(Stream stream, ref TimeoutHelper timeoutHelper) : base(stream) { if (!stream.CanTimeout) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("stream", SR.GetString(SR.StreamDoesNotSupportTimeout)); } this.timeoutHelper = timeoutHelper; } void UpdateReadTimeout() { this.ReadTimeout = TimeoutHelper.ToMilliseconds(this.timeoutHelper.RemainingTime()); } void UpdateWriteTimeout() { this.WriteTimeout = TimeoutHelper.ToMilliseconds(this.timeoutHelper.RemainingTime()); } public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback callback, object state) { UpdateReadTimeout(); return base.BeginRead(buffer, offset, count, callback, state); } public override IAsyncResult BeginWrite(byte[] buffer, int offset, int count, AsyncCallback callback, object state) { UpdateWriteTimeout(); return base.BeginWrite(buffer, offset, count, callback, state); } public override int Read(byte[] buffer, int offset, int count) { UpdateReadTimeout(); return base.Read(buffer, offset, count); } public override int ReadByte() { UpdateReadTimeout(); return base.ReadByte(); } public override void Write(byte[] buffer, int offset, int count) { UpdateWriteTimeout(); base.Write(buffer, offset, count); } public override void WriteByte(byte value) { UpdateWriteTimeout(); base.WriteByte(value); } } } // 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
- EntityCommandDefinition.cs
- COM2PropertyDescriptor.cs
- Journal.cs
- CngKey.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- HitTestFilterBehavior.cs
- HttpBindingExtension.cs
- HierarchicalDataTemplate.cs
- LocationChangedEventArgs.cs
- FrameworkContentElement.cs
- DataGridViewButtonColumn.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- ZoomPercentageConverter.cs
- TextTabProperties.cs
- Activator.cs
- ResourcePermissionBase.cs
- ValueTable.cs
- GPPOINT.cs
- DebugView.cs
- EventLogTraceListener.cs
- BitmapPalette.cs
- QilCloneVisitor.cs
- TraceContextEventArgs.cs
- RowToFieldTransformer.cs
- FastEncoder.cs
- CalendarSelectionChangedEventArgs.cs
- DeflateEmulationStream.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- COM2Enum.cs
- CommandBindingCollection.cs
- SpeechDetectedEventArgs.cs
- ImportCatalogPart.cs
- DecoratedNameAttribute.cs
- connectionpool.cs
- SmtpReplyReader.cs
- sitestring.cs
- WorkflowMarkupSerializerMapping.cs
- Application.cs
- UriScheme.cs
- SqlReferenceCollection.cs
- DecimalConstantAttribute.cs
- XmlEntity.cs
- IDQuery.cs
- PlatformNotSupportedException.cs
- SqlBuffer.cs
- ContextInformation.cs
- CompareInfo.cs
- CompositeTypefaceMetrics.cs
- BitmapCodecInfoInternal.cs
- SatelliteContractVersionAttribute.cs
- Pipe.cs
- XmlSchemaAnnotation.cs
- DataSourceComponent.cs
- PenThreadWorker.cs
- CapabilitiesAssignment.cs
- SqlCommandSet.cs
- EdmItemError.cs
- ProbeMatchesCD1.cs
- smtpconnection.cs
- CqlWriter.cs
- DetailsView.cs
- SerializationSectionGroup.cs
- WorkflowClientDeliverMessageWrapper.cs
- CalendarTable.cs
- DataReceivedEventArgs.cs
- EntityParameterCollection.cs
- ColorContextHelper.cs
- LocalizableAttribute.cs
- InitializationEventAttribute.cs
- WindowsListViewGroup.cs
- QuaternionKeyFrameCollection.cs
- TreeNodeCollection.cs
- XmlWrappingWriter.cs
- HttpProfileGroupBase.cs
- DecimalKeyFrameCollection.cs
- TabletCollection.cs
- Timeline.cs
- TargetPerspective.cs
- SpeechSynthesizer.cs
- DataGridColumnCollection.cs
- XmlSchemaParticle.cs
- FormViewCommandEventArgs.cs
- ContentOperations.cs
- ListenerTraceUtility.cs
- ISessionStateStore.cs
- QueryBranchOp.cs
- SafeCoTaskMem.cs
- RSAPKCS1SignatureFormatter.cs
- InvokePatternIdentifiers.cs
- AttributeExtensions.cs
- ModelItemKeyValuePair.cs
- HyperLinkColumn.cs
- SourceFilter.cs
- DateTimeUtil.cs
- XmlHierarchyData.cs
- WmlSelectionListAdapter.cs
- AppDomainShutdownMonitor.cs
- MembershipPasswordException.cs
- ScopelessEnumAttribute.cs
- TypeExtensionConverter.cs