Exemple #1
0
        /// <summary>
        /// Attempts to attach a UDP circuit to this connection.
        /// </summary>
        /// <param name="udpCircuit">The circuit to attach</param>
        /// <exception cref=""
        public void AttachUdpCircuit(IClientAPI udpCircuit)
        {
            if (_udpCircuit != null)
            {
                var ex = new AttachUdpCircuitException(String.Format("UDP circuit already exists for {0}. New code: {1}, Existing code: {2}",
                                                                     _circuitData.AgentID, _udpCircuit.CircuitCode, udpCircuit.CircuitCode));

                ex.CircuitAlreadyExisted = true;

                if (udpCircuit.CircuitCode == _circuitData.CircuitCode &&
                    udpCircuit.SessionId == _circuitData.SessionID)
                {
                    ex.ExistingCircuitMatched = true;
                }

                throw ex;
            }

            if (udpCircuit.CircuitCode != _circuitData.CircuitCode)
            {
                throw new AttachUdpCircuitException(String.Format("UDP circuit code doesnt match expected code for {0}. Expected: {1}, Actual {2}",
                                                                  _circuitData.AgentID, _circuitData.CircuitCode, udpCircuit.CircuitCode));
            }

            if (udpCircuit.SessionId != _circuitData.SessionID)
            {
                throw new AttachUdpCircuitException(String.Format("UDP session ID doesnt match expected ID for {0}. Expected: {1}, Actual {2}",
                                                                  _circuitData.AgentID, _circuitData.SessionID, udpCircuit.SessionId));
            }

            _udpCircuit = udpCircuit;
            _udpCircuit.OnConnectionClosed += _udpCircuit_OnConnectionClosed;
            _udpCircuit.OnSetThrottles     += _udpCircuit_OnSetThrottles;
            _state = AvatarConnectionState.Established;
        }
        /// <summary>
        /// Attempts to attach a UDP circuit to this connection. 
        /// </summary>
        /// <param name="udpCircuit">The circuit to attach</param>
        /// <exception cref=""
        public void AttachUdpCircuit(IClientAPI udpCircuit)
        {
            if (_udpCircuit != null)
            {
                var ex = new AttachUdpCircuitException(String.Format("UDP circuit already exists for {0}. New code: {1}, Existing code: {2}",
                    _circuitData.AgentID, _udpCircuit.CircuitCode, udpCircuit.CircuitCode));

                ex.CircuitAlreadyExisted = true;

                if (udpCircuit.CircuitCode == _circuitData.CircuitCode &&
                    udpCircuit.SessionId == _circuitData.SessionID)
                {
                    ex.ExistingCircuitMatched = true;
                }

                throw ex;
            }

            if (udpCircuit.CircuitCode != _circuitData.CircuitCode)
            {
                throw new AttachUdpCircuitException(String.Format("UDP circuit code doesnt match expected code for {0}. Expected: {1}, Actual {2}",
                    _circuitData.AgentID, _circuitData.CircuitCode, udpCircuit.CircuitCode));
            }

            if (udpCircuit.SessionId != _circuitData.SessionID)
            {
                throw new AttachUdpCircuitException(String.Format("UDP session ID doesnt match expected ID for {0}. Expected: {1}, Actual {2}",
                    _circuitData.AgentID, _circuitData.SessionID, udpCircuit.SessionId));
            }

            _udpCircuit = udpCircuit;
            _udpCircuit.OnConnectionClosed += _udpCircuit_OnConnectionClosed;
            _udpCircuit.OnSetThrottles += _udpCircuit_OnSetThrottles;
            _state = AvatarConnectionState.Established;
        }
Exemple #3
0
 public AvatarConnection(AgentCircuitData circuitData, EstablishedBy reason)
 {
     _circuitData       = circuitData;
     _state             = AvatarConnectionState.UDPCircuitWait;
     _establishedReason = reason;
 }
 public AvatarConnection(AgentCircuitData circuitData, EstablishedBy reason)
 {
     _circuitData = circuitData;
     _state = AvatarConnectionState.UDPCircuitWait;
     _establishedReason = reason;
 }