|
// 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.
namespace System.ServiceModel.Channels
{
using System;
using System.Globalization;
internal static class UdpConstants
{
// max is 64K - 20 (IP header) - 8(UDP header) - 1 (wraparound)
public const int MaxMessageSizeOverIPv4 = 64 * 1024 - 20 - 8 - 1;
public const int MaxTimeToLive = 255;
public const long MinPendingMessagesTotalSize = 0;
public const int MinReceiveBufferSize = 1;
public const int MinTimeToLive = 0; //localhost traffic only
public const int PendingReceiveCountPerProcessor = 2;
public const string Scheme = "soap.udp";
public const string TimeSpanZero = "00:00:00";
public const string WsdlSoapUdpTransportUri = "http://schemas.microsoft.com/soap/udp";
public const string WsdlSoapUdpTransportNamespace = "http://schemas.microsoft.com/ws/06/2010/policy/soap/udp";
public const string WsdlSoapUdpTransportPrefix = "sud";
public const string RetransmissionEnabled = "RetransmissionEnabled";
internal static class Defaults
{
public static readonly TimeSpan ReceiveTimeout = TimeSpan.FromMinutes(1);
public static readonly TimeSpan SendTimeout = TimeSpan.FromMinutes(1);
public const string EncodingString = "utf-8";
public const string DelayLowerBound = "00:00:00.050";
public const string DelayUpperBound = "00:00:00.250";
public const int DuplicateMessageHistoryLength = 0;
public const int DuplicateMessageHistoryLengthWithRetransmission = 4096;
public const int InterfaceIndex = -1;
public const string MaxDelayPerRetransmission = "00:00:00.500";
public const int MaxRetransmitCount = 0;
public const int MaxUnicastRetransmitCount = 0;
public const int MaxMulticastRetransmitCount = 0;
public const long DefaultMaxPendingMessagesTotalSize = 0;
public static readonly long MaxPendingMessagesTotalSize = 1024 * 1024 * Environment.ProcessorCount; // 512 * 2K messages per processor
public const long MaxReceivedMessageSize = SocketReceiveBufferSize;
public const string MulticastInterfaceId = null;
public const int SocketReceiveBufferSize = 64 * 1024;
public const int TimeToLive = 1;
public static MessageEncoderFactory MessageEncoderFactory = new TextMessageEncodingBindingElement().CreateMessageEncoderFactory();
public static readonly TimeSpan DelayLowerBoundTimeSpan = TimeSpan.Parse(DelayLowerBound, CultureInfo.InvariantCulture);
public static readonly TimeSpan DelayUpperBoundTimeSpan = TimeSpan.Parse(DelayUpperBound, CultureInfo.InvariantCulture);
public static readonly TimeSpan MaxDelayPerRetransmissionTimeSpan = TimeSpan.Parse(MaxDelayPerRetransmission, CultureInfo.InvariantCulture);
}
}
}
|