Пример #1
0
        private void NotifyQueueRunner()
        {
            while (true)
            {
                PresenceNotification presence = m_NotifyQueue.Dequeue();

                if (presence.request == NotificationRequest.Shutdown)
                {
                    TellMessageServersAboutRegionShutdownInternal(presence.RegionID);
                }

                if (presence.request == NotificationRequest.Login)
                {
                    TellMessageServersAboutUserInternal(presence.agentID,
                                                        presence.sessionID, presence.RegionID,
                                                        presence.regionhandle, presence.positionX,
                                                        presence.positionY, presence.positionZ,
                                                        presence.firstname, presence.lastname);
                }

                if (presence.request == NotificationRequest.Logout)
                {
                    TellMessageServersAboutUserLogoffInternal(presence.agentID);
                }
            }
        }
Пример #2
0
        public void TellMessageServersAboutRegionShutdown(UUID regionID)
        {
            PresenceNotification notification = new PresenceNotification();

            notification.request  = NotificationRequest.Shutdown;
            notification.RegionID = regionID;

            m_NotifyQueue.Enqueue(notification);
        }
Пример #3
0
        public void TellMessageServersAboutUserLogoff(UUID agentID)
        {
            PresenceNotification notification = new PresenceNotification();

            notification.request = NotificationRequest.Logout;
            notification.agentID = agentID;

            m_NotifyQueue.Enqueue(notification);
        }
Пример #4
0
        public void TellMessageServersAboutUser(UUID agentID, UUID sessionID, UUID RegionID,
                                                ulong regionhandle, float positionX, float positionY,
                                                float positionZ, string firstname, string lastname)
        {
            PresenceNotification notification = new PresenceNotification();

            notification.request      = NotificationRequest.Login;
            notification.agentID      = agentID;
            notification.sessionID    = sessionID;
            notification.RegionID     = RegionID;
            notification.regionhandle = regionhandle;
            notification.positionX    = positionX;
            notification.positionY    = positionY;
            notification.positionZ    = positionZ;
            notification.firstname    = firstname;
            notification.lastname     = lastname;

            m_NotifyQueue.Enqueue(notification);
        }
Пример #5
0
        public void TellMessageServersAboutRegionShutdown(UUID regionID)
        {
            PresenceNotification notification = new PresenceNotification();

            notification.request = NotificationRequest.Shutdown;
            notification.RegionID = regionID;

            m_NotifyQueue.Enqueue(notification);
        }
Пример #6
0
        public void TellMessageServersAboutUserLogoff(UUID agentID)
        {
            PresenceNotification notification = new PresenceNotification();

            notification.request = NotificationRequest.Logout;
            notification.agentID = agentID;

            m_NotifyQueue.Enqueue(notification);
        }
Пример #7
0
        public void TellMessageServersAboutUser(UUID agentID, UUID sessionID, UUID RegionID,
                                                ulong regionhandle, float positionX, float positionY,
                                                float positionZ, string firstname, string lastname)
        {
            PresenceNotification notification = new PresenceNotification();

            notification.request = NotificationRequest.Login;
            notification.agentID = agentID;
            notification.sessionID = sessionID;
            notification.RegionID = RegionID;
            notification.regionhandle = regionhandle;
            notification.positionX = positionX;
            notification.positionY = positionY;
            notification.positionZ = positionZ;
            notification.firstname = firstname;
            notification.lastname = lastname;

            m_NotifyQueue.Enqueue(notification);
        }