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 +- 5 files changed, 59 insertions(+), 59 deletions(-) (limited to 'OpenSim/Region/ClientStack') 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(); } -- cgit v1.1