using System; using System.Collections.Generic; namespace UnityEngine.Networking { // Token: 0x020002CD RID: 717 [Serializable] public class ConnectionConfig { // Token: 0x06002F3E RID: 12094 RVA: 0x00044C6C File Offset: 0x00042E6C public ConnectionConfig() { this.m_PacketSize = 1440; this.m_FragmentSize = 500; this.m_ResendTimeout = 1200U; this.m_DisconnectTimeout = 2000U; this.m_ConnectTimeout = 2000U; this.m_MinUpdateTimeout = 10U; this.m_PingTimeout = 500U; this.m_ReducedPingTimeout = 100U; this.m_AllCostTimeout = 20U; this.m_NetworkDropThreshold = 5; this.m_OverflowDropThreshold = 5; this.m_MaxConnectionAttempt = 10; this.m_AckDelay = 33U; this.m_SendDelay = 10U; this.m_MaxCombinedReliableMessageSize = 100; this.m_MaxCombinedReliableMessageCount = 10; this.m_MaxSentMessageQueueSize = 512; this.m_AcksType = ConnectionAcksType.Acks32; this.m_UsePlatformSpecificProtocols = false; this.m_InitialBandwidth = 0U; this.m_BandwidthPeakFactor = 2f; this.m_WebSocketReceiveBufferMaxSize = 0; this.m_UdpSocketReceiveBufferMaxSize = 0U; this.m_SSLCertFilePath = null; this.m_SSLPrivateKeyFilePath = null; this.m_SSLCAFilePath = null; } // Token: 0x06002F3F RID: 12095 RVA: 0x00044D6C File Offset: 0x00042F6C public ConnectionConfig(ConnectionConfig config) { if (config == null) { throw new NullReferenceException("config is not defined"); } this.m_PacketSize = config.m_PacketSize; this.m_FragmentSize = config.m_FragmentSize; this.m_ResendTimeout = config.m_ResendTimeout; this.m_DisconnectTimeout = config.m_DisconnectTimeout; this.m_ConnectTimeout = config.m_ConnectTimeout; this.m_MinUpdateTimeout = config.m_MinUpdateTimeout; this.m_PingTimeout = config.m_PingTimeout; this.m_ReducedPingTimeout = config.m_ReducedPingTimeout; this.m_AllCostTimeout = config.m_AllCostTimeout; this.m_NetworkDropThreshold = config.m_NetworkDropThreshold; this.m_OverflowDropThreshold = config.m_OverflowDropThreshold; this.m_MaxConnectionAttempt = config.m_MaxConnectionAttempt; this.m_AckDelay = config.m_AckDelay; this.m_SendDelay = config.m_SendDelay; this.m_MaxCombinedReliableMessageSize = config.MaxCombinedReliableMessageSize; this.m_MaxCombinedReliableMessageCount = config.m_MaxCombinedReliableMessageCount; this.m_MaxSentMessageQueueSize = config.m_MaxSentMessageQueueSize; this.m_AcksType = config.m_AcksType; this.m_UsePlatformSpecificProtocols = config.m_UsePlatformSpecificProtocols; this.m_InitialBandwidth = config.m_InitialBandwidth; if (this.m_InitialBandwidth == 0U) { this.m_InitialBandwidth = (uint)(this.m_PacketSize * 1000) / this.m_MinUpdateTimeout; } this.m_BandwidthPeakFactor = config.m_BandwidthPeakFactor; this.m_WebSocketReceiveBufferMaxSize = config.m_WebSocketReceiveBufferMaxSize; this.m_UdpSocketReceiveBufferMaxSize = config.m_UdpSocketReceiveBufferMaxSize; this.m_SSLCertFilePath = config.m_SSLCertFilePath; this.m_SSLPrivateKeyFilePath = config.m_SSLPrivateKeyFilePath; this.m_SSLCAFilePath = config.m_SSLCAFilePath; foreach (ChannelQOS channelQOS in config.m_Channels) { this.m_Channels.Add(new ChannelQOS(channelQOS)); } } // Token: 0x06002F40 RID: 12096 RVA: 0x00044F58 File Offset: 0x00043158 public static void Validate(ConnectionConfig config) { if (config.m_PacketSize < 128) { throw new ArgumentOutOfRangeException("PacketSize should be > " + 128.ToString()); } if (config.m_FragmentSize >= config.m_PacketSize - 128) { throw new ArgumentOutOfRangeException("FragmentSize should be < PacketSize - " + 128.ToString()); } if (config.m_Channels.Count > 255) { throw new ArgumentOutOfRangeException("Channels number should be less than 256"); } } // Token: 0x17000AB7 RID: 2743 // (get) Token: 0x06002F41 RID: 12097 RVA: 0x00044FF4 File Offset: 0x000431F4 // (set) Token: 0x06002F42 RID: 12098 RVA: 0x00045010 File Offset: 0x00043210 public ushort PacketSize { get { return this.m_PacketSize; } set { this.m_PacketSize = value; } } // Token: 0x17000AB8 RID: 2744 // (get) Token: 0x06002F43 RID: 12099 RVA: 0x0004501C File Offset: 0x0004321C // (set) Token: 0x06002F44 RID: 12100 RVA: 0x00045038 File Offset: 0x00043238 public ushort FragmentSize { get { return this.m_FragmentSize; } set { this.m_FragmentSize = value; } } // Token: 0x17000AB9 RID: 2745 // (get) Token: 0x06002F45 RID: 12101 RVA: 0x00045044 File Offset: 0x00043244 // (set) Token: 0x06002F46 RID: 12102 RVA: 0x00045060 File Offset: 0x00043260 public uint ResendTimeout { get { return this.m_ResendTimeout; } set { this.m_ResendTimeout = value; } } // Token: 0x17000ABA RID: 2746 // (get) Token: 0x06002F47 RID: 12103 RVA: 0x0004506C File Offset: 0x0004326C // (set) Token: 0x06002F48 RID: 12104 RVA: 0x00045088 File Offset: 0x00043288 public uint DisconnectTimeout { get { return this.m_DisconnectTimeout; } set { this.m_DisconnectTimeout = value; } } // Token: 0x17000ABB RID: 2747 // (get) Token: 0x06002F49 RID: 12105 RVA: 0x00045094 File Offset: 0x00043294 // (set) Token: 0x06002F4A RID: 12106 RVA: 0x000450B0 File Offset: 0x000432B0 public uint ConnectTimeout { get { return this.m_ConnectTimeout; } set { this.m_ConnectTimeout = value; } } // Token: 0x17000ABC RID: 2748 // (get) Token: 0x06002F4B RID: 12107 RVA: 0x000450BC File Offset: 0x000432BC // (set) Token: 0x06002F4C RID: 12108 RVA: 0x000450D8 File Offset: 0x000432D8 public uint MinUpdateTimeout { get { return this.m_MinUpdateTimeout; } set { if (value == 0U) { throw new ArgumentOutOfRangeException("Minimal update timeout should be > 0"); } this.m_MinUpdateTimeout = value; } } // Token: 0x17000ABD RID: 2749 // (get) Token: 0x06002F4D RID: 12109 RVA: 0x000450F4 File Offset: 0x000432F4 // (set) Token: 0x06002F4E RID: 12110 RVA: 0x00045110 File Offset: 0x00043310 public uint PingTimeout { get { return this.m_PingTimeout; } set { this.m_PingTimeout = value; } } // Token: 0x17000ABE RID: 2750 // (get) Token: 0x06002F4F RID: 12111 RVA: 0x0004511C File Offset: 0x0004331C // (set) Token: 0x06002F50 RID: 12112 RVA: 0x00045138 File Offset: 0x00043338 public uint ReducedPingTimeout { get { return this.m_ReducedPingTimeout; } set { this.m_ReducedPingTimeout = value; } } // Token: 0x17000ABF RID: 2751 // (get) Token: 0x06002F51 RID: 12113 RVA: 0x00045144 File Offset: 0x00043344 // (set) Token: 0x06002F52 RID: 12114 RVA: 0x00045160 File Offset: 0x00043360 public uint AllCostTimeout { get { return this.m_AllCostTimeout; } set { this.m_AllCostTimeout = value; } } // Token: 0x17000AC0 RID: 2752 // (get) Token: 0x06002F53 RID: 12115 RVA: 0x0004516C File Offset: 0x0004336C // (set) Token: 0x06002F54 RID: 12116 RVA: 0x00045188 File Offset: 0x00043388 public byte NetworkDropThreshold { get { return this.m_NetworkDropThreshold; } set { this.m_NetworkDropThreshold = value; } } // Token: 0x17000AC1 RID: 2753 // (get) Token: 0x06002F55 RID: 12117 RVA: 0x00045194 File Offset: 0x00043394 // (set) Token: 0x06002F56 RID: 12118 RVA: 0x000451B0 File Offset: 0x000433B0 public byte OverflowDropThreshold { get { return this.m_OverflowDropThreshold; } set { this.m_OverflowDropThreshold = value; } } // Token: 0x17000AC2 RID: 2754 // (get) Token: 0x06002F57 RID: 12119 RVA: 0x000451BC File Offset: 0x000433BC // (set) Token: 0x06002F58 RID: 12120 RVA: 0x000451D8 File Offset: 0x000433D8 public byte MaxConnectionAttempt { get { return this.m_MaxConnectionAttempt; } set { this.m_MaxConnectionAttempt = value; } } // Token: 0x17000AC3 RID: 2755 // (get) Token: 0x06002F59 RID: 12121 RVA: 0x000451E4 File Offset: 0x000433E4 // (set) Token: 0x06002F5A RID: 12122 RVA: 0x00045200 File Offset: 0x00043400 public uint AckDelay { get { return this.m_AckDelay; } set { this.m_AckDelay = value; } } // Token: 0x17000AC4 RID: 2756 // (get) Token: 0x06002F5B RID: 12123 RVA: 0x0004520C File Offset: 0x0004340C // (set) Token: 0x06002F5C RID: 12124 RVA: 0x00045228 File Offset: 0x00043428 public uint SendDelay { get { return this.m_SendDelay; } set { this.m_SendDelay = value; } } // Token: 0x17000AC5 RID: 2757 // (get) Token: 0x06002F5D RID: 12125 RVA: 0x00045234 File Offset: 0x00043434 // (set) Token: 0x06002F5E RID: 12126 RVA: 0x00045250 File Offset: 0x00043450 public ushort MaxCombinedReliableMessageSize { get { return this.m_MaxCombinedReliableMessageSize; } set { this.m_MaxCombinedReliableMessageSize = value; } } // Token: 0x17000AC6 RID: 2758 // (get) Token: 0x06002F5F RID: 12127 RVA: 0x0004525C File Offset: 0x0004345C // (set) Token: 0x06002F60 RID: 12128 RVA: 0x00045278 File Offset: 0x00043478 public ushort MaxCombinedReliableMessageCount { get { return this.m_MaxCombinedReliableMessageCount; } set { this.m_MaxCombinedReliableMessageCount = value; } } // Token: 0x17000AC7 RID: 2759 // (get) Token: 0x06002F61 RID: 12129 RVA: 0x00045284 File Offset: 0x00043484 // (set) Token: 0x06002F62 RID: 12130 RVA: 0x000452A0 File Offset: 0x000434A0 public ushort MaxSentMessageQueueSize { get { return this.m_MaxSentMessageQueueSize; } set { this.m_MaxSentMessageQueueSize = value; } } // Token: 0x17000AC8 RID: 2760 // (get) Token: 0x06002F63 RID: 12131 RVA: 0x000452AC File Offset: 0x000434AC // (set) Token: 0x06002F64 RID: 12132 RVA: 0x000452C8 File Offset: 0x000434C8 public ConnectionAcksType AcksType { get { return this.m_AcksType; } set { this.m_AcksType = value; } } // Token: 0x17000AC9 RID: 2761 // (get) Token: 0x06002F65 RID: 12133 RVA: 0x000452D4 File Offset: 0x000434D4 // (set) Token: 0x06002F66 RID: 12134 RVA: 0x000452F8 File Offset: 0x000434F8 [Obsolete("IsAcksLong is deprecated. Use AcksType = ConnectionAcksType.Acks64", false)] public bool IsAcksLong { get { return this.m_AcksType != ConnectionAcksType.Acks32; } set { if (value && this.m_AcksType == ConnectionAcksType.Acks32) { this.m_AcksType = ConnectionAcksType.Acks64; } else if (!value) { this.m_AcksType = ConnectionAcksType.Acks32; } } } // Token: 0x17000ACA RID: 2762 // (get) Token: 0x06002F67 RID: 12135 RVA: 0x00045328 File Offset: 0x00043528 // (set) Token: 0x06002F68 RID: 12136 RVA: 0x00045344 File Offset: 0x00043544 public bool UsePlatformSpecificProtocols { get { return this.m_UsePlatformSpecificProtocols; } set { if (value && Application.platform != RuntimePlatform.PS4 && Application.platform != RuntimePlatform.PSP2) { throw new ArgumentOutOfRangeException("Platform specific protocols are not supported on this platform"); } this.m_UsePlatformSpecificProtocols = value; } } // Token: 0x17000ACB RID: 2763 // (get) Token: 0x06002F69 RID: 12137 RVA: 0x00045378 File Offset: 0x00043578 // (set) Token: 0x06002F6A RID: 12138 RVA: 0x00045394 File Offset: 0x00043594 public uint InitialBandwidth { get { return this.m_InitialBandwidth; } set { this.m_InitialBandwidth = value; } } // Token: 0x17000ACC RID: 2764 // (get) Token: 0x06002F6B RID: 12139 RVA: 0x000453A0 File Offset: 0x000435A0 // (set) Token: 0x06002F6C RID: 12140 RVA: 0x000453BC File Offset: 0x000435BC public float BandwidthPeakFactor { get { return this.m_BandwidthPeakFactor; } set { this.m_BandwidthPeakFactor = value; } } // Token: 0x17000ACD RID: 2765 // (get) Token: 0x06002F6D RID: 12141 RVA: 0x000453C8 File Offset: 0x000435C8 // (set) Token: 0x06002F6E RID: 12142 RVA: 0x000453E4 File Offset: 0x000435E4 public ushort WebSocketReceiveBufferMaxSize { get { return this.m_WebSocketReceiveBufferMaxSize; } set { this.m_WebSocketReceiveBufferMaxSize = value; } } // Token: 0x17000ACE RID: 2766 // (get) Token: 0x06002F6F RID: 12143 RVA: 0x000453F0 File Offset: 0x000435F0 // (set) Token: 0x06002F70 RID: 12144 RVA: 0x0004540C File Offset: 0x0004360C public uint UdpSocketReceiveBufferMaxSize { get { return this.m_UdpSocketReceiveBufferMaxSize; } set { this.m_UdpSocketReceiveBufferMaxSize = value; } } // Token: 0x17000ACF RID: 2767 // (get) Token: 0x06002F71 RID: 12145 RVA: 0x00045418 File Offset: 0x00043618 // (set) Token: 0x06002F72 RID: 12146 RVA: 0x00045434 File Offset: 0x00043634 public string SSLCertFilePath { get { return this.m_SSLCertFilePath; } set { this.m_SSLCertFilePath = value; } } // Token: 0x17000AD0 RID: 2768 // (get) Token: 0x06002F73 RID: 12147 RVA: 0x00045440 File Offset: 0x00043640 // (set) Token: 0x06002F74 RID: 12148 RVA: 0x0004545C File Offset: 0x0004365C public string SSLPrivateKeyFilePath { get { return this.m_SSLPrivateKeyFilePath; } set { this.m_SSLPrivateKeyFilePath = value; } } // Token: 0x17000AD1 RID: 2769 // (get) Token: 0x06002F75 RID: 12149 RVA: 0x00045468 File Offset: 0x00043668 // (set) Token: 0x06002F76 RID: 12150 RVA: 0x00045484 File Offset: 0x00043684 public string SSLCAFilePath { get { return this.m_SSLCAFilePath; } set { this.m_SSLCAFilePath = value; } } // Token: 0x17000AD2 RID: 2770 // (get) Token: 0x06002F77 RID: 12151 RVA: 0x00045490 File Offset: 0x00043690 public int ChannelCount { get { return this.m_Channels.Count; } } // Token: 0x06002F78 RID: 12152 RVA: 0x000454B0 File Offset: 0x000436B0 public byte AddChannel(QosType value) { if (this.m_Channels.Count > 255) { throw new ArgumentOutOfRangeException("Channels Count should be less than 256"); } if (!Enum.IsDefined(typeof(QosType), value)) { throw new ArgumentOutOfRangeException("requested qos type doesn't exist: " + (int)value); } ChannelQOS channelQOS = new ChannelQOS(value); this.m_Channels.Add(channelQOS); return (byte)(this.m_Channels.Count - 1); } // Token: 0x06002F79 RID: 12153 RVA: 0x00045538 File Offset: 0x00043738 public QosType GetChannel(byte idx) { if ((int)idx >= this.m_Channels.Count) { throw new ArgumentOutOfRangeException("requested index greater than maximum channels count"); } return this.m_Channels[(int)idx].QOS; } // Token: 0x17000AD3 RID: 2771 // (get) Token: 0x06002F7A RID: 12154 RVA: 0x0004557C File Offset: 0x0004377C public List Channels { get { return this.m_Channels; } } // Token: 0x04000947 RID: 2375 private const int g_MinPacketSize = 128; // Token: 0x04000948 RID: 2376 [SerializeField] private ushort m_PacketSize; // Token: 0x04000949 RID: 2377 [SerializeField] private ushort m_FragmentSize; // Token: 0x0400094A RID: 2378 [SerializeField] private uint m_ResendTimeout; // Token: 0x0400094B RID: 2379 [SerializeField] private uint m_DisconnectTimeout; // Token: 0x0400094C RID: 2380 [SerializeField] private uint m_ConnectTimeout; // Token: 0x0400094D RID: 2381 [SerializeField] private uint m_MinUpdateTimeout; // Token: 0x0400094E RID: 2382 [SerializeField] private uint m_PingTimeout; // Token: 0x0400094F RID: 2383 [SerializeField] private uint m_ReducedPingTimeout; // Token: 0x04000950 RID: 2384 [SerializeField] private uint m_AllCostTimeout; // Token: 0x04000951 RID: 2385 [SerializeField] private byte m_NetworkDropThreshold; // Token: 0x04000952 RID: 2386 [SerializeField] private byte m_OverflowDropThreshold; // Token: 0x04000953 RID: 2387 [SerializeField] private byte m_MaxConnectionAttempt; // Token: 0x04000954 RID: 2388 [SerializeField] private uint m_AckDelay; // Token: 0x04000955 RID: 2389 [SerializeField] private uint m_SendDelay; // Token: 0x04000956 RID: 2390 [SerializeField] private ushort m_MaxCombinedReliableMessageSize; // Token: 0x04000957 RID: 2391 [SerializeField] private ushort m_MaxCombinedReliableMessageCount; // Token: 0x04000958 RID: 2392 [SerializeField] private ushort m_MaxSentMessageQueueSize; // Token: 0x04000959 RID: 2393 [SerializeField] private ConnectionAcksType m_AcksType; // Token: 0x0400095A RID: 2394 [SerializeField] private bool m_UsePlatformSpecificProtocols; // Token: 0x0400095B RID: 2395 [SerializeField] private uint m_InitialBandwidth; // Token: 0x0400095C RID: 2396 [SerializeField] private float m_BandwidthPeakFactor; // Token: 0x0400095D RID: 2397 [SerializeField] private ushort m_WebSocketReceiveBufferMaxSize; // Token: 0x0400095E RID: 2398 [SerializeField] private uint m_UdpSocketReceiveBufferMaxSize; // Token: 0x0400095F RID: 2399 [SerializeField] private string m_SSLCertFilePath; // Token: 0x04000960 RID: 2400 [SerializeField] private string m_SSLPrivateKeyFilePath; // Token: 0x04000961 RID: 2401 [SerializeField] private string m_SSLCAFilePath; // Token: 0x04000962 RID: 2402 [SerializeField] internal List m_Channels = new List(); } }