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
- Win32NamedPipes.cs
- WebPartUtil.cs
- BatchWriter.cs
- GraphicsState.cs
- WsdlInspector.cs
- RepeatBehavior.cs
- RemotingAttributes.cs
- QilStrConcat.cs
- BamlRecordHelper.cs
- QilGenerator.cs
- Label.cs
- AttachedPropertiesService.cs
- HttpRequest.cs
- DictionarySurrogate.cs
- StylusCollection.cs
- AssemblyAssociatedContentFileAttribute.cs
- CodeDefaultValueExpression.cs
- WebBrowserNavigatingEventHandler.cs
- ConfigDefinitionUpdates.cs
- OleDbConnectionFactory.cs
- EtwTrace.cs
- WorkflowRuntimeService.cs
- Item.cs
- RemotingSurrogateSelector.cs
- WindowsBrush.cs
- DataIdProcessor.cs
- MemoryStream.cs
- SHA384.cs
- SessionParameter.cs
- TransformerInfoCollection.cs
- WebPartMenu.cs
- TextUtf8RawTextWriter.cs
- GifBitmapEncoder.cs
- TreeNodeBindingCollection.cs
- SplashScreen.cs
- StateManagedCollection.cs
- KeyedHashAlgorithm.cs
- PrimarySelectionAdorner.cs
- XdrBuilder.cs
- _PooledStream.cs
- Util.cs
- ExecutedRoutedEventArgs.cs
- InternalPermissions.cs
- CommandLibraryHelper.cs
- MethodImplAttribute.cs
- SineEase.cs
- MailAddress.cs
- XmlSiteMapProvider.cs
- LoginDesignerUtil.cs
- QuotedStringFormatReader.cs
- PlanCompilerUtil.cs
- CompiledQuery.cs
- ZipIOLocalFileDataDescriptor.cs
- KnownBoxes.cs
- LocalValueEnumerator.cs
- BamlRecords.cs
- AutomationEventArgs.cs
- TempFiles.cs
- Part.cs
- DataSvcMapFileSerializer.cs
- GenericsInstances.cs
- Camera.cs
- SqlUDTStorage.cs
- DrawingAttributes.cs
- RequestCacheValidator.cs
- ProfileModule.cs
- InlineCollection.cs
- ElementFactory.cs
- ConfigurationManagerInternal.cs
- AddInToken.cs
- JoinSymbol.cs
- TextTabProperties.cs
- PersonalizationStateQuery.cs
- RadioButtonList.cs
- LinqDataSourceStatusEventArgs.cs
- DbConnectionPoolGroup.cs
- DataGridViewCheckBoxColumn.cs
- MULTI_QI.cs
- Rect3DValueSerializer.cs
- WebPartEditorOkVerb.cs
- UnmanagedMemoryStream.cs
- SequentialOutput.cs
- MethodCallTranslator.cs
- UInt64Converter.cs
- CustomActivityDesigner.cs
- PageThemeParser.cs
- WebPartConnectionsConfigureVerb.cs
- ObjectToken.cs
- PartitionResolver.cs
- RouteData.cs
- RectAnimationUsingKeyFrames.cs
- PageParser.cs
- ResourceKey.cs
- IconHelper.cs
- ListBindableAttribute.cs
- IntegerValidator.cs
- DllNotFoundException.cs
- ConfigXmlText.cs
- XDRSchema.cs
- EncryptedData.cs