xml/Microsoft.Azure.Documents.Client/ConnectionPolicy.xml (613 lines of code) (raw):
<Type Name="ConnectionPolicy" FullName="Microsoft.Azure.Documents.Client.ConnectionPolicy">
<TypeSignature Language="C#" Value="public sealed class ConnectionPolicy" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit ConnectionPolicy extends System.Object" />
<TypeSignature Language="DocId" Value="T:Microsoft.Azure.Documents.Client.ConnectionPolicy" />
<TypeSignature Language="VB.NET" Value="Public NotInheritable Class ConnectionPolicy" />
<TypeSignature Language="F#" Value="type ConnectionPolicy = class" />
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.14.0.0</AssemblyVersion>
<AssemblyVersion>2.14.1.0</AssemblyVersion>
<AssemblyVersion>2.15.0.0</AssemblyVersion>
<AssemblyVersion>2.16.0.0</AssemblyVersion>
<AssemblyVersion>2.16.1.0</AssemblyVersion>
<AssemblyVersion>2.16.2.0</AssemblyVersion>
<AssemblyVersion>2.17.0.0</AssemblyVersion>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.14.0.0</AssemblyVersion>
<AssemblyVersion>2.14.1.0</AssemblyVersion>
<AssemblyVersion>2.15.0.0</AssemblyVersion>
<AssemblyVersion>2.16.0.0</AssemblyVersion>
<AssemblyVersion>2.16.1.0</AssemblyVersion>
<AssemblyVersion>2.16.2.0</AssemblyVersion>
<AssemblyVersion>2.17.0.0</AssemblyVersion>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces />
<Docs>
<summary>
Represents the connection policy associated with a DocumentClient to connect to the Azure Cosmos DB service.
</summary>
<remarks>To be added.</remarks>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public ConnectionPolicy ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Azure.Documents.Client.ConnectionPolicy.#ctor" />
<MemberSignature Language="VB.NET" Value="Public Sub New ()" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters />
<Docs>
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Azure.Documents.Client.ConnectionPolicy" /> class to connect to the Azure Cosmos DB service.
</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ConnectionMode">
<MemberSignature Language="C#" Value="public Microsoft.Azure.Documents.Client.ConnectionMode ConnectionMode { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype Microsoft.Azure.Documents.Client.ConnectionMode ConnectionMode" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.ConnectionMode" />
<MemberSignature Language="VB.NET" Value="Public Property ConnectionMode As ConnectionMode" />
<MemberSignature Language="F#" Value="member this.ConnectionMode : Microsoft.Azure.Documents.Client.ConnectionMode with get, set" Usage="Microsoft.Azure.Documents.Client.ConnectionPolicy.ConnectionMode" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Microsoft.Azure.Documents.Client.ConnectionMode</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets or sets the connection mode used by the client when connecting to the Azure Cosmos DB service.
</summary>
<value>
Default value is <see cref="F:Microsoft.Azure.Documents.Client.ConnectionMode.Gateway" /></value>
<remarks>
For more information, see <see href="https://docs.microsoft.com/en-us/azure/documentdb/documentdb-performance-tips#direct-connection">Connection policy: Use direct connection mode</see>.
</remarks>
</Docs>
</Member>
<Member MemberName="ConnectionProtocol">
<MemberSignature Language="C#" Value="public Microsoft.Azure.Documents.Client.Protocol ConnectionProtocol { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype Microsoft.Azure.Documents.Client.Protocol ConnectionProtocol" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.ConnectionProtocol" />
<MemberSignature Language="VB.NET" Value="Public Property ConnectionProtocol As Protocol" />
<MemberSignature Language="F#" Value="member this.ConnectionProtocol : Microsoft.Azure.Documents.Client.Protocol with get, set" Usage="Microsoft.Azure.Documents.Client.ConnectionPolicy.ConnectionProtocol" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Microsoft.Azure.Documents.Client.Protocol</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets or sets the connection protocol when connecting to the Azure Cosmos DB service.
</summary>
<value>
Default value is <see cref="F:Microsoft.Azure.Documents.Client.Protocol.Https" />.
</value>
<remarks>
This setting is not used when <see cref="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.ConnectionMode" /> is set to <see cref="F:Microsoft.Azure.Documents.Client.ConnectionMode.Gateway" />.
Gateway mode only supports HTTPS.
For more information, see <see href="https://docs.microsoft.com/en-us/azure/documentdb/documentdb-performance-tips#use-tcp">Connection policy: Use the TCP protocol</see>.
</remarks>
</Docs>
</Member>
<Member MemberName="Default">
<MemberSignature Language="C#" Value="public static Microsoft.Azure.Documents.Client.ConnectionPolicy Default { get; }" />
<MemberSignature Language="ILAsm" Value=".property class Microsoft.Azure.Documents.Client.ConnectionPolicy Default" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.Default" />
<MemberSignature Language="VB.NET" Value="Public Shared ReadOnly Property Default As ConnectionPolicy" />
<MemberSignature Language="F#" Value="static member Default : Microsoft.Azure.Documents.Client.ConnectionPolicy" Usage="Microsoft.Azure.Documents.Client.ConnectionPolicy.Default" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Microsoft.Azure.Documents.Client.ConnectionPolicy</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets the default connection policy used to connect to the Azure Cosmos DB service.
</summary>
<value>
Refer to the default values for the individual properties of <see cref="T:Microsoft.Azure.Documents.Client.ConnectionPolicy" /> that determine the default connection policy.
</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="EnableEndpointDiscovery">
<MemberSignature Language="C#" Value="public bool EnableEndpointDiscovery { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool EnableEndpointDiscovery" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.EnableEndpointDiscovery" />
<MemberSignature Language="VB.NET" Value="Public Property EnableEndpointDiscovery As Boolean" />
<MemberSignature Language="F#" Value="member this.EnableEndpointDiscovery : bool with get, set" Usage="Microsoft.Azure.Documents.Client.ConnectionPolicy.EnableEndpointDiscovery" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets or sets the flag to enable endpoint discovery for geo-replicated database accounts in the Azure Cosmos DB service.
</summary>
<value>To be added.</value>
<remarks>
When the value of this property is true, the SDK will automatically discover the
current write and read regions to ensure requests are sent to the correct region
based on the regions specified in the <see cref="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.PreferredLocations" /> property.
<value>Default value is true indicating endpoint discovery is enabled.</value></remarks>
</Docs>
</Member>
<Member MemberName="EnableReadRequestsFallback">
<MemberSignature Language="C#" Value="public bool? EnableReadRequestsFallback { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Nullable`1<bool> EnableReadRequestsFallback" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.EnableReadRequestsFallback" />
<MemberSignature Language="VB.NET" Value="Public Property EnableReadRequestsFallback As Nullable(Of Boolean)" />
<MemberSignature Language="F#" Value="member this.EnableReadRequestsFallback : Nullable<bool> with get, set" Usage="Microsoft.Azure.Documents.Client.ConnectionPolicy.EnableReadRequestsFallback" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Nullable<System.Boolean></ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets or sets whether to allow for reads to go to multiple regions configured on an account of Azure Cosmos DB service.
</summary>
<value>
Default value is null.
</value>
<remarks>
If this property is not set, the default is true for all Consistency Levels other than Bounded Staleness,
The default is false for Bounded Staleness.
This property only has effect if the following conditions are satisifed:
1. <see cref="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.EnableEndpointDiscovery" /> is true
2. the Azure Cosmos DB account has more than one region
</remarks>
</Docs>
</Member>
<Member MemberName="EnableTcpConnectionEndpointRediscovery">
<MemberSignature Language="C#" Value="public bool EnableTcpConnectionEndpointRediscovery { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool EnableTcpConnectionEndpointRediscovery" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.EnableTcpConnectionEndpointRediscovery" />
<MemberSignature Language="VB.NET" Value="Public Property EnableTcpConnectionEndpointRediscovery As Boolean" />
<MemberSignature Language="F#" Value="member this.EnableTcpConnectionEndpointRediscovery : bool with get, set" Usage="Microsoft.Azure.Documents.Client.ConnectionPolicy.EnableTcpConnectionEndpointRediscovery" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets or sets the flag to enable address cache refresh on connection reset notification
</summary>
<value>
The default value is true
</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="IdleTcpConnectionTimeout">
<MemberSignature Language="C#" Value="public TimeSpan? IdleTcpConnectionTimeout { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Nullable`1<valuetype System.TimeSpan> IdleTcpConnectionTimeout" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.IdleTcpConnectionTimeout" />
<MemberSignature Language="VB.NET" Value="Public Property IdleTcpConnectionTimeout As Nullable(Of TimeSpan)" />
<MemberSignature Language="F#" Value="member this.IdleTcpConnectionTimeout : Nullable<TimeSpan> with get, set" Usage="Microsoft.Azure.Documents.Client.ConnectionPolicy.IdleTcpConnectionTimeout" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Nullable<System.TimeSpan></ReturnType>
</ReturnValue>
<Docs>
<summary>
(Direct/TCP) Controls the amount of idle time after which unused connections are closed.
</summary>
<value>
By default, idle connections are kept open indefinitely. Value must be greater than or equal to 10 minutes. Recommended values are between 20 minutes and 24 hours.
</value>
<remarks>
Mainly useful for sparse infrequent access to a large database account.
</remarks>
</Docs>
</Member>
<Member MemberName="MaxConnectionLimit">
<MemberSignature Language="C#" Value="public int MaxConnectionLimit { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance int32 MaxConnectionLimit" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.MaxConnectionLimit" />
<MemberSignature Language="VB.NET" Value="Public Property MaxConnectionLimit As Integer" />
<MemberSignature Language="F#" Value="member this.MaxConnectionLimit : int with get, set" Usage="Microsoft.Azure.Documents.Client.ConnectionPolicy.MaxConnectionLimit" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets or sets the maximum number of concurrent connections allowed for the target
service endpoint in the Azure Cosmos DB service.
</summary>
<value>Default value is 50.</value>
<remarks>
This setting is only applicable in Gateway mode.
</remarks>
</Docs>
</Member>
<Member MemberName="MaxRequestsPerTcpConnection">
<MemberSignature Language="C#" Value="public int? MaxRequestsPerTcpConnection { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Nullable`1<int32> MaxRequestsPerTcpConnection" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.MaxRequestsPerTcpConnection" />
<MemberSignature Language="VB.NET" Value="Public Property MaxRequestsPerTcpConnection As Nullable(Of Integer)" />
<MemberSignature Language="F#" Value="member this.MaxRequestsPerTcpConnection : Nullable<int> with get, set" Usage="Microsoft.Azure.Documents.Client.ConnectionPolicy.MaxRequestsPerTcpConnection" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Nullable<System.Int32></ReturnType>
</ReturnValue>
<Docs>
<summary>
(Direct/TCP) Controls the number of requests allowed simultaneously over a single TCP connection. When more requests are in flight simultaneously, the direct/TCP client will open additional connections.
</summary>
<value>
The default settings allow 30 simultaneous requests per connection.
Do not set this value lower than 4 requests per connection or higher than 50-100 requests per connection.
The former can lead to a large number of connections to be created.
The latter can lead to head of line blocking, high latency and timeouts.
</value>
<remarks>
Applications with a very high degree of parallelism per connection, with large requests or responses, or with very tight latency requirements might get better performance with 8-16 requests per connection.
</remarks>
</Docs>
</Member>
<Member MemberName="MaxTcpConnectionsPerEndpoint">
<MemberSignature Language="C#" Value="public int? MaxTcpConnectionsPerEndpoint { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Nullable`1<int32> MaxTcpConnectionsPerEndpoint" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.MaxTcpConnectionsPerEndpoint" />
<MemberSignature Language="VB.NET" Value="Public Property MaxTcpConnectionsPerEndpoint As Nullable(Of Integer)" />
<MemberSignature Language="F#" Value="member this.MaxTcpConnectionsPerEndpoint : Nullable<int> with get, set" Usage="Microsoft.Azure.Documents.Client.ConnectionPolicy.MaxTcpConnectionsPerEndpoint" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Nullable<System.Int32></ReturnType>
</ReturnValue>
<Docs>
<summary>
(Direct/TCP) Controls the maximum number of TCP connections that may be opened to each Cosmos DB back-end.
Together with MaxRequestsPerTcpConnection, this setting limits the number of requests that are simultaneously sent to a single Cosmos DB back-end(MaxRequestsPerTcpConnection x MaxTcpConnectionPerEndpoint).
</summary>
<value>
The default value is 65,535. Value must be greater than or equal to 16.
</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="MediaReadMode">
<MemberSignature Language="C#" Value="public Microsoft.Azure.Documents.Client.MediaReadMode MediaReadMode { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype Microsoft.Azure.Documents.Client.MediaReadMode MediaReadMode" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.MediaReadMode" />
<MemberSignature Language="VB.NET" Value="Public Property MediaReadMode As MediaReadMode" />
<MemberSignature Language="F#" Value="member this.MediaReadMode : Microsoft.Azure.Documents.Client.MediaReadMode with get, set" Usage="Microsoft.Azure.Documents.Client.ConnectionPolicy.MediaReadMode" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Microsoft.Azure.Documents.Client.MediaReadMode</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets or sets the attachment content (a.k.a. media) download mode when connecting to the Azure Cosmos DB service.
</summary>
<value>
Default value is <see cref="F:Microsoft.Azure.Documents.Client.MediaReadMode.Buffered" />.
</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="MediaRequestTimeout">
<MemberSignature Language="C#" Value="public TimeSpan MediaRequestTimeout { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.TimeSpan MediaRequestTimeout" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.MediaRequestTimeout" />
<MemberSignature Language="VB.NET" Value="Public Property MediaRequestTimeout As TimeSpan" />
<MemberSignature Language="F#" Value="member this.MediaRequestTimeout : TimeSpan with get, set" Usage="Microsoft.Azure.Documents.Client.ConnectionPolicy.MediaRequestTimeout" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.TimeSpan</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets or sets the media request timeout in seconds when connecting to the Azure Cosmos DB service.
The number specifies the time to wait for response to come back from network peer for attachment content (a.k.a. media) operations.
</summary>
<value>
Default value is 300 seconds.
</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="OpenTcpConnectionTimeout">
<MemberSignature Language="C#" Value="public TimeSpan? OpenTcpConnectionTimeout { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Nullable`1<valuetype System.TimeSpan> OpenTcpConnectionTimeout" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.OpenTcpConnectionTimeout" />
<MemberSignature Language="VB.NET" Value="Public Property OpenTcpConnectionTimeout As Nullable(Of TimeSpan)" />
<MemberSignature Language="F#" Value="member this.OpenTcpConnectionTimeout : Nullable<TimeSpan> with get, set" Usage="Microsoft.Azure.Documents.Client.ConnectionPolicy.OpenTcpConnectionTimeout" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Nullable<System.TimeSpan></ReturnType>
</ReturnValue>
<Docs>
<summary>
(Direct/TCP) Controls the amount of time allowed for trying to establish a connection.
</summary>
<value>
The default timeout is 5 seconds. Recommended values are greater than or equal to 5 seconds.
</value>
<remarks>
When the time elapses, the attempt is cancelled and an error is returned. Longer timeouts will delay retries and failures.
</remarks>
</Docs>
</Member>
<Member MemberName="PortReuseMode">
<MemberSignature Language="C#" Value="public Microsoft.Azure.Documents.PortReuseMode? PortReuseMode { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Nullable`1<valuetype Microsoft.Azure.Documents.PortReuseMode> PortReuseMode" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.PortReuseMode" />
<MemberSignature Language="VB.NET" Value="Public Property PortReuseMode As Nullable(Of PortReuseMode)" />
<MemberSignature Language="F#" Value="member this.PortReuseMode : Nullable<Microsoft.Azure.Documents.PortReuseMode> with get, set" Usage="Microsoft.Azure.Documents.Client.ConnectionPolicy.PortReuseMode" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Nullable<Microsoft.Azure.Documents.PortReuseMode></ReturnType>
</ReturnValue>
<Docs>
<summary>
(Direct/TCP) Controls the client port reuse policy used by the transport stack.
</summary>
<value>
The default value is PortReuseMode.ReuseUnicastPort.
</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="PreferredLocations">
<MemberSignature Language="C#" Value="public System.Collections.ObjectModel.Collection<string> PreferredLocations { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Collections.ObjectModel.Collection`1<string> PreferredLocations" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.PreferredLocations" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property PreferredLocations As Collection(Of String)" />
<MemberSignature Language="F#" Value="member this.PreferredLocations : System.Collections.ObjectModel.Collection<string>" Usage="Microsoft.Azure.Documents.Client.ConnectionPolicy.PreferredLocations" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Collections.ObjectModel.Collection<System.String></ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets and sets the preferred locations (regions) for geo-replicated database accounts in the Azure Cosmos DB service.
For example, "East US" as the preferred location.
</summary>
<value>To be added.</value>
<remarks>
<para>
When <see cref="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.EnableEndpointDiscovery" /> is true and the value of this property is non-empty,
the SDK uses the locations in the collection in the order they are specified to perform operations,
otherwise if the value of this property is not specified,
the SDK uses the write region as the preferred location for all operations.
</para>
<para>
If <see cref="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.EnableEndpointDiscovery" /> is set to false, the value of this property is ignored.
</para>
</remarks>
</Docs>
</Member>
<Member MemberName="QueryPlanGenerationMode">
<MemberSignature Language="C#" Value="public Microsoft.Azure.Documents.QueryPlanGenerationMode QueryPlanGenerationMode { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype Microsoft.Azure.Documents.QueryPlanGenerationMode QueryPlanGenerationMode" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.QueryPlanGenerationMode" />
<MemberSignature Language="VB.NET" Value="Public Property QueryPlanGenerationMode As QueryPlanGenerationMode" />
<MemberSignature Language="F#" Value="member this.QueryPlanGenerationMode : Microsoft.Azure.Documents.QueryPlanGenerationMode with get, set" Usage="Microsoft.Azure.Documents.Client.ConnectionPolicy.QueryPlanGenerationMode" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Microsoft.Azure.Documents.QueryPlanGenerationMode</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets or sets a flag for query execution to control how the SDK instance will get the query plan.
The ServiceInterop only works on Windows with application running in x64 and
it allows the SDK to generate the query plan locally
</summary>
<value>
The default value is to auto detect the environment and availability of the ServiceInterop and fallback to resolve the query plan as an HTTP request
</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="RequestTimeout">
<MemberSignature Language="C#" Value="public TimeSpan RequestTimeout { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.TimeSpan RequestTimeout" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.RequestTimeout" />
<MemberSignature Language="VB.NET" Value="Public Property RequestTimeout As TimeSpan" />
<MemberSignature Language="F#" Value="member this.RequestTimeout : TimeSpan with get, set" Usage="Microsoft.Azure.Documents.Client.ConnectionPolicy.RequestTimeout" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.TimeSpan</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets or sets the request timeout in seconds when connecting to the Azure Cosmos DB service.
The number specifies the time to wait for response to come back from network peer.
</summary>
<value>Default value is 10 seconds.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="RetryOptions">
<MemberSignature Language="C#" Value="public Microsoft.Azure.Documents.Client.RetryOptions RetryOptions { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance class Microsoft.Azure.Documents.Client.RetryOptions RetryOptions" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.RetryOptions" />
<MemberSignature Language="VB.NET" Value="Public Property RetryOptions As RetryOptions" />
<MemberSignature Language="F#" Value="member this.RetryOptions : Microsoft.Azure.Documents.Client.RetryOptions with get, set" Usage="Microsoft.Azure.Documents.Client.ConnectionPolicy.RetryOptions" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Microsoft.Azure.Documents.Client.RetryOptions</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets or sets the <see cref="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.RetryOptions" /> associated
with the <see cref="T:Microsoft.Azure.Documents.Client.DocumentClient" /> in the Azure Cosmos DB service.
</summary>
<value>
If this property is not set, the SDK uses the default retry policy that has <see cref="P:Microsoft.Azure.Documents.Client.RetryOptions.MaxRetryAttemptsOnThrottledRequests" />
set to 9 and <see cref="P:Microsoft.Azure.Documents.Client.RetryOptions.MaxRetryWaitTimeInSeconds" /> set to 30 seconds.
</value>
<remarks>
For more information, see <see href="https://docs.microsoft.com/en-us/azure/documentdb/documentdb-performance-tips#429">Handle rate limiting/request rate too large</see>.
</remarks>
<altmember cref="T:Microsoft.Azure.Documents.Client.ConnectionPolicy" />
<altmember cref="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.RetryOptions" />
<altmember cref="T:Microsoft.Azure.Documents.Client.DocumentClient" />
<example>
The example below creates a new <see cref="T:Microsoft.Azure.Documents.Client.DocumentClient" /> and sets the <see cref="T:Microsoft.Azure.Documents.Client.ConnectionPolicy" />
using the <see cref="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.RetryOptions" /> property.
<para><see cref="P:Microsoft.Azure.Documents.Client.RetryOptions.MaxRetryAttemptsOnThrottledRequests" /> is set to 3, so in this case, if a request operation is rate limited by exceeding the reserved
throughput for the collection, the request operation retries 3 times before throwing the exception to the application.
<see cref="P:Microsoft.Azure.Documents.Client.RetryOptions.MaxRetryWaitTimeInSeconds" /> is set to 60, so in this case if the cumulative retry
wait time in seconds since the first request exceeds 60 seconds, the exception is thrown.
</para><code language="c#"><![CDATA[
ConnectionPolicy connectionPolicy = new ConnectionPolicy();
connectionPolicy.RetryOptions.MaxRetryAttemptsOnThrottledRequests = 3;
connectionPolicy.RetryOptions.MaxRetryWaitTimeInSeconds = 60;
DocumentClient client = new DocumentClient(new Uri("service endpoint"), "auth key", connectionPolicy);
]]></code></example>
</Docs>
</Member>
<Member MemberName="SetCurrentLocation">
<MemberSignature Language="C#" Value="public void SetCurrentLocation (string location);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetCurrentLocation(string location) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Azure.Documents.Client.ConnectionPolicy.SetCurrentLocation(System.String)" />
<MemberSignature Language="VB.NET" Value="Public Sub SetCurrentLocation (location As String)" />
<MemberSignature Language="F#" Value="member this.SetCurrentLocation : string -> unit" Usage="connectionPolicy.SetCurrentLocation location" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="location" Type="System.String" />
</Parameters>
<Docs>
<param name="location">The current region that this client is running in. E.g. "East US" </param>
<summary>
Automatically populates the <see cref="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.PreferredLocations" /> for geo-replicated database accounts in the Azure Cosmos DB service,
based on the current region that the client is running in.
</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="UseMultipleWriteLocations">
<MemberSignature Language="C#" Value="public bool UseMultipleWriteLocations { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool UseMultipleWriteLocations" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.UseMultipleWriteLocations" />
<MemberSignature Language="VB.NET" Value="Public Property UseMultipleWriteLocations As Boolean" />
<MemberSignature Language="F#" Value="member this.UseMultipleWriteLocations : bool with get, set" Usage="Microsoft.Azure.Documents.Client.ConnectionPolicy.UseMultipleWriteLocations" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets or sets the flag to enable writes on any locations (regions) for geo-replicated database accounts in the Azure Cosmos DB service.
</summary>
<value>To be added.</value>
<remarks>
When the value of this property is true, the SDK will direct write operations to
available writable locations of geo-replicated database account. Writable locations
are ordered by <see cref="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.PreferredLocations" /> property. Setting the property value
to true has no effect until <see cref="P:Microsoft.Azure.Documents.DatabaseAccount.EnableMultipleWriteLocations" />
is also set to true.
<value>Default value is false indicating that writes are only directed to
first region in <see cref="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.PreferredLocations" /> property.</value></remarks>
</Docs>
</Member>
<Member MemberName="UserAgentSuffix">
<MemberSignature Language="C#" Value="public string UserAgentSuffix { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance string UserAgentSuffix" />
<MemberSignature Language="DocId" Value="P:Microsoft.Azure.Documents.Client.ConnectionPolicy.UserAgentSuffix" />
<MemberSignature Language="VB.NET" Value="Public Property UserAgentSuffix As String" />
<MemberSignature Language="F#" Value="member this.UserAgentSuffix : string with get, set" Usage="Microsoft.Azure.Documents.Client.ConnectionPolicy.UserAgentSuffix" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.DocumentDB.Core</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>Microsoft.Azure.Documents.Client</AssemblyName>
<AssemblyVersion>2.18.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<summary>
A suffix to be added to the default user-agent for the Azure Cosmos DB service.
</summary>
<value>To be added.</value>
<remarks>
Setting this property after sending any request won't have any effect.
</remarks>
</Docs>
</Member>
</Members>
</Type>