// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System.Net.Security;
namespace System.Net.Quic
{
///
/// Options to provide to the when connecting to a Listener.
///
internal class QuicClientConnectionOptions
{
///
/// Client authentication options to use when establishing a .
///
public SslClientAuthenticationOptions ClientAuthenticationOptions { get; set; }
///
/// The local endpoint that will be bound to.
///
public IPEndPoint LocalEndPoint { get; set; }
///
/// The endpoint to connect to.
///
public IPEndPoint RemoteEndPoint { get; set; }
///
/// Limit on the number of bidirectional streams the peer connection can create
/// on an accepted connection.
/// Default is 100.
///
// TODO consider constraining these limits to 0 to whatever the max of the QUIC library we are using.
public long MaxBidirectionalStreams { get; set; } = 100;
///
/// Limit on the number of unidirectional streams the peer connection can create
/// on an accepted connection.
/// Default is 100.
///
// TODO consider constraining these limits to 0 to whatever the max of the QUIC library we are using.
public long MaxUnidirectionalStreams { get; set; } = 100;
///
/// Idle timeout for connections, afterwhich the connection will be closed.
///
public TimeSpan IdleTimeout { get; set; } = TimeSpan.FromMinutes(2);
}
}