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
- PlainXmlWriter.cs
- CodeCompileUnit.cs
- Icon.cs
- PrimitiveSchema.cs
- SQLCharsStorage.cs
- Slider.cs
- EncoderExceptionFallback.cs
- DataGridTextBoxColumn.cs
- LinkedDataMemberFieldEditor.cs
- CommandID.cs
- TileBrush.cs
- ExpressionBuilderCollection.cs
- SqlDataSourceFilteringEventArgs.cs
- RewritingPass.cs
- DataObjectSettingDataEventArgs.cs
- RulePatternOps.cs
- BufferBuilder.cs
- ChunkedMemoryStream.cs
- BinaryObjectWriter.cs
- OleDbConnectionInternal.cs
- MasterPage.cs
- AssemblyNameProxy.cs
- Font.cs
- UnsafeNativeMethods.cs
- DesignerVerbCollection.cs
- TemplateParser.cs
- RemoteCryptoRsaServiceProvider.cs
- AssociationTypeEmitter.cs
- GeometryHitTestResult.cs
- DocComment.cs
- Parsers.cs
- FtpRequestCacheValidator.cs
- OrthographicCamera.cs
- PageThemeCodeDomTreeGenerator.cs
- AsymmetricAlgorithm.cs
- IArgumentProvider.cs
- CustomExpression.cs
- WebPartCatalogAddVerb.cs
- MemoryMappedFile.cs
- DeferredBinaryDeserializerExtension.cs
- ParserHooks.cs
- ViewPort3D.cs
- MouseGestureValueSerializer.cs
- XMLSyntaxException.cs
- FormsIdentity.cs
- FixedSOMImage.cs
- DataGridViewMethods.cs
- XmlSchemaChoice.cs
- ApplicationCommands.cs
- DesignerProperties.cs
- ListViewItemSelectionChangedEvent.cs
- XmlStrings.cs
- BookmarkEventArgs.cs
- EdmFunctionAttribute.cs
- X509CertificateChain.cs
- AnimatedTypeHelpers.cs
- ChangeBlockUndoRecord.cs
- GridViewSelectEventArgs.cs
- ResourceIDHelper.cs
- SQLBinary.cs
- InkCanvasInnerCanvas.cs
- COM2PropertyBuilderUITypeEditor.cs
- PropertyGridView.cs
- BitmapSourceSafeMILHandle.cs
- MobileRedirect.cs
- sitestring.cs
- InheritanceAttribute.cs
- CodeExporter.cs
- arabicshape.cs
- ConstructorExpr.cs
- ListBoxItemWrapperAutomationPeer.cs
- TextSchema.cs
- CustomErrorCollection.cs
- CssStyleCollection.cs
- ListenerAdapter.cs
- CodeAttributeArgumentCollection.cs
- CompileXomlTask.cs
- StateBag.cs
- COM2PropertyPageUITypeConverter.cs
- NegotiationTokenAuthenticator.cs
- TreeViewEvent.cs
- HelpKeywordAttribute.cs
- TemplateModeChangedEventArgs.cs
- PerformanceCounter.cs
- BuildResult.cs
- ExpressionCopier.cs
- SQLUtility.cs
- ThemeDirectoryCompiler.cs
- SoapEnumAttribute.cs
- ContractType.cs
- DataReaderContainer.cs
- ClientFormsIdentity.cs
- DetailsViewAutoFormat.cs
- RepeatBehaviorConverter.cs
- CoreSwitches.cs
- OleDbSchemaGuid.cs
- BindStream.cs
- TemplateControlParser.cs
- DbConnectionPool.cs
- NotCondition.cs