Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Channels / TcpConnectionPoolSettings.cs / 1 / TcpConnectionPoolSettings.cs
//------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------
namespace System.ServiceModel.Channels
{
public sealed class TcpConnectionPoolSettings
{
string groupName;
TimeSpan idleTimeout;
TimeSpan leaseTimeout;
int maxOutboundConnectionsPerEndpoint;
internal TcpConnectionPoolSettings()
{
groupName = ConnectionOrientedTransportDefaults.ConnectionPoolGroupName;
idleTimeout = ConnectionOrientedTransportDefaults.IdleTimeout;
leaseTimeout = TcpTransportDefaults.ConnectionLeaseTimeout;
maxOutboundConnectionsPerEndpoint = ConnectionOrientedTransportDefaults.MaxOutboundConnectionsPerEndpoint;
}
internal TcpConnectionPoolSettings(TcpConnectionPoolSettings tcp)
{
this.groupName = tcp.groupName;
this.idleTimeout = tcp.idleTimeout;
this.leaseTimeout = tcp.leaseTimeout;
this.maxOutboundConnectionsPerEndpoint = tcp.maxOutboundConnectionsPerEndpoint;
}
public string GroupName
{
get { return this.groupName; }
set
{
if (value == null)
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("value");
this.groupName = value;
}
}
public TimeSpan IdleTimeout
{
get { return this.idleTimeout; }
set
{
if (value < TimeSpan.Zero)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value", value,
SR.GetString(SR.SFxTimeoutOutOfRange0)));
}
if (TimeoutHelper.IsTooLarge(value))
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value", value,
SR.GetString(SR.SFxTimeoutOutOfRangeTooBig)));
}
this.idleTimeout = value;
}
}
public TimeSpan LeaseTimeout
{
get { return this.leaseTimeout; }
set
{
if (value < TimeSpan.Zero)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value", value,
SR.GetString(SR.SFxTimeoutOutOfRange0)));
}
if (TimeoutHelper.IsTooLarge(value))
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value", value,
SR.GetString(SR.SFxTimeoutOutOfRangeTooBig)));
}
this.leaseTimeout = value;
}
}
public int MaxOutboundConnectionsPerEndpoint
{
get { return this.maxOutboundConnectionsPerEndpoint; }
set
{
if (value < 0)
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value", value,
SR.GetString(SR.ValueMustBeNonNegative)));
this.maxOutboundConnectionsPerEndpoint = value;
}
}
internal TcpConnectionPoolSettings Clone()
{
return new TcpConnectionPoolSettings(this);
}
internal bool IsMatch(TcpConnectionPoolSettings tcp)
{
if (this.groupName != tcp.groupName)
return false;
if (this.idleTimeout != tcp.idleTimeout)
return false;
if (this.leaseTimeout != tcp.leaseTimeout)
return false;
if (this.maxOutboundConnectionsPerEndpoint != tcp.maxOutboundConnectionsPerEndpoint)
return false;
return true;
}
}
}
// 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
- ObjectView.cs
- GeometryCombineModeValidation.cs
- CustomPopupPlacement.cs
- CacheSection.cs
- DefaultClaimSet.cs
- selecteditemcollection.cs
- TextEncodedRawTextWriter.cs
- ManipulationCompletedEventArgs.cs
- DataGridTextBox.cs
- OperationAbortedException.cs
- PropertyInformationCollection.cs
- XmlNamedNodeMap.cs
- IndependentAnimationStorage.cs
- FunctionDetailsReader.cs
- String.cs
- PermissionSetEnumerator.cs
- ObsoleteAttribute.cs
- ActiveXHost.cs
- MethodToken.cs
- ParameterModifier.cs
- ButtonStandardAdapter.cs
- ValidationError.cs
- DateTimeFormatInfoScanner.cs
- ClientRuntimeConfig.cs
- SafeNativeMethods.cs
- MouseEvent.cs
- FacetValueContainer.cs
- CollaborationHelperFunctions.cs
- PhoneCall.cs
- ConstraintCollection.cs
- ControlPropertyNameConverter.cs
- WorkflowLayouts.cs
- QueryProcessor.cs
- EdmItemError.cs
- Utils.cs
- WebPartConnectionsDisconnectVerb.cs
- NamespaceEmitter.cs
- FormsAuthenticationUserCollection.cs
- MemberHolder.cs
- UnsignedPublishLicense.cs
- DisplayNameAttribute.cs
- PerspectiveCamera.cs
- MemoryPressure.cs
- NonPrimarySelectionGlyph.cs
- LinkLabel.cs
- ResourceAssociationSetEnd.cs
- CompleteWizardStep.cs
- UnSafeCharBuffer.cs
- WizardStepBase.cs
- HtmlInputRadioButton.cs
- DefaultHttpHandler.cs
- hresults.cs
- PropertyPath.cs
- ListDesigner.cs
- FileDialogCustomPlace.cs
- DetailsViewInsertedEventArgs.cs
- ValidationHelper.cs
- WorkflowRuntimeElement.cs
- ConfigurationElementCollection.cs
- CollectionEditVerbManager.cs
- HttpServerVarsCollection.cs
- MultiAsyncResult.cs
- CrossAppDomainChannel.cs
- SocketAddress.cs
- KeyConstraint.cs
- StylusPlugin.cs
- SectionRecord.cs
- UpdateManifestForBrowserApplication.cs
- SimpleRecyclingCache.cs
- SchemaImporterExtensionElement.cs
- FixedTextContainer.cs
- CodeVariableReferenceExpression.cs
- ToolStripDesigner.cs
- ConditionedDesigner.cs
- AuthenticationConfig.cs
- Publisher.cs
- AssemblyResourceLoader.cs
- StrokeNodeOperations2.cs
- Pipe.cs
- TreeNodeStyle.cs
- ProcessModule.cs
- DecoratedNameAttribute.cs
- TypeLibraryHelper.cs
- LineSegment.cs
- UnicastIPAddressInformationCollection.cs
- HtmlGenericControl.cs
- XmlBinaryReader.cs
- DecimalFormatter.cs
- IsolatedStorageException.cs
- Highlights.cs
- CodeCompileUnit.cs
- ThreadExceptionDialog.cs
- DataSourceSelectArguments.cs
- ContactManager.cs
- ServerType.cs
- XmlElementAttributes.cs
- SoapAttributes.cs
- DescendantOverDescendantQuery.cs
- XPathPatternParser.cs
- DynamicScriptObject.cs