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
- PkcsUtils.cs
- mediaeventargs.cs
- CreateUserWizardStep.cs
- CompressionTransform.cs
- SingleKeyFrameCollection.cs
- Hashtable.cs
- ModelPerspective.cs
- WorkflowQueuingService.cs
- IERequestCache.cs
- Misc.cs
- OdbcPermission.cs
- ToolTipService.cs
- MemberRelationshipService.cs
- WindowsListViewItemCheckBox.cs
- OutputCacheProviderCollection.cs
- QueueException.cs
- NetTcpSection.cs
- XmlILModule.cs
- XmlObjectSerializerContext.cs
- AdPostCacheSubstitution.cs
- ProfileSettings.cs
- Parser.cs
- FactoryId.cs
- DocumentXPathNavigator.cs
- WindowVisualStateTracker.cs
- PropVariant.cs
- WebMessageEncoderFactory.cs
- TypeForwardedFromAttribute.cs
- XmlCodeExporter.cs
- ExpressionWriter.cs
- RectangleGeometry.cs
- InfiniteTimeSpanConverter.cs
- PingReply.cs
- _StreamFramer.cs
- VisualBrush.cs
- XmlSchemaGroupRef.cs
- TypeLoadException.cs
- WindowsRebar.cs
- RangeValidator.cs
- XmlSchemaImporter.cs
- ITextView.cs
- PeerNameResolver.cs
- ValidatorCompatibilityHelper.cs
- FastPropertyAccessor.cs
- SQLMoney.cs
- RegexMatch.cs
- CheckBoxRenderer.cs
- SortedList.cs
- DefaultParameterValueAttribute.cs
- IntegerValidator.cs
- SmtpMail.cs
- TraversalRequest.cs
- ActiveXSite.cs
- ManagementNamedValueCollection.cs
- TextBounds.cs
- TextContainerChangeEventArgs.cs
- CodeSnippetStatement.cs
- SoapReflector.cs
- ProviderCommandInfoUtils.cs
- RoleGroup.cs
- RowParagraph.cs
- AsyncOperationManager.cs
- DataServiceEntityAttribute.cs
- Win32Exception.cs
- TriggerCollection.cs
- ManagementObjectSearcher.cs
- InstanceDescriptor.cs
- ServicePointManagerElement.cs
- TypeSystem.cs
- RadioButtonPopupAdapter.cs
- MouseDevice.cs
- CompilerTypeWithParams.cs
- XmlSchemaAttribute.cs
- XmlNodeChangedEventArgs.cs
- ScrollChangedEventArgs.cs
- DictionaryTraceRecord.cs
- CreateUserErrorEventArgs.cs
- HideDisabledControlAdapter.cs
- TypeLoadException.cs
- ConstraintCollection.cs
- XmlSchemaAttribute.cs
- IgnoreSectionHandler.cs
- TerminatorSinks.cs
- Polygon.cs
- DatatypeImplementation.cs
- QilGenerator.cs
- ThrowHelper.cs
- RectConverter.cs
- SpeakCompletedEventArgs.cs
- UserControlBuildProvider.cs
- WebMessageBodyStyleHelper.cs
- ScalarOps.cs
- DrawingBrush.cs
- InitializationEventAttribute.cs
- StandardCommandToolStripMenuItem.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- FlowDocumentFormatter.cs
- SettingsContext.cs
- SoapObjectReader.cs
- SqlBulkCopyColumnMappingCollection.cs