* 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.

afrisby
Teravus Ovares 2007-11-18 15:54:05 +00:00
parent 924026d01c
commit 615b40b68b
17 changed files with 99 additions and 87 deletions

View File

@ -122,7 +122,7 @@ namespace OpenSim.Framework
{
packet.AgentData.AgentID = client.AgentId;
packet.AgentData.SessionID = client.SessionId;
client.OutPacket(packet);
client.OutPacket(packet,ThrottleOutPacketType.Task);
}
}
}

View File

@ -520,7 +520,7 @@ namespace OpenSim.Framework.Communications.Cache
}
Transfer.TransferInfo.Size = (int) req.AssetInf.Data.Length;
Transfer.TransferInfo.TransferID = req.TransferRequestID;
req.RequestUser.OutPacket(Transfer);
req.RequestUser.OutPacket(Transfer,ThrottleOutPacketType.Asset);
if (req.NumPackets == 1)
{
@ -530,7 +530,7 @@ namespace OpenSim.Framework.Communications.Cache
TransferPacket.TransferData.TransferID = req.TransferRequestID;
TransferPacket.TransferData.Data = req.AssetInf.Data;
TransferPacket.TransferData.Status = 1;
req.RequestUser.OutPacket(TransferPacket);
req.RequestUser.OutPacket(TransferPacket, ThrottleOutPacketType.Asset);
}
else
{
@ -546,7 +546,7 @@ namespace OpenSim.Framework.Communications.Cache
Array.Copy(req.AssetInf.Data, chunk, req.AssetInf.Data.Length);
TransferPacket.TransferData.Data = chunk;
TransferPacket.TransferData.Status = 1;
req.RequestUser.OutPacket(TransferPacket);
req.RequestUser.OutPacket(TransferPacket, ThrottleOutPacketType.Asset);
}
else
{
@ -555,7 +555,7 @@ namespace OpenSim.Framework.Communications.Cache
TransferPacket.TransferData.Data = chunk;
TransferPacket.TransferData.Status = 0;
req.RequestUser.OutPacket(TransferPacket);
req.RequestUser.OutPacket(TransferPacket, ThrottleOutPacketType.Asset);
TransferPacket = new TransferPacketPacket();
TransferPacket.TransferData.Packet = 1;
@ -565,7 +565,7 @@ namespace OpenSim.Framework.Communications.Cache
Array.Copy(req.AssetInf.Data, 1000, chunk1, 0, chunk1.Length);
TransferPacket.TransferData.Data = chunk1;
TransferPacket.TransferData.Status = 1;
req.RequestUser.OutPacket(TransferPacket);
req.RequestUser.OutPacket(TransferPacket, ThrottleOutPacketType.Asset);
}
}
}
@ -741,7 +741,7 @@ namespace OpenSim.Framework.Communications.Cache
im.ImageID.Size = (uint) req.ImageInfo.Data.Length;
im.ImageData.Data = req.ImageInfo.Data;
im.ImageID.Codec = 2;
req.RequestUser.OutPacket(im);
req.RequestUser.OutPacket(im, ThrottleOutPacketType.Texture);
req.PacketCounter++;
//req.ImageInfo.l= time;
//System.Console.WriteLine("sent texture: " + req.ImageInfo.FullID);
@ -758,7 +758,7 @@ namespace OpenSim.Framework.Communications.Cache
im.ImageData.Data = new byte[600];
Array.Copy(req.ImageInfo.Data, 0, im.ImageData.Data, 0, 600);
im.ImageID.Codec = 2;
req.RequestUser.OutPacket(im);
req.RequestUser.OutPacket(im, ThrottleOutPacketType.Texture);
req.PacketCounter++;
//req.ImageInfo.last_used = time;
@ -780,7 +780,7 @@ namespace OpenSim.Framework.Communications.Cache
//Console.WriteLine("length= {0} counter= {1} size= {2}",req.ImageInfo.Data.Length, req.PacketCounter, size);
im.ImageData.Data = new byte[size];
Array.Copy(req.ImageInfo.Data, 600 + (1000*(req.PacketCounter - 1)), im.ImageData.Data, 0, size);
req.RequestUser.OutPacket(im);
req.RequestUser.OutPacket(im, ThrottleOutPacketType.Texture);
req.PacketCounter++;
//req.ImageInfo.last_used = time;
//System.Console.WriteLine("sent a packet of texture: "+req.ImageInfo.FullID);

View File

