diff options
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 134 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 2 |
2 files changed, 89 insertions, 47 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 2b5e632..e7ce2e0 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -332,7 +332,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
332 | private AgentUpdateArgs lastarg; | 332 | private AgentUpdateArgs lastarg; |
333 | private bool m_IsActive = true; | 333 | private bool m_IsActive = true; |
334 | 334 | ||
335 | protected Dictionary<PacketType, PacketMethod> m_packetHandlers = new Dictionary<PacketType, PacketMethod>(); | 335 | protected Dictionary<PacketType, PacketProcessor> m_packetHandlers = new Dictionary<PacketType, PacketProcessor>(); |
336 | protected Dictionary<string, GenericMessage> m_genericPacketHandlers = new Dictionary<string, GenericMessage>(); //PauPaw:Local Generic Message handlers | 336 | protected Dictionary<string, GenericMessage> m_genericPacketHandlers = new Dictionary<string, GenericMessage>(); //PauPaw:Local Generic Message handlers |
337 | protected Scene m_scene; | 337 | protected Scene m_scene; |
338 | protected LLImageManager m_imageManager; | 338 | protected LLImageManager m_imageManager; |
@@ -540,12 +540,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
540 | 540 | ||
541 | public bool AddLocalPacketHandler(PacketType packetType, PacketMethod handler) | 541 | public bool AddLocalPacketHandler(PacketType packetType, PacketMethod handler) |
542 | { | 542 | { |
543 | return AddLocalPacketHandler(packetType, handler, true); | ||
544 | } | ||
545 | |||
546 | public bool AddLocalPacketHandler(PacketType packetType, PacketMethod handler, bool async) | ||
547 | { | ||
543 | bool result = false; | 548 | bool result = false; |
544 | lock (m_packetHandlers) | 549 | lock (m_packetHandlers) |
545 | { | 550 | { |
546 | if (!m_packetHandlers.ContainsKey(packetType)) | 551 | if (!m_packetHandlers.ContainsKey(packetType)) |
547 | { | 552 | { |
548 | m_packetHandlers.Add(packetType, handler); | 553 | m_packetHandlers.Add(packetType, new PacketProcessor() { method = handler, Async = async }); |
549 | result = true; | 554 | result = true; |
550 | } | 555 | } |
551 | } | 556 | } |
@@ -576,15 +581,25 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
576 | protected virtual bool ProcessPacketMethod(Packet packet) | 581 | protected virtual bool ProcessPacketMethod(Packet packet) |
577 | { | 582 | { |
578 | bool result = false; | 583 | bool result = false; |
579 | PacketMethod method; | 584 | PacketProcessor pprocessor; |
580 | if (m_packetHandlers.TryGetValue(packet.Type, out method)) | 585 | if (m_packetHandlers.TryGetValue(packet.Type, out pprocessor)) |
581 | { | 586 | { |
582 | //there is a local handler for this packet type | 587 | //there is a local handler for this packet type |
583 | result = method(this, packet); | 588 | if (pprocessor.Async) |
589 | { | ||
590 | object obj = new AsyncPacketProcess(this, pprocessor.method, packet); | ||
591 | Util.FireAndForget(ProcessSpecificPacketAsync,obj); | ||
592 | result = true; | ||
593 | } | ||
594 | else | ||
595 | { | ||
596 | result = pprocessor.method(this, packet); | ||
597 | } | ||
584 | } | 598 | } |
585 | else | 599 | else |
586 | { | 600 | { |
587 | //there is not a local handler so see if there is a Global handler | 601 | //there is not a local handler so see if there is a Global handler |
602 | PacketMethod method = null; | ||
588 | bool found; | 603 | bool found; |
589 | lock (PacketHandlers) | 604 | lock (PacketHandlers) |
590 | { | 605 | { |
@@ -598,6 +613,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
598 | return result; | 613 | return result; |
599 | } | 614 | } |
600 | 615 | ||
616 | public void ProcessSpecificPacketAsync(object state) | ||
617 | { | ||
618 | AsyncPacketProcess packetObject = (AsyncPacketProcess)state; | ||
619 | packetObject.result = packetObject.Method(packetObject.ClientView, packetObject.Pack); | ||
620 | |||
621 | } | ||
622 | |||
601 | #endregion Packet Handling | 623 | #endregion Packet Handling |
602 | 624 | ||
603 | # region Setup | 625 | # region Setup |
@@ -4323,20 +4345,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4323 | protected virtual void RegisterLocalPacketHandlers() | 4345 | protected virtual void RegisterLocalPacketHandlers() |
4324 | { | 4346 | { |
4325 | AddLocalPacketHandler(PacketType.LogoutRequest, HandleLogout); | 4347 | AddLocalPacketHandler(PacketType.LogoutRequest, HandleLogout); |
4326 | AddLocalPacketHandler(PacketType.AgentUpdate, HandleAgentUpdate); | 4348 | AddLocalPacketHandler(PacketType.AgentUpdate, HandleAgentUpdate, false); |
4327 | AddLocalPacketHandler(PacketType.ViewerEffect, HandleViewerEffect); | 4349 | AddLocalPacketHandler(PacketType.ViewerEffect, HandleViewerEffect, false); |
4328 | AddLocalPacketHandler(PacketType.AgentCachedTexture, HandleAgentTextureCached); | 4350 | AddLocalPacketHandler(PacketType.AgentCachedTexture, HandleAgentTextureCached, false); |
4329 | AddLocalPacketHandler(PacketType.MultipleObjectUpdate, HandleMultipleObjUpdate); | 4351 | AddLocalPacketHandler(PacketType.MultipleObjectUpdate, HandleMultipleObjUpdate, false); |
4330 | AddLocalPacketHandler(PacketType.MoneyTransferRequest, HandleMoneyTransferRequest); | 4352 | AddLocalPacketHandler(PacketType.MoneyTransferRequest, HandleMoneyTransferRequest, false); |
4331 | AddLocalPacketHandler(PacketType.ParcelBuy, HandleParcelBuyRequest); | 4353 | AddLocalPacketHandler(PacketType.ParcelBuy, HandleParcelBuyRequest, false); |
4332 | AddLocalPacketHandler(PacketType.UUIDGroupNameRequest, HandleUUIDGroupNameRequest); | 4354 | AddLocalPacketHandler(PacketType.UUIDGroupNameRequest, HandleUUIDGroupNameRequest, false); |
4333 | AddLocalPacketHandler(PacketType.ObjectGroup, HandleObjectGroupRequest); | 4355 | AddLocalPacketHandler(PacketType.ObjectGroup, HandleObjectGroupRequest, false); |
4334 | AddLocalPacketHandler(PacketType.GenericMessage, HandleGenericMessage); | 4356 | AddLocalPacketHandler(PacketType.GenericMessage, HandleGenericMessage); |
4335 | AddLocalPacketHandler(PacketType.AvatarPropertiesRequest, HandleAvatarPropertiesRequest); | 4357 | AddLocalPacketHandler(PacketType.AvatarPropertiesRequest, HandleAvatarPropertiesRequest); |
4336 | AddLocalPacketHandler(PacketType.ChatFromViewer, HandleChatFromViewer); | 4358 | AddLocalPacketHandler(PacketType.ChatFromViewer, HandleChatFromViewer); |
4337 | AddLocalPacketHandler(PacketType.AvatarPropertiesUpdate, HandlerAvatarPropertiesUpdate); | 4359 | AddLocalPacketHandler(PacketType.AvatarPropertiesUpdate, HandlerAvatarPropertiesUpdate); |
4338 | AddLocalPacketHandler(PacketType.ScriptDialogReply, HandlerScriptDialogReply); | 4360 | AddLocalPacketHandler(PacketType.ScriptDialogReply, HandlerScriptDialogReply); |
4339 | AddLocalPacketHandler(PacketType.ImprovedInstantMessage, HandlerImprovedInstantMessage); | 4361 | AddLocalPacketHandler(PacketType.ImprovedInstantMessage, HandlerImprovedInstantMessage, false); |
4340 | AddLocalPacketHandler(PacketType.AcceptFriendship, HandlerAcceptFriendship); | 4362 | AddLocalPacketHandler(PacketType.AcceptFriendship, HandlerAcceptFriendship); |
4341 | AddLocalPacketHandler(PacketType.DeclineFriendship, HandlerDeclineFriendship); | 4363 | AddLocalPacketHandler(PacketType.DeclineFriendship, HandlerDeclineFriendship); |
4342 | AddLocalPacketHandler(PacketType.TerminateFriendship, HandlerTerminateFrendship); | 4364 | AddLocalPacketHandler(PacketType.TerminateFriendship, HandlerTerminateFrendship); |
@@ -4353,9 +4375,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4353 | AddLocalPacketHandler(PacketType.ObjectAttach, HandleObjectAttach); | 4375 | AddLocalPacketHandler(PacketType.ObjectAttach, HandleObjectAttach); |
4354 | AddLocalPacketHandler(PacketType.ObjectDetach, HandleObjectDetach); | 4376 | AddLocalPacketHandler(PacketType.ObjectDetach, HandleObjectDetach); |
4355 | AddLocalPacketHandler(PacketType.ObjectDrop, HandleObjectDrop); | 4377 | AddLocalPacketHandler(PacketType.ObjectDrop, HandleObjectDrop); |
4356 | AddLocalPacketHandler(PacketType.SetAlwaysRun, HandleSetAlwaysRun); | 4378 | AddLocalPacketHandler(PacketType.SetAlwaysRun, HandleSetAlwaysRun, false); |
4357 | AddLocalPacketHandler(PacketType.CompleteAgentMovement, HandleCompleteAgentMovement); | 4379 | AddLocalPacketHandler(PacketType.CompleteAgentMovement, HandleCompleteAgentMovement); |
4358 | AddLocalPacketHandler(PacketType.AgentAnimation, HandleAgentAnimation); | 4380 | AddLocalPacketHandler(PacketType.AgentAnimation, HandleAgentAnimation, false); |
4359 | AddLocalPacketHandler(PacketType.AgentRequestSit, HandleAgentRequestSit); | 4381 | AddLocalPacketHandler(PacketType.AgentRequestSit, HandleAgentRequestSit); |
4360 | AddLocalPacketHandler(PacketType.AgentSit, HandleAgentSit); | 4382 | AddLocalPacketHandler(PacketType.AgentSit, HandleAgentSit); |
4361 | AddLocalPacketHandler(PacketType.SoundTrigger, HandleSoundTrigger); | 4383 | AddLocalPacketHandler(PacketType.SoundTrigger, HandleSoundTrigger); |
@@ -4364,9 +4386,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4364 | AddLocalPacketHandler(PacketType.UserInfoRequest, HandleUserInfoRequest); | 4386 | AddLocalPacketHandler(PacketType.UserInfoRequest, HandleUserInfoRequest); |
4365 | AddLocalPacketHandler(PacketType.UpdateUserInfo, HandleUpdateUserInfo); | 4387 | AddLocalPacketHandler(PacketType.UpdateUserInfo, HandleUpdateUserInfo); |
4366 | AddLocalPacketHandler(PacketType.SetStartLocationRequest, HandleSetStartLocationRequest); | 4388 | AddLocalPacketHandler(PacketType.SetStartLocationRequest, HandleSetStartLocationRequest); |
4367 | AddLocalPacketHandler(PacketType.AgentThrottle, HandleAgentThrottle); | 4389 | AddLocalPacketHandler(PacketType.AgentThrottle, HandleAgentThrottle, false); |
4368 | AddLocalPacketHandler(PacketType.AgentPause, HandleAgentPause); | 4390 | AddLocalPacketHandler(PacketType.AgentPause, HandleAgentPause, false); |
4369 | AddLocalPacketHandler(PacketType.AgentResume, HandleAgentResume); | 4391 | AddLocalPacketHandler(PacketType.AgentResume, HandleAgentResume, false); |
4370 | AddLocalPacketHandler(PacketType.ForceScriptControlRelease, HandleForceScriptControlRelease); | 4392 | AddLocalPacketHandler(PacketType.ForceScriptControlRelease, HandleForceScriptControlRelease); |
4371 | AddLocalPacketHandler(PacketType.ObjectLink, HandleObjectLink); | 4393 | AddLocalPacketHandler(PacketType.ObjectLink, HandleObjectLink); |
4372 | AddLocalPacketHandler(PacketType.ObjectDelink, HandleObjectDelink); | 4394 | AddLocalPacketHandler(PacketType.ObjectDelink, HandleObjectDelink); |
@@ -4382,22 +4404,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4382 | AddLocalPacketHandler(PacketType.ObjectRotation, HandleObjectRotation); | 4404 | AddLocalPacketHandler(PacketType.ObjectRotation, HandleObjectRotation); |
4383 | AddLocalPacketHandler(PacketType.ObjectFlagUpdate, HandleObjectFlagUpdate); | 4405 | AddLocalPacketHandler(PacketType.ObjectFlagUpdate, HandleObjectFlagUpdate); |
4384 | AddLocalPacketHandler(PacketType.ObjectImage, HandleObjectImage); | 4406 | AddLocalPacketHandler(PacketType.ObjectImage, HandleObjectImage); |
4385 | AddLocalPacketHandler(PacketType.ObjectGrab, HandleObjectGrab); | 4407 | AddLocalPacketHandler(PacketType.ObjectGrab, HandleObjectGrab, false); |
4386 | AddLocalPacketHandler(PacketType.ObjectGrabUpdate, HandleObjectGrabUpdate); | 4408 | AddLocalPacketHandler(PacketType.ObjectGrabUpdate, HandleObjectGrabUpdate, false); |
4387 | AddLocalPacketHandler(PacketType.ObjectDeGrab, HandleObjectDeGrab); | 4409 | AddLocalPacketHandler(PacketType.ObjectDeGrab, HandleObjectDeGrab); |
4388 | AddLocalPacketHandler(PacketType.ObjectSpinStart, HandleObjectSpinStart); | 4410 | AddLocalPacketHandler(PacketType.ObjectSpinStart, HandleObjectSpinStart, false); |
4389 | AddLocalPacketHandler(PacketType.ObjectSpinUpdate, HandleObjectSpinUpdate); | 4411 | AddLocalPacketHandler(PacketType.ObjectSpinUpdate, HandleObjectSpinUpdate, false); |
4390 | AddLocalPacketHandler(PacketType.ObjectSpinStop, HandleObjectSpinStop); | 4412 | AddLocalPacketHandler(PacketType.ObjectSpinStop, HandleObjectSpinStop, false); |
4391 | AddLocalPacketHandler(PacketType.ObjectDescription, HandleObjectDescription); | 4413 | AddLocalPacketHandler(PacketType.ObjectDescription, HandleObjectDescription, false); |
4392 | AddLocalPacketHandler(PacketType.ObjectName, HandleObjectName); | 4414 | AddLocalPacketHandler(PacketType.ObjectName, HandleObjectName, false); |
4393 | AddLocalPacketHandler(PacketType.ObjectPermissions, HandleObjectPermissions); | 4415 | AddLocalPacketHandler(PacketType.ObjectPermissions, HandleObjectPermissions, false); |
4394 | AddLocalPacketHandler(PacketType.Undo, HandleUndo); | 4416 | AddLocalPacketHandler(PacketType.Undo, HandleUndo, false); |
4395 | AddLocalPacketHandler(PacketType.ObjectDuplicateOnRay, HandleObjectDuplicateOnRay); | 4417 | AddLocalPacketHandler(PacketType.ObjectDuplicateOnRay, HandleObjectDuplicateOnRay); |
4396 | AddLocalPacketHandler(PacketType.RequestObjectPropertiesFamily, HandleRequestObjectPropertiesFamily); | 4418 | AddLocalPacketHandler(PacketType.RequestObjectPropertiesFamily, HandleRequestObjectPropertiesFamily, false); |
4397 | AddLocalPacketHandler(PacketType.ObjectIncludeInSearch, HandleObjectIncludeInSearch); | 4419 | AddLocalPacketHandler(PacketType.ObjectIncludeInSearch, HandleObjectIncludeInSearch); |
4398 | AddLocalPacketHandler(PacketType.ScriptAnswerYes, HandleScriptAnswerYes); | 4420 | AddLocalPacketHandler(PacketType.ScriptAnswerYes, HandleScriptAnswerYes, false); |
4399 | AddLocalPacketHandler(PacketType.ObjectClickAction, HandleObjectClickAction); | 4421 | AddLocalPacketHandler(PacketType.ObjectClickAction, HandleObjectClickAction, false); |
4400 | AddLocalPacketHandler(PacketType.ObjectMaterial, HandleObjectMaterial); | 4422 | AddLocalPacketHandler(PacketType.ObjectMaterial, HandleObjectMaterial, false); |
4401 | AddLocalPacketHandler(PacketType.RequestImage, HandleRequestImage); | 4423 | AddLocalPacketHandler(PacketType.RequestImage, HandleRequestImage); |
4402 | AddLocalPacketHandler(PacketType.TransferRequest, HandleTransferRequest); | 4424 | AddLocalPacketHandler(PacketType.TransferRequest, HandleTransferRequest); |
4403 | AddLocalPacketHandler(PacketType.AssetUploadRequest, HandleAssetUploadRequest); | 4425 | AddLocalPacketHandler(PacketType.AssetUploadRequest, HandleAssetUploadRequest); |
@@ -4423,17 +4445,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4423 | AddLocalPacketHandler(PacketType.RemoveTaskInventory, HandleRemoveTaskInventory); | 4445 | AddLocalPacketHandler(PacketType.RemoveTaskInventory, HandleRemoveTaskInventory); |
4424 | AddLocalPacketHandler(PacketType.MoveTaskInventory, HandleMoveTaskInventory); | 4446 | AddLocalPacketHandler(PacketType.MoveTaskInventory, HandleMoveTaskInventory); |
4425 | AddLocalPacketHandler(PacketType.RezScript, HandleRezScript); | 4447 | AddLocalPacketHandler(PacketType.RezScript, HandleRezScript); |
4426 | AddLocalPacketHandler(PacketType.MapLayerRequest, HandleMapLayerRequest); | 4448 | AddLocalPacketHandler(PacketType.MapLayerRequest, HandleMapLayerRequest, false); |
4427 | AddLocalPacketHandler(PacketType.MapBlockRequest, HandleMapBlockRequest); | 4449 | AddLocalPacketHandler(PacketType.MapBlockRequest, HandleMapBlockRequest, false); |
4428 | AddLocalPacketHandler(PacketType.MapNameRequest, HandleMapNameRequest); | 4450 | AddLocalPacketHandler(PacketType.MapNameRequest, HandleMapNameRequest, false); |
4429 | AddLocalPacketHandler(PacketType.TeleportLandmarkRequest, HandleTeleportLandmarkRequest); | 4451 | AddLocalPacketHandler(PacketType.TeleportLandmarkRequest, HandleTeleportLandmarkRequest); |
4430 | AddLocalPacketHandler(PacketType.TeleportLocationRequest, HandleTeleportLocationRequest); | 4452 | AddLocalPacketHandler(PacketType.TeleportLocationRequest, HandleTeleportLocationRequest); |
4431 | AddLocalPacketHandler(PacketType.UUIDNameRequest, HandleUUIDNameRequest); | 4453 | AddLocalPacketHandler(PacketType.UUIDNameRequest, HandleUUIDNameRequest, false); |
4432 | AddLocalPacketHandler(PacketType.RegionHandleRequest, HandleRegionHandleRequest); | 4454 | AddLocalPacketHandler(PacketType.RegionHandleRequest, HandleRegionHandleRequest); |
4433 | AddLocalPacketHandler(PacketType.ParcelInfoRequest, HandleParcelInfoRequest); | 4455 | AddLocalPacketHandler(PacketType.ParcelInfoRequest, HandleParcelInfoRequest, false); |
4434 | AddLocalPacketHandler(PacketType.ParcelAccessListRequest, HandleParcelAccessListRequest); | 4456 | AddLocalPacketHandler(PacketType.ParcelAccessListRequest, HandleParcelAccessListRequest, false); |
4435 | AddLocalPacketHandler(PacketType.ParcelAccessListUpdate, HandleParcelAccessListUpdate); | 4457 | AddLocalPacketHandler(PacketType.ParcelAccessListUpdate, HandleParcelAccessListUpdate, false); |
4436 | AddLocalPacketHandler(PacketType.ParcelPropertiesRequest, HandleParcelPropertiesRequest); | 4458 | AddLocalPacketHandler(PacketType.ParcelPropertiesRequest, HandleParcelPropertiesRequest, false); |
4437 | AddLocalPacketHandler(PacketType.ParcelDivide, HandleParcelDivide); | 4459 | AddLocalPacketHandler(PacketType.ParcelDivide, HandleParcelDivide); |
4438 | AddLocalPacketHandler(PacketType.ParcelJoin, HandleParcelJoin); | 4460 | AddLocalPacketHandler(PacketType.ParcelJoin, HandleParcelJoin); |
4439 | AddLocalPacketHandler(PacketType.ParcelPropertiesUpdate, HandleParcelPropertiesUpdate); | 4461 | AddLocalPacketHandler(PacketType.ParcelPropertiesUpdate, HandleParcelPropertiesUpdate); |
@@ -4447,7 +4469,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4447 | AddLocalPacketHandler(PacketType.LandStatRequest, HandleLandStatRequest); | 4469 | AddLocalPacketHandler(PacketType.LandStatRequest, HandleLandStatRequest); |
4448 | AddLocalPacketHandler(PacketType.ParcelDwellRequest, HandleParcelDwellRequest); | 4470 | AddLocalPacketHandler(PacketType.ParcelDwellRequest, HandleParcelDwellRequest); |
4449 | AddLocalPacketHandler(PacketType.EstateOwnerMessage, HandleEstateOwnerMessage); | 4471 | AddLocalPacketHandler(PacketType.EstateOwnerMessage, HandleEstateOwnerMessage); |
4450 | AddLocalPacketHandler(PacketType.RequestRegionInfo, HandleRequestRegionInfo); | 4472 | AddLocalPacketHandler(PacketType.RequestRegionInfo, HandleRequestRegionInfo, false); |
4451 | AddLocalPacketHandler(PacketType.EstateCovenantRequest, HandleEstateCovenantRequest); | 4473 | AddLocalPacketHandler(PacketType.EstateCovenantRequest, HandleEstateCovenantRequest); |
4452 | AddLocalPacketHandler(PacketType.RequestGodlikePowers, HandleRequestGodlikePowers); | 4474 | AddLocalPacketHandler(PacketType.RequestGodlikePowers, HandleRequestGodlikePowers); |
4453 | AddLocalPacketHandler(PacketType.GodKickUser, HandleGodKickUser); | 4475 | AddLocalPacketHandler(PacketType.GodKickUser, HandleGodKickUser); |
@@ -4462,13 +4484,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4462 | AddLocalPacketHandler(PacketType.ActivateGestures, HandleActivateGestures); | 4484 | AddLocalPacketHandler(PacketType.ActivateGestures, HandleActivateGestures); |
4463 | AddLocalPacketHandler(PacketType.DeactivateGestures, HandleDeactivateGestures); | 4485 | AddLocalPacketHandler(PacketType.DeactivateGestures, HandleDeactivateGestures); |
4464 | AddLocalPacketHandler(PacketType.ObjectOwner, HandleObjectOwner); | 4486 | AddLocalPacketHandler(PacketType.ObjectOwner, HandleObjectOwner); |
4465 | AddLocalPacketHandler(PacketType.AgentFOV, HandleAgentFOV); | 4487 | AddLocalPacketHandler(PacketType.AgentFOV, HandleAgentFOV, false); |
4466 | AddLocalPacketHandler(PacketType.ViewerStats, HandleViewerStats); | 4488 | AddLocalPacketHandler(PacketType.ViewerStats, HandleViewerStats); |
4467 | AddLocalPacketHandler(PacketType.MapItemRequest, HandleMapItemRequest); | 4489 | AddLocalPacketHandler(PacketType.MapItemRequest, HandleMapItemRequest, false); |
4468 | AddLocalPacketHandler(PacketType.TransferAbort, HandleTransferAbort); | 4490 | AddLocalPacketHandler(PacketType.TransferAbort, HandleTransferAbort, false); |
4469 | AddLocalPacketHandler(PacketType.MuteListRequest, HandleMuteListRequest); | 4491 | AddLocalPacketHandler(PacketType.MuteListRequest, HandleMuteListRequest, false); |
4470 | AddLocalPacketHandler(PacketType.UseCircuitCode, HandleUseCircuitCode); | 4492 | AddLocalPacketHandler(PacketType.UseCircuitCode, HandleUseCircuitCode); |
4471 | AddLocalPacketHandler(PacketType.AgentHeightWidth, HandleAgentHeightWidth); | 4493 | AddLocalPacketHandler(PacketType.AgentHeightWidth, HandleAgentHeightWidth, false); |
4472 | AddLocalPacketHandler(PacketType.InventoryDescendents, HandleInventoryDescendents); | 4494 | AddLocalPacketHandler(PacketType.InventoryDescendents, HandleInventoryDescendents); |
4473 | AddLocalPacketHandler(PacketType.DirPlacesQuery, HandleDirPlacesQuery); | 4495 | AddLocalPacketHandler(PacketType.DirPlacesQuery, HandleDirPlacesQuery); |
4474 | AddLocalPacketHandler(PacketType.DirFindQuery, HandleDirFindQuery); | 4496 | AddLocalPacketHandler(PacketType.DirFindQuery, HandleDirFindQuery); |
@@ -15740,6 +15762,26 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
15740 | } | 15762 | } |
15741 | #endregion | 15763 | #endregion |
15742 | } | 15764 | } |
15765 | |||
15766 | public struct PacketProcessor | ||
15767 | { | ||
15768 | public PacketMethod method; | ||
15769 | public bool Async; | ||
15770 | } | ||
15771 | public class AsyncPacketProcess | ||
15772 | { | ||
15773 | public bool result = false; | ||
15774 | public readonly LLClientView ClientView = null; | ||
15775 | public readonly Packet Pack = null; | ||
15776 | public readonly PacketMethod Method = null; | ||
15777 | public AsyncPacketProcess(LLClientView pClientview, PacketMethod pMethod, Packet pPack) | ||
15778 | { | ||
15779 | ClientView = pClientview; | ||
15780 | Method = pMethod; | ||
15781 | Pack = pPack; | ||
15782 | } | ||
15783 | } | ||
15784 | |||
15743 | #endregion | 15785 | #endregion |
15744 | 15786 | ||
15745 | public static OSD BuildEvent(string eventName, OSD eventBody) | 15787 | 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 85961b9..4d9f58f 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | |||
@@ -964,7 +964,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
964 | } | 964 | } |
965 | 965 | ||
966 | if (packetInbox.Dequeue(100, ref incomingPacket)) | 966 | if (packetInbox.Dequeue(100, ref incomingPacket)) |
967 | Util.FireAndForget(ProcessInPacket, incomingPacket); | 967 | ProcessInPacket(incomingPacket);//, incomingPacket); Util.FireAndForget(ProcessInPacket, incomingPacket); |
968 | } | 968 | } |
969 | catch (Exception ex) | 969 | catch (Exception ex) |
970 | { | 970 | { |