/// <summary> /// Initializes a new <see cref="LoadBalancingTransport"/>. /// </summary> /// <param name="connectionProtocol">Connection protocol (UDP or TCP). <see cref="ConnectionProtocol"></see></param> public LoadBalancingTransport(ConnectionProtocol connectionProtocol = ConnectionProtocol.Udp) : base(connectionProtocol) { base.EventReceived += onEventActionVoiceClient; base.StateChanged += onStateChangeVoiceClient; this.voiceClient = new VoiceClient(this); var voiceChannelsCount = Enum.GetValues(typeof(Codec)).Length + 1; // channel per stream type, channel 0 is for user events if (LoadBalancingPeer.ChannelCount < voiceChannelsCount) { this.LoadBalancingPeer.ChannelCount = (byte)voiceChannelsCount; } this.protocol = new PhotonTransportProtocol(voiceClient, this); }