From 963cf25813ad2bd6dceaa39757391fbf94d6f09e Mon Sep 17 00:00:00 2001
From: Adam Frisby
Date: Sun, 13 Dec 2009 03:04:16 +1100
Subject: * Implements OSSL function: osGetSimulatorMemory - returns the
current amount of memory allocated to the simulator process (Moderate Threat
Level). * Cleans redundant information out of the Simulator Version. Versions
now look like: "OpenSimulator 0.6.9(dev) Unix/Mono" * [Minor] additional log
info for MySQLInventoryData
---
OpenSim/Data/MySQL/MySQLInventoryData.cs | 3 +++
OpenSim/Framework/Util.cs | 20 ++++++++++++++++++++
OpenSim/Region/Framework/Scenes/Scene.cs | 5 +++++
.../Shared/Api/Implementation/OSSL_Api.cs | 13 +++++++++++++
.../ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs | 2 ++
.../ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs | 10 ++++++++++
6 files changed, 53 insertions(+)
(limited to 'OpenSim')
diff --git a/OpenSim/Data/MySQL/MySQLInventoryData.cs b/OpenSim/Data/MySQL/MySQLInventoryData.cs
index 0ea0cb7..d560c5f 100644
--- a/OpenSim/Data/MySQL/MySQLInventoryData.cs
+++ b/OpenSim/Data/MySQL/MySQLInventoryData.cs
@@ -91,6 +91,9 @@ namespace OpenSim.Data.MySQL
rollbackStore = GridDataMySqlFile.ParseFileReadValue("rollback") == "true";
opengridmode = GridDataMySqlFile.ParseFileReadValue("opengridmode") == "true";
+ if(rollbackStore)
+ m_log.Warn("[MysqlInventory] Enabling rollback mode in: " + rollbackDir);
+
database =
new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling,
settingPort);
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs
index 1112497..7215086 100644
--- a/OpenSim/Framework/Util.cs
+++ b/OpenSim/Framework/Util.cs
@@ -1007,6 +1007,26 @@ namespace OpenSim.Framework
return os;
}
+ public static string GetRuntimeInformation()
+ {
+ string ru = String.Empty;
+
+ if (Environment.OSVersion.Platform == PlatformID.Unix)
+ ru = "Unix/Mono";
+ else
+ if (Environment.OSVersion.Platform == PlatformID.MacOSX)
+ ru = "OSX/Mono";
+ else
+ {
+ if (Type.GetType("Mono.Runtime") != null)
+ ru = "Win/Mono";
+ else
+ ru = "Win/.NET";
+ }
+
+ return ru;
+ }
+
///
/// Is the given string a UUID?
///
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index a22fb5f..cc13972 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -574,10 +574,15 @@ namespace OpenSim.Region.Framework.Scenes
StatsReporter.SetObjectCapacity(objectCapacity);
+ // Old
+ /*
m_simulatorVersion = simulatorVersion
+ " (OS " + Util.GetOperatingSystemInformation() + ")"
+ " ChilTasks:" + m_seeIntoRegionFromNeighbor.ToString()
+ " PhysPrim:" + m_physicalPrim.ToString();
+ */
+
+ m_simulatorVersion = simulatorVersion + " (" + Util.GetRuntimeInformation() + ")";
try
{
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index 5501679..e9e54ae 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -1970,5 +1970,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
return ret;
}
+ public int osGetSimulatorMemory()
+ {
+ CheckThreatLevel(ThreatLevel.Moderate, "osGetRegionStats");
+ m_host.AddScriptLPS(1);
+ long pws = System.Diagnostics.Process.GetCurrentProcess().WorkingSet64;
+
+ if (pws > Int32.MaxValue)
+ return Int32.MaxValue;
+ if (pws < 0)
+ return 0;
+
+ return (int)pws;
+ }
}
}
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
index 0b0dc00..580c354 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
@@ -163,5 +163,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
key osGetMapTexture();
key osGetRegionMapTexture(string regionName);
LSL_List osGetRegionStats();
+
+ int osGetSimulatorMemory();
}
}
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs
index 519463e..2876ad6 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs
@@ -637,5 +637,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
{
return m_OSSL_Functions.osGetRegionStats();
}
+
+ ///
+ /// Returns the amount of memory in use by the Simulator Daemon.
+ /// Amount in bytes - if >= 4GB, returns 4GB. (LSL is not 64-bit aware)
+ ///
+ ///
+ public LSL_Integer osGetSimulatorMemory()
+ {
+ return m_OSSL_Functions.osGetSimulatorMemory();
+ }
}
}
--
cgit v1.1
From 87e89efbf9727b294658f149c6494fd49608bc12 Mon Sep 17 00:00:00 2001
From: Adam Frisby
Date: Sun, 13 Dec 2009 03:49:22 +1100
Subject: * Mistaken ThreatLevel classification on osGetSimulatorMemory -
should have been MODERATE.
---
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim')
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index e9e54ae..1b7db7c 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -1972,7 +1972,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public int osGetSimulatorMemory()
{
- CheckThreatLevel(ThreatLevel.Moderate, "osGetRegionStats");
+ CheckThreatLevel(ThreatLevel.Moderate, "osGetSimulatorMemory");
m_host.AddScriptLPS(1);
long pws = System.Diagnostics.Process.GetCurrentProcess().WorkingSet64;
--
cgit v1.1
From 4ef8dc7d96fa2d4efd992ff7d304b8894f004c4f Mon Sep 17 00:00:00 2001
From: Teravus Ovares (Dan Olivares)
Date: Sun, 13 Dec 2009 02:08:28 -0500
Subject: * Add some glue that allows LocalPacketHandlers to decide if they
want the packet to be processed asynchronously or not. * Make several packets
not asynchronous (such as AgentUpdate). In theory, all fast returning
packet handling methods should not be asynchronous. Ones that wait on an
external resource or a long held lock, should be asynchronous.
---
.../Region/ClientStack/LindenUDP/LLClientView.cs | 136 ++++++++++++++-------
.../Region/ClientStack/LindenUDP/LLUDPServer.cs | 2 +-
2 files changed, 90 insertions(+), 48 deletions(-)
(limited to 'OpenSim')
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index fba5090..9184c90 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -332,7 +332,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
private AgentUpdateArgs lastarg;
private bool m_IsActive = true;
- protected Dictionary m_packetHandlers = new Dictionary();
+ protected Dictionary m_packetHandlers = new Dictionary();
protected Dictionary m_genericPacketHandlers = new Dictionary(); //PauPaw:Local Generic Message handlers
protected Scene m_scene;
protected LLImageManager m_imageManager;
@@ -540,12 +540,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP
public bool AddLocalPacketHandler(PacketType packetType, PacketMethod handler)
{
+ return AddLocalPacketHandler(packetType, handler, true);
+ }
+
+ public bool AddLocalPacketHandler(PacketType packetType, PacketMethod handler, bool async)
+ {
bool result = false;
lock (m_packetHandlers)
{
if (!m_packetHandlers.ContainsKey(packetType))
{
- m_packetHandlers.Add(packetType, handler);
+ m_packetHandlers.Add(packetType, new PacketProcessor() { method = handler, Async = async });
result = true;
}
}
@@ -576,15 +581,25 @@ namespace OpenSim.Region.ClientStack.LindenUDP
protected virtual bool ProcessPacketMethod(Packet packet)
{
bool result = false;
- PacketMethod method;
- if (m_packetHandlers.TryGetValue(packet.Type, out method))
+ PacketProcessor pprocessor;
+ if (m_packetHandlers.TryGetValue(packet.Type, out pprocessor))
{
//there is a local handler for this packet type
- result = method(this, packet);
+ if (pprocessor.Async)
+ {
+ object obj = new AsyncPacketProcess(this, pprocessor.method, packet);
+ Util.FireAndForget(ProcessSpecificPacketAsync,obj);
+ result = true;
+ }
+ else
+ {
+ result = pprocessor.method(this, packet);
+ }
}
else
{
//there is not a local handler so see if there is a Global handler
+ PacketMethod method = null;
bool found;
lock (PacketHandlers)
{
@@ -598,6 +613,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
return result;
}
+ public void ProcessSpecificPacketAsync(object state)
+ {
+ AsyncPacketProcess packetObject = (AsyncPacketProcess)state;
+ packetObject.result = packetObject.Method(packetObject.ClientView, packetObject.Pack);
+
+ }
+
#endregion Packet Handling
# region Setup
@@ -4340,26 +4362,26 @@ namespace OpenSim.Region.ClientStack.LindenUDP
protected virtual void RegisterLocalPacketHandlers()
{
AddLocalPacketHandler(PacketType.LogoutRequest, HandleLogout);
- AddLocalPacketHandler(PacketType.AgentUpdate, HandleAgentUpdate);
- AddLocalPacketHandler(PacketType.ViewerEffect, HandleViewerEffect);
- AddLocalPacketHandler(PacketType.AgentCachedTexture, HandleAgentTextureCached);
- AddLocalPacketHandler(PacketType.MultipleObjectUpdate, HandleMultipleObjUpdate);
- AddLocalPacketHandler(PacketType.MoneyTransferRequest, HandleMoneyTransferRequest);
- AddLocalPacketHandler(PacketType.ParcelBuy, HandleParcelBuyRequest);
- AddLocalPacketHandler(PacketType.UUIDGroupNameRequest, HandleUUIDGroupNameRequest);
- AddLocalPacketHandler(PacketType.ObjectGroup, HandleObjectGroupRequest);
+ AddLocalPacketHandler(PacketType.AgentUpdate, HandleAgentUpdate, false);
+ AddLocalPacketHandler(PacketType.ViewerEffect, HandleViewerEffect, false);
+ AddLocalPacketHandler(PacketType.AgentCachedTexture, HandleAgentTextureCached, false);
+ AddLocalPacketHandler(PacketType.MultipleObjectUpdate, HandleMultipleObjUpdate, false);
+ AddLocalPacketHandler(PacketType.MoneyTransferRequest, HandleMoneyTransferRequest, false);
+ AddLocalPacketHandler(PacketType.ParcelBuy, HandleParcelBuyRequest, false);
+ AddLocalPacketHandler(PacketType.UUIDGroupNameRequest, HandleUUIDGroupNameRequest, false);
+ AddLocalPacketHandler(PacketType.ObjectGroup, HandleObjectGroupRequest, false);
AddLocalPacketHandler(PacketType.GenericMessage, HandleGenericMessage);
AddLocalPacketHandler(PacketType.AvatarPropertiesRequest, HandleAvatarPropertiesRequest);
AddLocalPacketHandler(PacketType.ChatFromViewer, HandleChatFromViewer);
AddLocalPacketHandler(PacketType.AvatarPropertiesUpdate, HandlerAvatarPropertiesUpdate);
AddLocalPacketHandler(PacketType.ScriptDialogReply, HandlerScriptDialogReply);
- AddLocalPacketHandler(PacketType.ImprovedInstantMessage, HandlerImprovedInstantMessage);
+ AddLocalPacketHandler(PacketType.ImprovedInstantMessage, HandlerImprovedInstantMessage, false);
AddLocalPacketHandler(PacketType.AcceptFriendship, HandlerAcceptFriendship);
AddLocalPacketHandler(PacketType.DeclineFriendship, HandlerDeclineFriendship);
AddLocalPacketHandler(PacketType.TerminateFriendship, HandlerTerminateFrendship);
AddLocalPacketHandler(PacketType.RezObject, HandlerRezObject);
AddLocalPacketHandler(PacketType.DeRezObject, HandlerDeRezObject);
- AddLocalPacketHandler(PacketType.ModifyLand, HandlerModifyLand);
+ AddLocalPacketHandler(PacketType.ModifyLand, HandlerModifyLand, false);
AddLocalPacketHandler(PacketType.RegionHandshakeReply, HandlerRegionHandshakeReply);
AddLocalPacketHandler(PacketType.AgentWearablesRequest, HandlerAgentWearablesRequest);
AddLocalPacketHandler(PacketType.AgentSetAppearance, HandlerAgentSetAppearance);
@@ -4370,9 +4392,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
AddLocalPacketHandler(PacketType.ObjectAttach, HandleObjectAttach);
AddLocalPacketHandler(PacketType.ObjectDetach, HandleObjectDetach);
AddLocalPacketHandler(PacketType.ObjectDrop, HandleObjectDrop);
- AddLocalPacketHandler(PacketType.SetAlwaysRun, HandleSetAlwaysRun);
+ AddLocalPacketHandler(PacketType.SetAlwaysRun, HandleSetAlwaysRun, false);
AddLocalPacketHandler(PacketType.CompleteAgentMovement, HandleCompleteAgentMovement);
- AddLocalPacketHandler(PacketType.AgentAnimation, HandleAgentAnimation);
+ AddLocalPacketHandler(PacketType.AgentAnimation, HandleAgentAnimation, false);
AddLocalPacketHandler(PacketType.AgentRequestSit, HandleAgentRequestSit);
AddLocalPacketHandler(PacketType.AgentSit, HandleAgentSit);
AddLocalPacketHandler(PacketType.SoundTrigger, HandleSoundTrigger);
@@ -4381,9 +4403,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
AddLocalPacketHandler(PacketType.UserInfoRequest, HandleUserInfoRequest);
AddLocalPacketHandler(PacketType.UpdateUserInfo, HandleUpdateUserInfo);
AddLocalPacketHandler(PacketType.SetStartLocationRequest, HandleSetStartLocationRequest);
- AddLocalPacketHandler(PacketType.AgentThrottle, HandleAgentThrottle);
- AddLocalPacketHandler(PacketType.AgentPause, HandleAgentPause);
- AddLocalPacketHandler(PacketType.AgentResume, HandleAgentResume);
+ AddLocalPacketHandler(PacketType.AgentThrottle, HandleAgentThrottle, false);
+ AddLocalPacketHandler(PacketType.AgentPause, HandleAgentPause, false);
+ AddLocalPacketHandler(PacketType.AgentResume, HandleAgentResume, false);
AddLocalPacketHandler(PacketType.ForceScriptControlRelease, HandleForceScriptControlRelease);
AddLocalPacketHandler(PacketType.ObjectLink, HandleObjectLink);
AddLocalPacketHandler(PacketType.ObjectDelink, HandleObjectDelink);
@@ -4399,22 +4421,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP
AddLocalPacketHandler(PacketType.ObjectRotation, HandleObjectRotation);
AddLocalPacketHandler(PacketType.ObjectFlagUpdate, HandleObjectFlagUpdate);
AddLocalPacketHandler(PacketType.ObjectImage, HandleObjectImage);
- AddLocalPacketHandler(PacketType.ObjectGrab, HandleObjectGrab);
- AddLocalPacketHandler(PacketType.ObjectGrabUpdate, HandleObjectGrabUpdate);
+ AddLocalPacketHandler(PacketType.ObjectGrab, HandleObjectGrab, false);
+ AddLocalPacketHandler(PacketType.ObjectGrabUpdate, HandleObjectGrabUpdate, false);
AddLocalPacketHandler(PacketType.ObjectDeGrab, HandleObjectDeGrab);
- AddLocalPacketHandler(PacketType.ObjectSpinStart, HandleObjectSpinStart);
- AddLocalPacketHandler(PacketType.ObjectSpinUpdate, HandleObjectSpinUpdate);
- AddLocalPacketHandler(PacketType.ObjectSpinStop, HandleObjectSpinStop);
- AddLocalPacketHandler(PacketType.ObjectDescription, HandleObjectDescription);
- AddLocalPacketHandler(PacketType.ObjectName, HandleObjectName);
- AddLocalPacketHandler(PacketType.ObjectPermissions, HandleObjectPermissions);
- AddLocalPacketHandler(PacketType.Undo, HandleUndo);
+ AddLocalPacketHandler(PacketType.ObjectSpinStart, HandleObjectSpinStart, false);
+ AddLocalPacketHandler(PacketType.ObjectSpinUpdate, HandleObjectSpinUpdate, false);
+ AddLocalPacketHandler(PacketType.ObjectSpinStop, HandleObjectSpinStop, false);
+ AddLocalPacketHandler(PacketType.ObjectDescription, HandleObjectDescription, false);
+ AddLocalPacketHandler(PacketType.ObjectName, HandleObjectName, false);
+ AddLocalPacketHandler(PacketType.ObjectPermissions, HandleObjectPermissions, false);
+ AddLocalPacketHandler(PacketType.Undo, HandleUndo, false);
AddLocalPacketHandler(PacketType.ObjectDuplicateOnRay, HandleObjectDuplicateOnRay);
- AddLocalPacketHandler(PacketType.RequestObjectPropertiesFamily, HandleRequestObjectPropertiesFamily);
+ AddLocalPacketHandler(PacketType.RequestObjectPropertiesFamily, HandleRequestObjectPropertiesFamily, false);
AddLocalPacketHandler(PacketType.ObjectIncludeInSearch, HandleObjectIncludeInSearch);
- AddLocalPacketHandler(PacketType.ScriptAnswerYes, HandleScriptAnswerYes);
- AddLocalPacketHandler(PacketType.ObjectClickAction, HandleObjectClickAction);
- AddLocalPacketHandler(PacketType.ObjectMaterial, HandleObjectMaterial);
+ AddLocalPacketHandler(PacketType.ScriptAnswerYes, HandleScriptAnswerYes, false);
+ AddLocalPacketHandler(PacketType.ObjectClickAction, HandleObjectClickAction, false);
+ AddLocalPacketHandler(PacketType.ObjectMaterial, HandleObjectMaterial, false);
AddLocalPacketHandler(PacketType.RequestImage, HandleRequestImage);
AddLocalPacketHandler(PacketType.TransferRequest, HandleTransferRequest);
AddLocalPacketHandler(PacketType.AssetUploadRequest, HandleAssetUploadRequest);
@@ -4440,17 +4462,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP
AddLocalPacketHandler(PacketType.RemoveTaskInventory, HandleRemoveTaskInventory);
AddLocalPacketHandler(PacketType.MoveTaskInventory, HandleMoveTaskInventory);
AddLocalPacketHandler(PacketType.RezScript, HandleRezScript);
- AddLocalPacketHandler(PacketType.MapLayerRequest, HandleMapLayerRequest);
- AddLocalPacketHandler(PacketType.MapBlockRequest, HandleMapBlockRequest);
- AddLocalPacketHandler(PacketType.MapNameRequest, HandleMapNameRequest);
+ AddLocalPacketHandler(PacketType.MapLayerRequest, HandleMapLayerRequest, false);
+ AddLocalPacketHandler(PacketType.MapBlockRequest, HandleMapBlockRequest, false);
+ AddLocalPacketHandler(PacketType.MapNameRequest, HandleMapNameRequest, false);
AddLocalPacketHandler(PacketType.TeleportLandmarkRequest, HandleTeleportLandmarkRequest);
AddLocalPacketHandler(PacketType.TeleportLocationRequest, HandleTeleportLocationRequest);
- AddLocalPacketHandler(PacketType.UUIDNameRequest, HandleUUIDNameRequest);
+ AddLocalPacketHandler(PacketType.UUIDNameRequest, HandleUUIDNameRequest, false);
AddLocalPacketHandler(PacketType.RegionHandleRequest, HandleRegionHandleRequest);
- AddLocalPacketHandler(PacketType.ParcelInfoRequest, HandleParcelInfoRequest);
- AddLocalPacketHandler(PacketType.ParcelAccessListRequest, HandleParcelAccessListRequest);
- AddLocalPacketHandler(PacketType.ParcelAccessListUpdate, HandleParcelAccessListUpdate);
- AddLocalPacketHandler(PacketType.ParcelPropertiesRequest, HandleParcelPropertiesRequest);
+ AddLocalPacketHandler(PacketType.ParcelInfoRequest, HandleParcelInfoRequest, false);
+ AddLocalPacketHandler(PacketType.ParcelAccessListRequest, HandleParcelAccessListRequest, false);
+ AddLocalPacketHandler(PacketType.ParcelAccessListUpdate, HandleParcelAccessListUpdate, false);
+ AddLocalPacketHandler(PacketType.ParcelPropertiesRequest, HandleParcelPropertiesRequest, false);
AddLocalPacketHandler(PacketType.ParcelDivide, HandleParcelDivide);
AddLocalPacketHandler(PacketType.ParcelJoin, HandleParcelJoin);
AddLocalPacketHandler(PacketType.ParcelPropertiesUpdate, HandleParcelPropertiesUpdate);
@@ -4464,7 +4486,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
AddLocalPacketHandler(PacketType.LandStatRequest, HandleLandStatRequest);
AddLocalPacketHandler(PacketType.ParcelDwellRequest, HandleParcelDwellRequest);
AddLocalPacketHandler(PacketType.EstateOwnerMessage, HandleEstateOwnerMessage);
- AddLocalPacketHandler(PacketType.RequestRegionInfo, HandleRequestRegionInfo);
+ AddLocalPacketHandler(PacketType.RequestRegionInfo, HandleRequestRegionInfo, false);
AddLocalPacketHandler(PacketType.EstateCovenantRequest, HandleEstateCovenantRequest);
AddLocalPacketHandler(PacketType.RequestGodlikePowers, HandleRequestGodlikePowers);
AddLocalPacketHandler(PacketType.GodKickUser, HandleGodKickUser);
@@ -4479,13 +4501,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
AddLocalPacketHandler(PacketType.ActivateGestures, HandleActivateGestures);
AddLocalPacketHandler(PacketType.DeactivateGestures, HandleDeactivateGestures);
AddLocalPacketHandler(PacketType.ObjectOwner, HandleObjectOwner);
- AddLocalPacketHandler(PacketType.AgentFOV, HandleAgentFOV);
+ AddLocalPacketHandler(PacketType.AgentFOV, HandleAgentFOV, false);
AddLocalPacketHandler(PacketType.ViewerStats, HandleViewerStats);
- AddLocalPacketHandler(PacketType.MapItemRequest, HandleMapItemRequest);
- AddLocalPacketHandler(PacketType.TransferAbort, HandleTransferAbort);
- AddLocalPacketHandler(PacketType.MuteListRequest, HandleMuteListRequest);
+ AddLocalPacketHandler(PacketType.MapItemRequest, HandleMapItemRequest, false);
+ AddLocalPacketHandler(PacketType.TransferAbort, HandleTransferAbort, false);
+ AddLocalPacketHandler(PacketType.MuteListRequest, HandleMuteListRequest, false);
AddLocalPacketHandler(PacketType.UseCircuitCode, HandleUseCircuitCode);
- AddLocalPacketHandler(PacketType.AgentHeightWidth, HandleAgentHeightWidth);
+ AddLocalPacketHandler(PacketType.AgentHeightWidth, HandleAgentHeightWidth, false);
AddLocalPacketHandler(PacketType.InventoryDescendents, HandleInventoryDescendents);
AddLocalPacketHandler(PacketType.DirPlacesQuery, HandleDirPlacesQuery);
AddLocalPacketHandler(PacketType.DirFindQuery, HandleDirFindQuery);
@@ -15757,6 +15779,26 @@ namespace OpenSim.Region.ClientStack.LindenUDP
}
#endregion
}
+
+ public struct PacketProcessor
+ {
+ public PacketMethod method;
+ public bool Async;
+ }
+ public class AsyncPacketProcess
+ {
+ public bool result = false;
+ public readonly LLClientView ClientView = null;
+ public readonly Packet Pack = null;
+ public readonly PacketMethod Method = null;
+ public AsyncPacketProcess(LLClientView pClientview, PacketMethod pMethod, Packet pPack)
+ {
+ ClientView = pClientview;
+ Method = pMethod;
+ Pack = pPack;
+ }
+ }
+
#endregion
public static OSD BuildEvent(string eventName, OSD eventBody)
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
index 338f2bb..3c4fa72 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
@@ -943,7 +943,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
}
if (packetInbox.Dequeue(100, ref incomingPacket))
- Util.FireAndForget(ProcessInPacket, incomingPacket);
+ ProcessInPacket(incomingPacket);//, incomingPacket); Util.FireAndForget(ProcessInPacket, incomingPacket);
}
catch (Exception ex)
{
--
cgit v1.1
From f04645724956061bc1349ded24f984c6d12dd958 Mon Sep 17 00:00:00 2001
From: Teravus Ovares (Dan Olivares)
Date: Sun, 13 Dec 2009 04:02:18 -0500
Subject: Tweaking the ModifyLand packet to be async. Advice from Adam
---
OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim')
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 9184c90..4780701 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -4381,7 +4381,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
AddLocalPacketHandler(PacketType.TerminateFriendship, HandlerTerminateFrendship);
AddLocalPacketHandler(PacketType.RezObject, HandlerRezObject);
AddLocalPacketHandler(PacketType.DeRezObject, HandlerDeRezObject);
- AddLocalPacketHandler(PacketType.ModifyLand, HandlerModifyLand, false);
+ AddLocalPacketHandler(PacketType.ModifyLand, HandlerModifyLand);
AddLocalPacketHandler(PacketType.RegionHandshakeReply, HandlerRegionHandshakeReply);
AddLocalPacketHandler(PacketType.AgentWearablesRequest, HandlerAgentWearablesRequest);
AddLocalPacketHandler(PacketType.AgentSetAppearance, HandlerAgentSetAppearance);
--
cgit v1.1