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); } } }
public void TellMessageServersAboutRegionShutdown(UUID regionID) { PresenceNotification notification = new PresenceNotification(); notification.request = NotificationRequest.Shutdown; notification.RegionID = regionID; m_NotifyQueue.Enqueue(notification); }
public void TellMessageServersAboutUserLogoff(UUID agentID) { PresenceNotification notification = new PresenceNotification(); notification.request = NotificationRequest.Logout; notification.agentID = agentID; m_NotifyQueue.Enqueue(notification); }
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); }