CSharpRTMP.Core.Protocols.Rtmfp.InboundRTMFPProtocol.CreateSession C# (CSharp) Method

CreateSession() public method

public CreateSession ( Peer peer, Cookie cookie ) : Session
peer Peer
cookie Cookie
return Session
        public override Session CreateSession(Peer peer, Cookie cookie)
        {
            var target = _pCirrus;
            if (_middle)
            {
                if (cookie.Target == null)
                {
                    cookie.Target = new Target(peer.Address,cookie) {PeerId = peer.Id};
                    peer.Id = cookie.Target.Id;
                }
                else
                {
                    target = cookie.Target;
                }
            }
            Session session;
            if (target != null)
            {
                session = new Middle(peer, cookie.CookieComputing.DecryptKey, cookie.CookieComputing.EncryptKey, target)
                {
                    Handler = this,
                    FarId = cookie.FarId,
                    Application = Application
                };
                //if (_pCirrus == target) session.Target = cookie.Target;
                //session.Manage();
            }
            else
            {
                session = new Session(peer, cookie.CookieComputing.DecryptKey, cookie.CookieComputing.EncryptKey)
                {
                    Handler = this,
                    Target = cookie.Target,
                    FarId = cookie.FarId,
                    Application = Application
                };
            }
            Logger.Debug("FarId:{0}",session.FarId);
            Sessions[session.Id] = session;
            return session;
        }