@ -221,7 +221,7 @@ namespace OpenSim.Framework.Communications.Cache
ConfirmXferPacketPacket newPack = new ConfirmXferPacketPacket();
newPack.XferID.ID = xferID;
newPack.XferID.Packet = packetID;
ourClient.OutPacket(newPack);
ourClient.OutPacket(newPack, ThrottleOutPacketType.Asset);
if ((packetID & 0x80000000) != 0)
{
SendCompleteMessage();
@ -262,7 +262,7 @@ namespace OpenSim.Framework.Communications.Cache
newPack.XferID.VFileID = Asset.FullID;
newPack.XferID.FilePath = 0;
newPack.XferID.Filename = new byte[0];
ourClient.OutPacket(newPack);
ourClient.OutPacket(newPack, ThrottleOutPacketType.Asset);
}
protected void SendCompleteMessage()
@ -272,7 +272,7 @@ namespace OpenSim.Framework.Communications.Cache
newPack.AssetBlock.Type = Asset.Type;
newPack.AssetBlock.Success = true;
newPack.AssetBlock.UUID = Asset.FullID;
ourClient.OutPacket(newPack);
ourClient.OutPacket(newPack, ThrottleOutPacketType.Asset);
m_finished = true;
if (m_createItem)
{

View File

@ -54,6 +54,16 @@ namespace OpenSim.Framework
StopTyping = 5,
Broadcast = 0xFF
} ;
public enum ThrottleOutPacketType : int
{
Resend = 0,
Land = 1,
Wind = 2,
Cloud = 3,
Task = 4,
Texture = 5,
Asset = 6
}
/// <summary>
/// ChatFromViewer Arguments
@ -378,7 +388,7 @@ namespace OpenSim.Framework
uint CircuitCode { get; set; }
void OutPacket(Packet newPack);
void OutPacket(Packet newPack, ThrottleOutPacketType packType);
void SendWearables(AvatarWearable[] wearables, int serial);
void SendAppearance(LLUUID agentID, byte[] visualParams, byte[] textureEntry);
void SendStartPingCheck(byte seq);

View File

@ -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);
}
/// <summary>
@ -214,7 +214,7 @@ namespace OpenSim.Region.ClientStack
}
mov.Data.LookAt = look;
OutPacket(mov);
OutPacket(mov, ThrottleOutPacketType.Task);
}
/// <summary>
@ -244,7 +244,7 @@ namespace OpenSim.Region.ClientStack
reply.ChatData.OwnerID = fromAgentID;
reply.ChatData.SourceID = fromAgentID;
OutPacket(reply);
OutPacket(reply, ThrottleOutPacketType.Task);
}
/// <summary>
@ -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);
}
/// <summary>
@ -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);
}
/// <summary>
@ -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<MapBlockData> 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);
}
/// <summary>
@ -471,7 +471,7 @@ namespace OpenSim.Region.ClientStack
tpCancel.Info.SessionID = m_sessionId;
tpCancel.Info.AgentID = AgentId;
OutPacket(tpCancel);
OutPacket(tpCancel, ThrottleOutPacketType.Task);
}
/// <summary>
@ -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<InventoryItemBase> 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);
}
/// <summary>
@ -722,7 +722,7 @@ namespace OpenSim.Region.ClientStack
{
AlertMessagePacket alertPack = new AlertMessagePacket();
alertPack.AlertData.Message = Helpers.StringToField(message);
OutPacket(alertPack);
OutPacket(alertPack, ThrottleOutPacketType.Task);
}
/// <summary>
@ -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);
}
/// <summary>
@ -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);
}
/// <summary>
@ -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<LLVector3> 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);
}
/// <summary>
@ -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

View File

@ -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);
*/
}
}

View File

@ -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();
}

View File

@ -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);
}
}
}

View File

@ -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();
}

View File

@ -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)

View File

@ -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<LLUUID, int> ownersAndCount = new Dictionary<LLUUID, int>();
ParcelObjectOwnersReplyPacket pack = new ParcelObjectOwnersReplyPacket();
foreach (SceneObjectGroup obj in primsOverMe)
{
if (!ownersAndCount.ContainsKey(obj.OwnerID))
@ -571,10 +572,11 @@ namespace OpenSim.Region.Environment.LandManagement
num++;
}
ParcelObjectOwnersReplyPacket pack = new ParcelObjectOwnersReplyPacket();
pack.Data = dataBlock;
remote_client.OutPacket(pack);
}
remote_client.OutPacket(pack, ThrottleOutPacketType.Task);
}
#endregion

View File

@ -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];
}

View File

@ -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++;
}
}

View File

@ -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);
}
}
}

View File

@ -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);
}
/// <summary>

View File

@ -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)

View File

@ -168,7 +168,7 @@ namespace SimpleApp
}
public virtual void OutPacket(Packet newPack)
public virtual void OutPacket(Packet newPack, ThrottleOutPacketType packType)
{
}