Example #1
0
 AgNetSession CreateNewSession(EndPoint endPoint)
 {
     lock (this.sessions)
     {
         AgNetSession session = new AgNetSession(this, endPoint);
         this.sessions.Add(endPoint, session);
         return(session);
     }
 }
Example #2
0
        public void SendMessage(AgNetSession session, OutgoingMessage msg, DeliveryType deliveryType, byte channel)
        {
            if (session.State != SessionState.Connected)
            {
                throw new InvalidOperationException(string.Format("Session {0} was disconnected", session));
            }

            session.CommitAndEnqueueForSending(msg, deliveryType, channel);
        }
Example #3
0
        internal override void OnSessionStateChangedInternal(AgNetSession session)
        {
            base.OnSessionStateChangedInternal(session);

            if (session.State == SessionState.Closed)
            {
                Dispose();
            }
        }
Example #4
0
 internal virtual void OnSessionStateChangedInternal(AgNetSession session)
 {
     System.Diagnostics.Debug.WriteLine(string.Format("{0} state changed to {1}", session, session.State));
     if (OnSessionStateChangedEvent != null)
     {
         if (Context == null)
         {
             OnSessionStateChangedEvent(session);
         }
         else
         {
             Context.Post(o => OnSessionStateChangedEvent(session), null);
         }
     }
 }
Example #5
0
        internal override void OnMessageInternal(IncomingMessage msg)
        {
            AgNetSession session = GetSession(msg.RemoteEndPoint);
            IEnumerable <IncomingMessage> messages = session.ReceiveMessage(msg);

            if (OnMessageEvent != null)
            {
                foreach (var message in messages)
                {
                    if (Context == null)
                    {
                        OnMessageEvent(session, message);
                    }
                    else
                    {
                        Context.Post(o => OnMessageEvent(session, message), null);
                    }
                }
            }
        }
Example #6
0
 public void SendMessage(AgNetSession session, OutgoingMessage msg, DeliveryType deliveryType)
 {
     SendMessage(session, msg, deliveryType, 0);
 }