From 615b40b68b2311433b855f8c1e961a8b71eb9b65 Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Sun, 18 Nov 2007 15:54:05 +0000 Subject: * Refactored IClientAPI.OutPacket to require a second mandatory parameter. This parameter has an enum:int ThrottleOutPacketType and contains types; Resend, Land, Wind, Cloud, Task, Texture, and Asset. --- OpenSim/Region/ClientStack/ClientView.API.cs | 86 +++++++++++----------- .../ClientStack/ClientView.PacketHandlers.cs | 6 +- .../Region/ClientStack/ClientView.PacketQueue.cs | 10 +-- .../ClientStack/ClientView.ProcessPackets.cs | 14 ++-- OpenSim/Region/ClientStack/ClientView.cs | 2 +- OpenSim/Region/Environment/EstateManager.cs | 2 +- OpenSim/Region/Environment/LandManagement/Land.cs | 12 +-- .../Environment/LandManagement/LandManager.cs | 2 +- .../Environment/Modules/TextureDownloadModule.cs | 6 +- OpenSim/Region/Environment/Scenes/Scene.cs | 2 +- .../Region/Environment/Scenes/SceneObjectGroup.cs | 4 +- OpenSim/Region/Environment/Scenes/ScenePresence.cs | 2 +- .../Region/Examples/SimpleApp/MyNpcCharacter.cs | 2 +- 13 files changed, 76 insertions(+), 74 deletions(-) (limited to 'OpenSim/Region') diff --git a/OpenSim/Region/ClientStack/ClientView.API.cs b/OpenSim/Region/ClientStack/ClientView.API.cs index 4aaa011..9182b5c 100644 --- a/OpenSim/Region/ClientStack/ClientView.API.cs +++ b/OpenSim/Region/ClientStack/ClientView.API.cs @@ -189,7 +189,7 @@ namespace OpenSim.Region.ClientStack handshake.RegionInfo.TerrainDetail3 = regionInfo.EstateSettings.terrainDetail3; handshake.RegionInfo.CacheID = LLUUID.Random(); //I guess this is for the client to remember an old setting? - OutPacket(handshake); + OutPacket(handshake, ThrottleOutPacketType.Task); } /// @@ -214,7 +214,7 @@ namespace OpenSim.Region.ClientStack } mov.Data.LookAt = look; - OutPacket(mov); + OutPacket(mov, ThrottleOutPacketType.Task); } /// @@ -244,7 +244,7 @@ namespace OpenSim.Region.ClientStack reply.ChatData.OwnerID = fromAgentID; reply.ChatData.SourceID = fromAgentID; - OutPacket(reply); + OutPacket(reply, ThrottleOutPacketType.Task); } /// @@ -274,7 +274,7 @@ namespace OpenSim.Region.ClientStack msg.MessageBlock.Message = encUTF8.GetBytes(message + "\0"); msg.MessageBlock.BinaryBucket = new byte[0]; - OutPacket(msg); + OutPacket(msg, ThrottleOutPacketType.Task); } /// @@ -297,7 +297,7 @@ namespace OpenSim.Region.ClientStack patches[3] = x + 3 + y*16; Packet layerpack = TerrainManager.CreateLandPacket(map, patches); - OutPacket(layerpack); + OutPacket(layerpack, ThrottleOutPacketType.Land); } } } @@ -326,7 +326,7 @@ namespace OpenSim.Region.ClientStack patches[0] = patchx + 0 + patchy*16; Packet layerpack = TerrainManager.CreateLandPacket(map, patches); - OutPacket(layerpack); + OutPacket(layerpack, ThrottleOutPacketType.Land); } catch (Exception e) { @@ -356,7 +356,7 @@ namespace OpenSim.Region.ClientStack enablesimpacket.SimulatorInfo.IP += (uint) byteIP[1] << 8; enablesimpacket.SimulatorInfo.IP += (uint) byteIP[0]; enablesimpacket.SimulatorInfo.Port = neighbourPort; - OutPacket(enablesimpacket); + OutPacket(enablesimpacket, ThrottleOutPacketType.Task); } /// @@ -401,7 +401,7 @@ namespace OpenSim.Region.ClientStack //newSimPack.RegionData.SeedCapability = new byte[0]; newSimPack.RegionData.SeedCapability = Helpers.StringToField(capsURL); - OutPacket(newSimPack); + OutPacket(newSimPack, ThrottleOutPacketType.Task); } public void SendMapBlock(List mapBlocks) @@ -423,7 +423,7 @@ namespace OpenSim.Region.ClientStack mapReply.Data[i].Access = mapBlocks[i].Access; mapReply.Data[i].Agents = mapBlocks[i].Agents; } - OutPacket(mapReply); + OutPacket(mapReply, ThrottleOutPacketType.Land); } public void SendLocalTeleport(LLVector3 position, LLVector3 lookAt, uint flags) @@ -434,7 +434,7 @@ namespace OpenSim.Region.ClientStack tpLocal.Info.LocationID = 2; tpLocal.Info.LookAt = lookAt; tpLocal.Info.Position = position; - OutPacket(tpLocal); + OutPacket(tpLocal, ThrottleOutPacketType.Task); } public void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint newRegionEndPoint, uint locationID, @@ -459,7 +459,7 @@ namespace OpenSim.Region.ClientStack teleport.Info.SimPort = (ushort) newRegionEndPoint.Port; teleport.Info.LocationID = 4; teleport.Info.TeleportFlags = 1 << 4; - OutPacket(teleport); + OutPacket(teleport, ThrottleOutPacketType.Task); } /// @@ -471,7 +471,7 @@ namespace OpenSim.Region.ClientStack tpCancel.Info.SessionID = m_sessionId; tpCancel.Info.AgentID = AgentId; - OutPacket(tpCancel); + OutPacket(tpCancel, ThrottleOutPacketType.Task); } /// @@ -481,7 +481,7 @@ namespace OpenSim.Region.ClientStack { TeleportStartPacket tpStart = new TeleportStartPacket(); tpStart.Info.TeleportFlags = 16; // Teleport via location - OutPacket(tpStart); + OutPacket(tpStart, ThrottleOutPacketType.Task); } public void SendMoneyBalance(LLUUID transaction, bool success, byte[] description, int balance) @@ -492,7 +492,7 @@ namespace OpenSim.Region.ClientStack money.MoneyData.TransactionSuccess = success; money.MoneyData.Description = description; money.MoneyData.MoneyBalance = balance; - OutPacket(money); + OutPacket(money, ThrottleOutPacketType.Task); } public void SendStartPingCheck(byte seq) @@ -500,7 +500,7 @@ namespace OpenSim.Region.ClientStack StartPingCheckPacket pc = new StartPingCheckPacket(); pc.PingID.PingID = seq; pc.Header.Reliable = false; - OutPacket(pc); + OutPacket(pc, ThrottleOutPacketType.Task); } public void SendKillObject(ulong regionHandle, uint localID) @@ -509,7 +509,7 @@ namespace OpenSim.Region.ClientStack kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1]; kill.ObjectData[0] = new KillObjectPacket.ObjectDataBlock(); kill.ObjectData[0].ID = localID; - OutPacket(kill); + OutPacket(kill, ThrottleOutPacketType.Task); } public void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID, List items) @@ -563,7 +563,7 @@ namespace OpenSim.Region.ClientStack count++; if (i == 40) { - OutPacket(descend); + OutPacket(descend, ThrottleOutPacketType.Asset); if ((items.Count - count) > 0) { @@ -585,7 +585,7 @@ namespace OpenSim.Region.ClientStack if (i < 40) { - OutPacket(descend); + OutPacket(descend, ThrottleOutPacketType.Asset); } } @@ -637,7 +637,7 @@ namespace OpenSim.Region.ClientStack FULL_MASK_PERMISSIONS, 1, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS); - OutPacket(inventoryReply); + OutPacket(inventoryReply, ThrottleOutPacketType.Asset); } public void SendInventoryItemUpdate(InventoryItemBase Item) @@ -677,7 +677,7 @@ namespace OpenSim.Region.ClientStack FULL_MASK_PERMISSIONS, 1, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS); - OutPacket(InventoryReply); + OutPacket(InventoryReply, ThrottleOutPacketType.Asset); } public void SendRemoveInventoryItem(LLUUID itemID) @@ -689,7 +689,7 @@ namespace OpenSim.Region.ClientStack remove.InventoryData[0] = new RemoveInventoryItemPacket.InventoryDataBlock(); remove.InventoryData[0].ItemID = itemID; - OutPacket(remove); + OutPacket(remove, ThrottleOutPacketType.Asset); } public void SendTaskInventory(LLUUID taskID, short serial, byte[] fileName) @@ -698,7 +698,7 @@ namespace OpenSim.Region.ClientStack replytask.InventoryData.TaskID = taskID; replytask.InventoryData.Serial = serial; replytask.InventoryData.Filename = fileName; - OutPacket(replytask); + OutPacket(replytask, ThrottleOutPacketType.Asset); } public void SendXferPacket(ulong xferID, uint packet, byte[] data) @@ -707,11 +707,11 @@ namespace OpenSim.Region.ClientStack sendXfer.XferID.ID = xferID; sendXfer.XferID.Packet = packet; sendXfer.DataPacket.Data = data; - OutPacket(sendXfer); + OutPacket(sendXfer, ThrottleOutPacketType.Task); } public void SendAvatarPickerReply(AvatarPickerReplyPacket replyPacket) { - OutPacket(replyPacket); + OutPacket(replyPacket, ThrottleOutPacketType.Task); } /// @@ -722,7 +722,7 @@ namespace OpenSim.Region.ClientStack { AlertMessagePacket alertPack = new AlertMessagePacket(); alertPack.AlertData.Message = Helpers.StringToField(message); - OutPacket(alertPack); + OutPacket(alertPack, ThrottleOutPacketType.Task); } /// @@ -736,7 +736,7 @@ namespace OpenSim.Region.ClientStack alertPack.AgentData.AgentID = AgentId; alertPack.AlertData.Message = Helpers.StringToField(message); alertPack.AlertData.Modal = modal; - OutPacket(alertPack); + OutPacket(alertPack, ThrottleOutPacketType.Task); } public void SendLoadURL(string objectname, LLUUID objectID, LLUUID ownerID, bool groupOwned, string message, @@ -750,7 +750,7 @@ namespace OpenSim.Region.ClientStack loadURL.Data.Message = Helpers.StringToField(message); loadURL.Data.URL = Helpers.StringToField(url); - OutPacket(loadURL); + OutPacket(loadURL, ThrottleOutPacketType.Task); } @@ -762,7 +762,7 @@ namespace OpenSim.Region.ClientStack preSound.DataBlock[0].ObjectID = objectID; preSound.DataBlock[0].OwnerID = ownerID; preSound.DataBlock[0].SoundID = soundID; - OutPacket(preSound); + OutPacket(preSound, ThrottleOutPacketType.Task); } public void SendPlayAttachedSound(LLUUID soundID, LLUUID objectID, LLUUID ownerID, float gain, byte flags) @@ -774,7 +774,7 @@ namespace OpenSim.Region.ClientStack sound.DataBlock.Gain = gain; sound.DataBlock.Flags = flags; - OutPacket(sound); + OutPacket(sound, ThrottleOutPacketType.Task); } public void SendSunPos(LLVector3 sunPos, LLVector3 sunVel) @@ -783,7 +783,7 @@ namespace OpenSim.Region.ClientStack viewertime.TimeInfo.SunDirection = sunPos; viewertime.TimeInfo.SunAngVelocity = sunVel; viewertime.TimeInfo.UsecSinceStart = (ulong) Util.UnixTimeSinceEpoch(); - OutPacket(viewertime); + OutPacket(viewertime, ThrottleOutPacketType.Task); } public void SendViewerTime(int phase) @@ -836,7 +836,7 @@ namespace OpenSim.Region.ClientStack } viewertime.TimeInfo.SunAngVelocity = new LLVector3(0, 0.0f, 10.0f); viewertime.TimeInfo.UsecSinceStart = (ulong) Util.UnixTimeSinceEpoch(); - OutPacket(viewertime); + OutPacket(viewertime, ThrottleOutPacketType.Task); } public void SendAvatarProperties(LLUUID avatarID, string aboutText, string bornOn, string charterMember, @@ -855,7 +855,7 @@ namespace OpenSim.Region.ClientStack avatarReply.PropertiesData.ImageID = imageID; avatarReply.PropertiesData.ProfileURL = Helpers.StringToField(profileURL); avatarReply.PropertiesData.PartnerID = partnerID; - OutPacket(avatarReply); + OutPacket(avatarReply, ThrottleOutPacketType.Task); } #endregion @@ -884,7 +884,7 @@ namespace OpenSim.Region.ClientStack aw.WearableData[i] = awb; } - OutPacket(aw); + OutPacket(aw, ThrottleOutPacketType.Task); } /// @@ -909,7 +909,7 @@ namespace OpenSim.Region.ClientStack avp.Sender.IsTrial = false; avp.Sender.ID = agentID; - OutPacket(avp); + OutPacket(avp, ThrottleOutPacketType.Task); } public void SendAnimation(LLUUID animID, int seq, LLUUID sourceAgentId) @@ -924,7 +924,7 @@ namespace OpenSim.Region.ClientStack ani.AnimationList[0] = new AvatarAnimationPacket.AnimationListBlock(); ani.AnimationList[0].AnimID = animID; ani.AnimationList[0].AnimSequenceID = seq; - OutPacket(ani); + OutPacket(ani, ThrottleOutPacketType.Task); } #endregion @@ -959,7 +959,7 @@ namespace OpenSim.Region.ClientStack byte[] pb = pos2.GetBytes(); Array.Copy(pb, 0, objupdate.ObjectData[0].ObjectData, 16, pb.Length); - OutPacket(objupdate); + OutPacket(objupdate, ThrottleOutPacketType.Task); } /// @@ -981,7 +981,7 @@ namespace OpenSim.Region.ClientStack terse.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1]; terse.ObjectData[0] = terseBlock; - OutPacket(terse); + OutPacket(terse, ThrottleOutPacketType.Task); } public void SendCoarseLocationUpdate(List CoarseLocations) @@ -1003,7 +1003,7 @@ namespace OpenSim.Region.ClientStack ib.You = -1; ib.Prey = -1; loc.Index = ib; - OutPacket(loc); + OutPacket(loc, ThrottleOutPacketType.Task); } #endregion @@ -1027,7 +1027,7 @@ namespace OpenSim.Region.ClientStack attach.ObjectData[0].ObjectLocalID = localID; attach.ObjectData[0].Rotation = rotation; - OutPacket(attach); + OutPacket(attach, ThrottleOutPacketType.Task); } public void SendPrimitiveToClient( @@ -1062,7 +1062,7 @@ namespace OpenSim.Region.ClientStack byte[] rot = rotation.GetBytes(); Array.Copy(rot, 0, outPacket.ObjectData[0].ObjectData, 36, rot.Length); - OutPacket(outPacket); + OutPacket(outPacket, ThrottleOutPacketType.Task); } /// @@ -1084,7 +1084,7 @@ namespace OpenSim.Region.ClientStack terse.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1]; terse.ObjectData[0] = CreatePrimImprovedBlock(localID, position, rotation, velocity, rotationalvelocity); - OutPacket(terse); + OutPacket(terse, ThrottleOutPacketType.Task); } public void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, LLQuaternion rotation, LLVector3 velocity, LLVector3 rotationalvelocity) @@ -1096,7 +1096,7 @@ namespace OpenSim.Region.ClientStack terse.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1]; terse.ObjectData[0] = CreatePrimImprovedBlock(localID, position, rotation, velocity, rotationalvelocity); - OutPacket(terse); + OutPacket(terse, ThrottleOutPacketType.Task); } @@ -1432,7 +1432,7 @@ namespace OpenSim.Region.ClientStack packet.UUIDNameBlock[0].FirstName = Helpers.StringToField(firstname); packet.UUIDNameBlock[0].LastName = Helpers.StringToField(lastname); - OutPacket(packet); + OutPacket(packet, ThrottleOutPacketType.Task); } #endregion diff --git a/OpenSim/Region/ClientStack/ClientView.PacketHandlers.cs b/OpenSim/Region/ClientStack/ClientView.PacketHandlers.cs index d589a7b..5753018 100644 --- a/OpenSim/Region/ClientStack/ClientView.PacketHandlers.cs +++ b/OpenSim/Region/ClientStack/ClientView.PacketHandlers.cs @@ -84,7 +84,7 @@ namespace OpenSim.Region.ClientStack cachedresp.WearableData[i].TextureID = LLUUID.Zero; cachedresp.WearableData[i].HostName = new byte[0]; } - OutPacket(cachedresp); + OutPacket(cachedresp, ThrottleOutPacketType.Texture); return true; } @@ -220,7 +220,7 @@ namespace OpenSim.Region.ClientStack mapReply.LayerData[0].Top = 30000; mapReply.LayerData[0].Right = 30000; mapReply.LayerData[0].ImageID = new LLUUID("00000000-0000-0000-9999-000000000006"); - OutPacket(mapReply); + OutPacket(mapReply, ThrottleOutPacketType.Land); } public void RequestMapBlocks(int minX, int minY, int maxX, int maxY) @@ -250,7 +250,7 @@ namespace OpenSim.Region.ClientStack mbReply.Data[iii].X = System.Convert.ToUInt16(mp["x"]); mbReply.Data[iii].Y = System.Convert.ToUInt16(mp["y"]); } - this.OutPacket(mbReply); + this.OutPacket(mbReply, ThrottleOutPacketType.Land); */ } } diff --git a/OpenSim/Region/ClientStack/ClientView.PacketQueue.cs b/OpenSim/Region/ClientStack/ClientView.PacketQueue.cs index dc7952e..179d02a 100644 --- a/OpenSim/Region/ClientStack/ClientView.PacketQueue.cs +++ b/OpenSim/Region/ClientStack/ClientView.PacketQueue.cs @@ -197,7 +197,7 @@ namespace OpenSim.Region.ClientStack StartPingCheckPacket startPing = (StartPingCheckPacket) NewPack; CompletePingCheckPacket endPing = new CompletePingCheckPacket(); endPing.PingID.PingID = startPing.PingID.PingID; - OutPacket(endPing); + OutPacket(endPing, ThrottleOutPacketType.Task); } else { @@ -208,7 +208,7 @@ namespace OpenSim.Region.ClientStack } } - public virtual void OutPacket(Packet NewPack) + public virtual void OutPacket(Packet NewPack, ThrottleOutPacketType throttlePacketType) { QueItem item = new QueItem(); item.Packet = NewPack; @@ -228,7 +228,7 @@ namespace OpenSim.Region.ClientStack ack_it.Packets[0].ID = Pack.Header.Sequence; ack_it.Header.Reliable = false; - OutPacket(ack_it); + OutPacket(ack_it, ThrottleOutPacketType.Task); } /* if (Pack.Header.Reliable) @@ -255,7 +255,7 @@ namespace OpenSim.Region.ClientStack (now - packet.TickCount) + "ms have passed"); packet.Header.Resent = true; - OutPacket(packet); + OutPacket(packet, ThrottleOutPacketType.Resend); } } } @@ -289,7 +289,7 @@ namespace OpenSim.Region.ClientStack } acks.Header.Reliable = false; - OutPacket(acks); + OutPacket(acks, ThrottleOutPacketType.Task); PendingAcks.Clear(); } diff --git a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs index 507bd64..f62407d 100644 --- a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs +++ b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs @@ -635,13 +635,13 @@ namespace OpenSim.Region.ClientStack TeleportStartPacket tpStart = new TeleportStartPacket(); tpStart.Info.TeleportFlags = 8; // tp via lm - OutPacket(tpStart); + OutPacket(tpStart, ThrottleOutPacketType.Task); TeleportProgressPacket tpProgress = new TeleportProgressPacket(); tpProgress.Info.Message = (new ASCIIEncoding()).GetBytes("sending_landmark"); tpProgress.Info.TeleportFlags = 8; tpProgress.AgentData.AgentID = tpReq.Info.AgentID; - OutPacket(tpProgress); + OutPacket(tpProgress, ThrottleOutPacketType.Task); // Fetch landmark LLUUID lmid = tpReq.Info.LandmarkID; @@ -658,14 +658,14 @@ namespace OpenSim.Region.ClientStack tpLocal.Info.TeleportFlags = 8; // Teleport via landmark tpLocal.Info.LocationID = 2; tpLocal.Info.Position = lm.Position; - OutPacket(tpLocal); + OutPacket(tpLocal, ThrottleOutPacketType.Task); } else { TeleportCancelPacket tpCancel = new TeleportCancelPacket(); tpCancel.Info.AgentID = tpReq.Info.AgentID; tpCancel.Info.SessionID = tpReq.Info.SessionID; - OutPacket(tpCancel); + OutPacket(tpCancel, ThrottleOutPacketType.Task); } } else @@ -675,7 +675,7 @@ namespace OpenSim.Region.ClientStack TeleportCancelPacket tpCancel = new TeleportCancelPacket(); tpCancel.Info.AgentID = tpReq.Info.AgentID; tpCancel.Info.SessionID = tpReq.Info.SessionID; - OutPacket(tpCancel); + OutPacket(tpCancel, ThrottleOutPacketType.Task); } break; case PacketType.TeleportLocationRequest: @@ -693,7 +693,7 @@ namespace OpenSim.Region.ClientStack TeleportCancelPacket tpCancel = new TeleportCancelPacket(); tpCancel.Info.SessionID = tpLocReq.AgentData.SessionID; tpCancel.Info.AgentID = tpLocReq.AgentData.AgentID; - OutPacket(tpCancel); + OutPacket(tpCancel, ThrottleOutPacketType.Task); } break; @@ -904,7 +904,7 @@ namespace OpenSim.Region.ClientStack logReply.InventoryData[0] = new LogoutReplyPacket.InventoryDataBlock(); logReply.InventoryData[0].ItemID = LLUUID.Zero; - OutPacket(logReply); + OutPacket(logReply, ThrottleOutPacketType.Task); } } } diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs index 353a24c..10f880b 100644 --- a/OpenSim/Region/ClientStack/ClientView.cs +++ b/OpenSim/Region/ClientStack/ClientView.cs @@ -163,7 +163,7 @@ namespace OpenSim.Region.ClientStack clientPingTimer.Stop(); libsecondlife.Packets.DisableSimulatorPacket disable = new libsecondlife.Packets.DisableSimulatorPacket(); - OutPacket(disable); + OutPacket(disable, ThrottleOutPacketType.Task); ClientThread.Abort(); } diff --git a/OpenSim/Region/Environment/EstateManager.cs b/OpenSim/Region/Environment/EstateManager.cs index 9e32b35..c569fc5 100644 --- a/OpenSim/Region/Environment/EstateManager.cs +++ b/OpenSim/Region/Environment/EstateManager.cs @@ -370,7 +370,7 @@ namespace OpenSim.Region.Environment regionInfoPacket.RegionInfo.UseEstateSun = !m_regInfo.EstateSettings.useFixedSun; regionInfoPacket.RegionInfo.WaterHeight = m_regInfo.EstateSettings.waterHeight; - remote_client.OutPacket(regionInfoPacket); + remote_client.OutPacket(regionInfoPacket, ThrottleOutPacketType.Task); } public void sendRegionHandshake(IClientAPI remoteClient) diff --git a/OpenSim/Region/Environment/LandManagement/Land.cs b/OpenSim/Region/Environment/LandManagement/Land.cs index bf35b57..b566387 100644 --- a/OpenSim/Region/Environment/LandManagement/Land.cs +++ b/OpenSim/Region/Environment/LandManagement/Land.cs @@ -191,7 +191,7 @@ namespace OpenSim.Region.Environment.LandManagement landData.selectedPrims; updatePacket.ParcelData.UserLocation = landData.userLocation; updatePacket.ParcelData.UserLookAt = landData.userLookAt; - remote_client.OutPacket((Packet) updatePacket); + remote_client.OutPacket((Packet) updatePacket, ThrottleOutPacketType.Task); } public void updateLandProperties(ParcelPropertiesUpdatePacket packet, IClientAPI remote_client) @@ -534,13 +534,14 @@ namespace OpenSim.Region.Environment.LandManagement resultLocalIDs.RemoveAt(0); } pack.Data = data; - remote_client.OutPacket((Packet) pack); + remote_client.OutPacket((Packet) pack, ThrottleOutPacketType.Task); } } public void sendLandObjectOwners(IClientAPI remote_client) { Dictionary ownersAndCount = new Dictionary(); + ParcelObjectOwnersReplyPacket pack = new ParcelObjectOwnersReplyPacket(); foreach (SceneObjectGroup obj in primsOverMe) { if (!ownersAndCount.ContainsKey(obj.OwnerID)) @@ -570,11 +571,12 @@ namespace OpenSim.Region.Environment.LandManagement num++; } - - ParcelObjectOwnersReplyPacket pack = new ParcelObjectOwnersReplyPacket(); + pack.Data = dataBlock; - remote_client.OutPacket(pack); + + } + remote_client.OutPacket(pack, ThrottleOutPacketType.Task); } #endregion diff --git a/OpenSim/Region/Environment/LandManagement/LandManager.cs b/OpenSim/Region/Environment/LandManagement/LandManager.cs index a1cfa8a..dfeb36a 100644 --- a/OpenSim/Region/Environment/LandManagement/LandManager.cs +++ b/OpenSim/Region/Environment/LandManagement/LandManager.cs @@ -441,7 +441,7 @@ namespace OpenSim.Region.Environment.LandManagement packet = new ParcelOverlayPacket(); packet.ParcelData.Data = byteArray; packet.ParcelData.SequenceID = sequenceID; - remote_client.OutPacket((Packet) packet); + remote_client.OutPacket((Packet)packet, ThrottleOutPacketType.Task); sequenceID++; byteArray = new byte[LAND_BLOCKS_PER_PACKET]; } diff --git a/OpenSim/Region/Environment/Modules/TextureDownloadModule.cs b/OpenSim/Region/Environment/Modules/TextureDownloadModule.cs index 87d6231..902b669 100644 --- a/OpenSim/Region/Environment/Modules/TextureDownloadModule.cs +++ b/OpenSim/Region/Environment/Modules/TextureDownloadModule.cs @@ -212,7 +212,7 @@ namespace OpenSim.Region.Environment.Modules im.ImageID.Size = (uint) m_asset.Data.Length; im.ImageData.Data = m_asset.Data; im.ImageID.Codec = 2; - req.RequestUser.OutPacket(im); + req.RequestUser.OutPacket(im, ThrottleOutPacketType.Texture); PacketCounter++; } else @@ -225,7 +225,7 @@ namespace OpenSim.Region.Environment.Modules im.ImageData.Data = new byte[600]; Array.Copy(m_asset.Data, 0, im.ImageData.Data, 0, 600); im.ImageID.Codec = 2; - req.RequestUser.OutPacket(im); + req.RequestUser.OutPacket(im, ThrottleOutPacketType.Texture); PacketCounter++; } } @@ -239,7 +239,7 @@ namespace OpenSim.Region.Environment.Modules if (size > 1000) size = 1000; im.ImageData.Data = new byte[size]; Array.Copy(m_asset.Data, 600 + (1000*(PacketCounter - 1)), im.ImageData.Data, 0, size); - req.RequestUser.OutPacket(im); + req.RequestUser.OutPacket(im, ThrottleOutPacketType.Texture); PacketCounter++; } } diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 87bd0c1..dcba9bd 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs @@ -962,7 +962,7 @@ namespace OpenSim.Region.Environment.Scenes if (presence != null) { libsecondlife.Packets.DisableSimulatorPacket disable = new libsecondlife.Packets.DisableSimulatorPacket(); - presence.ControllingClient.OutPacket(disable); + presence.ControllingClient.OutPacket(disable, ThrottleOutPacketType.Task); } } } diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index 628bd72..38962c1 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs @@ -568,7 +568,7 @@ namespace OpenSim.Region.Environment.Scenes objPropDB.Name = Helpers.StringToField(RootPart.Name); objPropDB.Description = Helpers.StringToField(RootPart.Description); objPropFamilyPack.ObjectData = objPropDB; - remoteClient.OutPacket(objPropFamilyPack); + remoteClient.OutPacket(objPropFamilyPack, ThrottleOutPacketType.Task); } public void SetPartOwner(SceneObjectPart part, LLUUID cAgentID, LLUUID cGroupID) @@ -956,7 +956,7 @@ namespace OpenSim.Region.Environment.Scenes proper.ObjectData[0].EveryoneMask = m_rootPart.EveryoneMask; proper.ObjectData[0].BaseMask = m_rootPart.BaseMask; - client.OutPacket(proper); + client.OutPacket(proper, ThrottleOutPacketType.Task); } /// diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 38523e0..7927de6 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs @@ -641,7 +641,7 @@ namespace OpenSim.Region.Environment.Scenes avatarSitResponse.SitTransform.SitPosition = offset; avatarSitResponse.SitTransform.SitRotation = new LLQuaternion(0.0f, 0.0f, 0.0f, 1.0f); - remoteClient.OutPacket(avatarSitResponse); + remoteClient.OutPacket(avatarSitResponse, ThrottleOutPacketType.Task); } public void HandleAgentRequestSit(IClientAPI remoteClient, LLUUID agentID, LLUUID targetID, LLVector3 offset) diff --git a/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs index f78dc8f..f7af2f2 100644 --- a/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs @@ -168,7 +168,7 @@ namespace SimpleApp } - public virtual void OutPacket(Packet newPack) + public virtual void OutPacket(Packet newPack, ThrottleOutPacketType packType) { } -- cgit v1.1