diff options
author | Johan Berntsson | 2008-01-03 00:59:12 +0000 |
---|---|---|
committer | Johan Berntsson | 2008-01-03 00:59:12 +0000 |
commit | 047aba2067b476b319e9b53924abea98ea8ba0d3 (patch) | |
tree | d7d62baa41e76bff29ab20a63f8ba541356bd533 | |
parent | Minor refactoring to expose PrimInventory from SceneObjectPart (diff) | |
download | opensim-SC-047aba2067b476b319e9b53924abea98ea8ba0d3.zip opensim-SC-047aba2067b476b319e9b53924abea98ea8ba0d3.tar.gz opensim-SC-047aba2067b476b319e9b53924abea98ea8ba0d3.tar.bz2 opensim-SC-047aba2067b476b319e9b53924abea98ea8ba0d3.tar.xz |
I have fixed the ZeroDecodeCommand bug, and restored my packet recycling code. Let me know by IRC if there are other problems
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Framework/ClientManager.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/ClientView.cs | 132 | ||||
-rw-r--r-- | OpenSim/Region/Environment/LandManagement/Land.cs | 10 | ||||
-rw-r--r-- | OpenSim/Region/Environment/LandManagement/LandManager.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SimStatsReporter.cs | 2 |
8 files changed, 77 insertions, 80 deletions
diff --git a/OpenSim/Framework/ClientManager.cs b/OpenSim/Framework/ClientManager.cs index f464015..181000c 100644 --- a/OpenSim/Framework/ClientManager.cs +++ b/OpenSim/Framework/ClientManager.cs | |||
@@ -148,7 +148,8 @@ namespace OpenSim.Framework | |||
148 | 148 | ||
149 | public void ViewerEffectHandler(IClientAPI sender, ViewerEffectPacket.EffectBlock[] effectBlock) | 149 | public void ViewerEffectHandler(IClientAPI sender, ViewerEffectPacket.EffectBlock[] effectBlock) |
150 | { | 150 | { |
151 | ViewerEffectPacket packet = new ViewerEffectPacket(); | 151 | ViewerEffectPacket packet = (ViewerEffectPacket) PacketPool.Instance.GetPacket(PacketType.ViewerEffect); |
152 | // TODO: don't create new blocks if recycling an old packet | ||
152 | packet.Effect = effectBlock; | 153 | packet.Effect = effectBlock; |
153 | 154 | ||
154 | // Wasteful, I know | 155 | // Wasteful, I know |
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs index 066efef..f7fa775 100644 --- a/OpenSim/Region/ClientStack/ClientView.cs +++ b/OpenSim/Region/ClientStack/ClientView.cs | |||
@@ -216,7 +216,7 @@ namespace OpenSim.Region.ClientStack | |||
216 | { | 216 | { |
217 | m_scene.RemoveClient(AgentId); | 217 | m_scene.RemoveClient(AgentId); |
218 | // Send the STOP packet | 218 | // Send the STOP packet |
219 | DisableSimulatorPacket disable = new DisableSimulatorPacket(); | 219 | DisableSimulatorPacket disable = (DisableSimulatorPacket) PacketPool.Instance.GetPacket(PacketType.DisableSimulator); |
220 | OutPacket(disable, ThrottleOutPacketType.Task); | 220 | OutPacket(disable, ThrottleOutPacketType.Task); |
221 | 221 | ||
222 | 222 | ||
@@ -257,7 +257,7 @@ namespace OpenSim.Region.ClientStack | |||
257 | 257 | ||
258 | public void Kick(string message) | 258 | public void Kick(string message) |
259 | { | 259 | { |
260 | KickUserPacket kupack = new KickUserPacket(); | 260 | KickUserPacket kupack = (KickUserPacket) PacketPool.Instance.GetPacket(PacketType.KickUser); |
261 | kupack.UserInfo.AgentID = AgentId; | 261 | kupack.UserInfo.AgentID = AgentId; |
262 | kupack.UserInfo.SessionID = SessionId; | 262 | kupack.UserInfo.SessionID = SessionId; |
263 | kupack.TargetBlock.TargetIP = (uint) 0; | 263 | kupack.TargetBlock.TargetIP = (uint) 0; |
@@ -600,7 +600,7 @@ namespace OpenSim.Region.ClientStack | |||
600 | /// <param name="regInfo"></param> | 600 | /// <param name="regInfo"></param> |
601 | public void MoveAgentIntoRegion(RegionInfo regInfo, LLVector3 pos, LLVector3 look) | 601 | public void MoveAgentIntoRegion(RegionInfo regInfo, LLVector3 pos, LLVector3 look) |
602 | { | 602 | { |
603 | AgentMovementCompletePacket mov = new AgentMovementCompletePacket(); | 603 | AgentMovementCompletePacket mov = (AgentMovementCompletePacket) PacketPool.Instance.GetPacket(PacketType.AgentMovementComplete); |
604 | mov.SimData.ChannelVersion = m_channelVersion; | 604 | mov.SimData.ChannelVersion = m_channelVersion; |
605 | mov.AgentData.SessionID = m_sessionId; | 605 | mov.AgentData.SessionID = m_sessionId; |
606 | mov.AgentData.AgentID = AgentId; | 606 | mov.AgentData.AgentID = AgentId; |
@@ -635,7 +635,7 @@ namespace OpenSim.Region.ClientStack | |||
635 | 635 | ||
636 | public void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) | 636 | public void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) |
637 | { | 637 | { |
638 | ChatFromSimulatorPacket reply = new ChatFromSimulatorPacket(); | 638 | ChatFromSimulatorPacket reply = (ChatFromSimulatorPacket) PacketPool.Instance.GetPacket(PacketType.ChatFromSimulator); |
639 | reply.ChatData.Audible = 1; | 639 | reply.ChatData.Audible = 1; |
640 | reply.ChatData.Message = message; | 640 | reply.ChatData.Message = message; |
641 | reply.ChatData.ChatType = type; | 641 | reply.ChatData.ChatType = type; |
@@ -656,7 +656,7 @@ namespace OpenSim.Region.ClientStack | |||
656 | public void SendInstantMessage(LLUUID fromAgent, LLUUID fromAgentSession, string message, LLUUID toAgent, | 656 | public void SendInstantMessage(LLUUID fromAgent, LLUUID fromAgentSession, string message, LLUUID toAgent, |
657 | LLUUID imSessionID, string fromName, byte dialog, uint timeStamp) | 657 | LLUUID imSessionID, string fromName, byte dialog, uint timeStamp) |
658 | { | 658 | { |
659 | ImprovedInstantMessagePacket msg = new ImprovedInstantMessagePacket(); | 659 | ImprovedInstantMessagePacket msg = (ImprovedInstantMessagePacket) PacketPool.Instance.GetPacket(PacketType.ImprovedInstantMessage); |
660 | msg.AgentData.AgentID = fromAgent; | 660 | msg.AgentData.AgentID = fromAgent; |
661 | msg.AgentData.SessionID = fromAgentSession; | 661 | msg.AgentData.SessionID = fromAgentSession; |
662 | msg.MessageBlock.FromAgentName = Helpers.StringToField(fromName); | 662 | msg.MessageBlock.FromAgentName = Helpers.StringToField(fromName); |
@@ -744,7 +744,7 @@ namespace OpenSim.Region.ClientStack | |||
744 | IPAddress neighbourIP = neighbourEndPoint.Address; | 744 | IPAddress neighbourIP = neighbourEndPoint.Address; |
745 | ushort neighbourPort = (ushort) neighbourEndPoint.Port; | 745 | ushort neighbourPort = (ushort) neighbourEndPoint.Port; |
746 | 746 | ||
747 | EnableSimulatorPacket enablesimpacket = new EnableSimulatorPacket(); | 747 | EnableSimulatorPacket enablesimpacket = (EnableSimulatorPacket) PacketPool.Instance.GetPacket(PacketType.EnableSimulator); |
748 | // TODO: don't create new blocks if recycling an old packet | 748 | // TODO: don't create new blocks if recycling an old packet |
749 | enablesimpacket.SimulatorInfo = new EnableSimulatorPacket.SimulatorInfoBlock(); | 749 | enablesimpacket.SimulatorInfo = new EnableSimulatorPacket.SimulatorInfoBlock(); |
750 | enablesimpacket.SimulatorInfo.Handle = neighbourHandle; | 750 | enablesimpacket.SimulatorInfo.Handle = neighbourHandle; |
@@ -781,7 +781,7 @@ namespace OpenSim.Region.ClientStack | |||
781 | { | 781 | { |
782 | LLVector3 look = new LLVector3(lookAt.X*10, lookAt.Y*10, lookAt.Z*10); | 782 | LLVector3 look = new LLVector3(lookAt.X*10, lookAt.Y*10, lookAt.Z*10); |
783 | 783 | ||
784 | CrossedRegionPacket newSimPack = new CrossedRegionPacket(); | 784 | CrossedRegionPacket newSimPack = (CrossedRegionPacket) PacketPool.Instance.GetPacket(PacketType.CrossedRegion); |
785 | // TODO: don't create new blocks if recycling an old packet | 785 | // TODO: don't create new blocks if recycling an old packet |
786 | newSimPack.AgentData = new CrossedRegionPacket.AgentDataBlock(); | 786 | newSimPack.AgentData = new CrossedRegionPacket.AgentDataBlock(); |
787 | newSimPack.AgentData.AgentID = AgentId; | 787 | newSimPack.AgentData.AgentID = AgentId; |
@@ -804,7 +804,7 @@ namespace OpenSim.Region.ClientStack | |||
804 | 804 | ||
805 | public void SendMapBlock(List<MapBlockData> mapBlocks) | 805 | public void SendMapBlock(List<MapBlockData> mapBlocks) |
806 | { | 806 | { |
807 | MapBlockReplyPacket mapReply = new MapBlockReplyPacket(); | 807 | MapBlockReplyPacket mapReply = (MapBlockReplyPacket) PacketPool.Instance.GetPacket(PacketType.MapBlockReply); |
808 | // TODO: don't create new blocks if recycling an old packet | 808 | // TODO: don't create new blocks if recycling an old packet |
809 | mapReply.AgentData.AgentID = AgentId; | 809 | mapReply.AgentData.AgentID = AgentId; |
810 | mapReply.Data = new MapBlockReplyPacket.DataBlock[mapBlocks.Count]; | 810 | mapReply.Data = new MapBlockReplyPacket.DataBlock[mapBlocks.Count]; |
@@ -827,7 +827,7 @@ namespace OpenSim.Region.ClientStack | |||
827 | 827 | ||
828 | public void SendLocalTeleport(LLVector3 position, LLVector3 lookAt, uint flags) | 828 | public void SendLocalTeleport(LLVector3 position, LLVector3 lookAt, uint flags) |
829 | { | 829 | { |
830 | TeleportLocalPacket tpLocal = new TeleportLocalPacket(); | 830 | TeleportLocalPacket tpLocal = (TeleportLocalPacket) PacketPool.Instance.GetPacket(PacketType.TeleportLocal); |
831 | tpLocal.Info.AgentID = AgentId; | 831 | tpLocal.Info.AgentID = AgentId; |
832 | tpLocal.Info.TeleportFlags = flags; | 832 | tpLocal.Info.TeleportFlags = flags; |
833 | tpLocal.Info.LocationID = 2; | 833 | tpLocal.Info.LocationID = 2; |
@@ -839,7 +839,7 @@ namespace OpenSim.Region.ClientStack | |||
839 | public void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint newRegionEndPoint, uint locationID, | 839 | public void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint newRegionEndPoint, uint locationID, |
840 | uint flags, string capsURL) | 840 | uint flags, string capsURL) |
841 | { | 841 | { |
842 | TeleportFinishPacket teleport = new TeleportFinishPacket(); | 842 | TeleportFinishPacket teleport = (TeleportFinishPacket) PacketPool.Instance.GetPacket(PacketType.TeleportFinish); |
843 | teleport.Info.AgentID = AgentId; | 843 | teleport.Info.AgentID = AgentId; |
844 | teleport.Info.RegionHandle = regionHandle; | 844 | teleport.Info.RegionHandle = regionHandle; |
845 | teleport.Info.SimAccess = simAccess; | 845 | teleport.Info.SimAccess = simAccess; |
@@ -865,7 +865,7 @@ namespace OpenSim.Region.ClientStack | |||
865 | /// </summary> | 865 | /// </summary> |
866 | public void SendTeleportFailed() | 866 | public void SendTeleportFailed() |
867 | { | 867 | { |
868 | TeleportFailedPacket tpFailed = new TeleportFailedPacket(); | 868 | TeleportFailedPacket tpFailed = (TeleportFailedPacket) PacketPool.Instance.GetPacket(PacketType.TeleportFailed); |
869 | tpFailed.Info.AgentID = AgentId; | 869 | tpFailed.Info.AgentID = AgentId; |
870 | tpFailed.Info.Reason = Helpers.StringToField("unknown failure of teleport"); | 870 | tpFailed.Info.Reason = Helpers.StringToField("unknown failure of teleport"); |
871 | OutPacket(tpFailed, ThrottleOutPacketType.Task); | 871 | OutPacket(tpFailed, ThrottleOutPacketType.Task); |
@@ -876,14 +876,14 @@ namespace OpenSim.Region.ClientStack | |||
876 | /// </summary> | 876 | /// </summary> |
877 | public void SendTeleportLocationStart() | 877 | public void SendTeleportLocationStart() |
878 | { | 878 | { |
879 | TeleportStartPacket tpStart = new TeleportStartPacket(); | 879 | TeleportStartPacket tpStart = (TeleportStartPacket) PacketPool.Instance.GetPacket(PacketType.TeleportStart); |
880 | tpStart.Info.TeleportFlags = 16; // Teleport via location | 880 | tpStart.Info.TeleportFlags = 16; // Teleport via location |
881 | OutPacket(tpStart, ThrottleOutPacketType.Task); | 881 | OutPacket(tpStart, ThrottleOutPacketType.Task); |
882 | } | 882 | } |
883 | 883 | ||
884 | public void SendMoneyBalance(LLUUID transaction, bool success, byte[] description, int balance) | 884 | public void SendMoneyBalance(LLUUID transaction, bool success, byte[] description, int balance) |
885 | { | 885 | { |
886 | MoneyBalanceReplyPacket money = new MoneyBalanceReplyPacket(); | 886 | MoneyBalanceReplyPacket money = (MoneyBalanceReplyPacket) PacketPool.Instance.GetPacket(PacketType.MoneyBalanceReply); |
887 | money.MoneyData.AgentID = AgentId; | 887 | money.MoneyData.AgentID = AgentId; |
888 | money.MoneyData.TransactionID = transaction; | 888 | money.MoneyData.TransactionID = transaction; |
889 | money.MoneyData.TransactionSuccess = success; | 889 | money.MoneyData.TransactionSuccess = success; |
@@ -894,7 +894,7 @@ namespace OpenSim.Region.ClientStack | |||
894 | 894 | ||
895 | public void SendStartPingCheck(byte seq) | 895 | public void SendStartPingCheck(byte seq) |
896 | { | 896 | { |
897 | StartPingCheckPacket pc = new StartPingCheckPacket(); | 897 | StartPingCheckPacket pc = (StartPingCheckPacket) PacketPool.Instance.GetPacket(PacketType.StartPingCheck); |
898 | pc.PingID.PingID = seq; | 898 | pc.PingID.PingID = seq; |
899 | pc.Header.Reliable = false; | 899 | pc.Header.Reliable = false; |
900 | OutPacket(pc, ThrottleOutPacketType.Task); | 900 | OutPacket(pc, ThrottleOutPacketType.Task); |
@@ -902,7 +902,7 @@ namespace OpenSim.Region.ClientStack | |||
902 | 902 | ||
903 | public void SendKillObject(ulong regionHandle, uint localID) | 903 | public void SendKillObject(ulong regionHandle, uint localID) |
904 | { | 904 | { |
905 | KillObjectPacket kill = new KillObjectPacket(); | 905 | KillObjectPacket kill = (KillObjectPacket) PacketPool.Instance.GetPacket(PacketType.KillObject); |
906 | // TODO: don't create new blocks if recycling an old packet | 906 | // TODO: don't create new blocks if recycling an old packet |
907 | kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1]; | 907 | kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1]; |
908 | kill.ObjectData[0] = new KillObjectPacket.ObjectDataBlock(); | 908 | kill.ObjectData[0] = new KillObjectPacket.ObjectDataBlock(); |
@@ -1096,7 +1096,7 @@ namespace OpenSim.Region.ClientStack | |||
1096 | 1096 | ||
1097 | private InventoryDescendentsPacket CreateInventoryDescendentsPacket(LLUUID ownerID, LLUUID folderID) | 1097 | private InventoryDescendentsPacket CreateInventoryDescendentsPacket(LLUUID ownerID, LLUUID folderID) |
1098 | { | 1098 | { |
1099 | InventoryDescendentsPacket descend = new InventoryDescendentsPacket(); | 1099 | InventoryDescendentsPacket descend = (InventoryDescendentsPacket) PacketPool.Instance.GetPacket(PacketType.InventoryDescendents); |
1100 | descend.AgentData.AgentID = AgentId; | 1100 | descend.AgentData.AgentID = AgentId; |
1101 | descend.AgentData.OwnerID = ownerID; | 1101 | descend.AgentData.OwnerID = ownerID; |
1102 | descend.AgentData.FolderID = folderID; | 1102 | descend.AgentData.FolderID = folderID; |
@@ -1109,7 +1109,7 @@ namespace OpenSim.Region.ClientStack | |||
1109 | { | 1109 | { |
1110 | Encoding enc = Encoding.ASCII; | 1110 | Encoding enc = Encoding.ASCII; |
1111 | uint FULL_MASK_PERMISSIONS = 2147483647; | 1111 | uint FULL_MASK_PERMISSIONS = 2147483647; |
1112 | FetchInventoryReplyPacket inventoryReply = new FetchInventoryReplyPacket(); | 1112 | FetchInventoryReplyPacket inventoryReply = (FetchInventoryReplyPacket) PacketPool.Instance.GetPacket(PacketType.FetchInventoryReply); |
1113 | // TODO: don't create new blocks if recycling an old packet | 1113 | // TODO: don't create new blocks if recycling an old packet |
1114 | inventoryReply.AgentData.AgentID = AgentId; | 1114 | inventoryReply.AgentData.AgentID = AgentId; |
1115 | inventoryReply.InventoryData = new FetchInventoryReplyPacket.InventoryDataBlock[1]; | 1115 | inventoryReply.InventoryData = new FetchInventoryReplyPacket.InventoryDataBlock[1]; |
@@ -1151,7 +1151,7 @@ namespace OpenSim.Region.ClientStack | |||
1151 | { | 1151 | { |
1152 | Encoding enc = Encoding.ASCII; | 1152 | Encoding enc = Encoding.ASCII; |
1153 | uint FULL_MASK_PERMISSIONS = 2147483647; | 1153 | uint FULL_MASK_PERMISSIONS = 2147483647; |
1154 | UpdateCreateInventoryItemPacket InventoryReply = new UpdateCreateInventoryItemPacket(); | 1154 | UpdateCreateInventoryItemPacket InventoryReply = (UpdateCreateInventoryItemPacket) PacketPool.Instance.GetPacket(PacketType.UpdateCreateInventoryItem); |
1155 | // TODO: don't create new blocks if recycling an old packet | 1155 | // TODO: don't create new blocks if recycling an old packet |
1156 | InventoryReply.AgentData.AgentID = AgentId; | 1156 | InventoryReply.AgentData.AgentID = AgentId; |
1157 | InventoryReply.AgentData.SimApproved = true; | 1157 | InventoryReply.AgentData.SimApproved = true; |
@@ -1190,7 +1190,7 @@ namespace OpenSim.Region.ClientStack | |||
1190 | 1190 | ||
1191 | public void SendRemoveInventoryItem(LLUUID itemID) | 1191 | public void SendRemoveInventoryItem(LLUUID itemID) |
1192 | { | 1192 | { |
1193 | RemoveInventoryItemPacket remove = new RemoveInventoryItemPacket(); | 1193 | RemoveInventoryItemPacket remove = (RemoveInventoryItemPacket) PacketPool.Instance.GetPacket(PacketType.RemoveInventoryItem); |
1194 | // TODO: don't create new blocks if recycling an old packet | 1194 | // TODO: don't create new blocks if recycling an old packet |
1195 | remove.AgentData.AgentID = AgentId; | 1195 | remove.AgentData.AgentID = AgentId; |
1196 | remove.AgentData.SessionID = m_sessionId; | 1196 | remove.AgentData.SessionID = m_sessionId; |
@@ -1203,7 +1203,7 @@ namespace OpenSim.Region.ClientStack | |||
1203 | 1203 | ||
1204 | public void SendTaskInventory(LLUUID taskID, short serial, byte[] fileName) | 1204 | public void SendTaskInventory(LLUUID taskID, short serial, byte[] fileName) |
1205 | { | 1205 | { |
1206 | ReplyTaskInventoryPacket replytask = new ReplyTaskInventoryPacket(); | 1206 | ReplyTaskInventoryPacket replytask = (ReplyTaskInventoryPacket) PacketPool.Instance.GetPacket(PacketType.ReplyTaskInventory); |
1207 | replytask.InventoryData.TaskID = taskID; | 1207 | replytask.InventoryData.TaskID = taskID; |
1208 | replytask.InventoryData.Serial = serial; | 1208 | replytask.InventoryData.Serial = serial; |
1209 | replytask.InventoryData.Filename = fileName; | 1209 | replytask.InventoryData.Filename = fileName; |
@@ -1212,7 +1212,7 @@ namespace OpenSim.Region.ClientStack | |||
1212 | 1212 | ||
1213 | public void SendXferPacket(ulong xferID, uint packet, byte[] data) | 1213 | public void SendXferPacket(ulong xferID, uint packet, byte[] data) |
1214 | { | 1214 | { |
1215 | SendXferPacketPacket sendXfer = new SendXferPacketPacket(); | 1215 | SendXferPacketPacket sendXfer = (SendXferPacketPacket) PacketPool.Instance.GetPacket(PacketType.SendXferPacket); |
1216 | sendXfer.XferID.ID = xferID; | 1216 | sendXfer.XferID.ID = xferID; |
1217 | sendXfer.XferID.Packet = packet; | 1217 | sendXfer.XferID.Packet = packet; |
1218 | sendXfer.DataPacket.Data = data; | 1218 | sendXfer.DataPacket.Data = data; |
@@ -1230,7 +1230,7 @@ namespace OpenSim.Region.ClientStack | |||
1230 | /// <param name="message"></param> | 1230 | /// <param name="message"></param> |
1231 | public void SendAlertMessage(string message) | 1231 | public void SendAlertMessage(string message) |
1232 | { | 1232 | { |
1233 | AlertMessagePacket alertPack = new AlertMessagePacket(); | 1233 | AlertMessagePacket alertPack = (AlertMessagePacket) PacketPool.Instance.GetPacket(PacketType.AlertMessage); |
1234 | alertPack.AlertData.Message = Helpers.StringToField(message); | 1234 | alertPack.AlertData.Message = Helpers.StringToField(message); |
1235 | OutPacket(alertPack, ThrottleOutPacketType.Task); | 1235 | OutPacket(alertPack, ThrottleOutPacketType.Task); |
1236 | } | 1236 | } |
@@ -1242,7 +1242,7 @@ namespace OpenSim.Region.ClientStack | |||
1242 | /// <param name="modal"></param> | 1242 | /// <param name="modal"></param> |
1243 | public void SendAgentAlertMessage(string message, bool modal) | 1243 | public void SendAgentAlertMessage(string message, bool modal) |
1244 | { | 1244 | { |
1245 | AgentAlertMessagePacket alertPack = new AgentAlertMessagePacket(); | 1245 | AgentAlertMessagePacket alertPack = (AgentAlertMessagePacket) PacketPool.Instance.GetPacket(PacketType.AgentAlertMessage); |
1246 | alertPack.AgentData.AgentID = AgentId; | 1246 | alertPack.AgentData.AgentID = AgentId; |
1247 | alertPack.AlertData.Message = Helpers.StringToField(message); | 1247 | alertPack.AlertData.Message = Helpers.StringToField(message); |
1248 | alertPack.AlertData.Modal = modal; | 1248 | alertPack.AlertData.Modal = modal; |
@@ -1252,7 +1252,7 @@ namespace OpenSim.Region.ClientStack | |||
1252 | public void SendLoadURL(string objectname, LLUUID objectID, LLUUID ownerID, bool groupOwned, string message, | 1252 | public void SendLoadURL(string objectname, LLUUID objectID, LLUUID ownerID, bool groupOwned, string message, |
1253 | string url) | 1253 | string url) |
1254 | { | 1254 | { |
1255 | LoadURLPacket loadURL = new LoadURLPacket(); | 1255 | LoadURLPacket loadURL = (LoadURLPacket) PacketPool.Instance.GetPacket(PacketType.LoadURL); |
1256 | loadURL.Data.ObjectName = Helpers.StringToField(objectname); | 1256 | loadURL.Data.ObjectName = Helpers.StringToField(objectname); |
1257 | loadURL.Data.ObjectID = objectID; | 1257 | loadURL.Data.ObjectID = objectID; |
1258 | loadURL.Data.OwnerID = ownerID; | 1258 | loadURL.Data.OwnerID = ownerID; |
@@ -1278,7 +1278,7 @@ namespace OpenSim.Region.ClientStack | |||
1278 | 1278 | ||
1279 | public void SendPlayAttachedSound(LLUUID soundID, LLUUID objectID, LLUUID ownerID, float gain, byte flags) | 1279 | public void SendPlayAttachedSound(LLUUID soundID, LLUUID objectID, LLUUID ownerID, float gain, byte flags) |
1280 | { | 1280 | { |
1281 | AttachedSoundPacket sound = new AttachedSoundPacket(); | 1281 | AttachedSoundPacket sound = (AttachedSoundPacket) PacketPool.Instance.GetPacket(PacketType.AttachedSound); |
1282 | sound.DataBlock.SoundID = soundID; | 1282 | sound.DataBlock.SoundID = soundID; |
1283 | sound.DataBlock.ObjectID = objectID; | 1283 | sound.DataBlock.ObjectID = objectID; |
1284 | sound.DataBlock.OwnerID = ownerID; | 1284 | sound.DataBlock.OwnerID = ownerID; |
@@ -1290,7 +1290,7 @@ namespace OpenSim.Region.ClientStack | |||
1290 | 1290 | ||
1291 | public void SendSunPos(LLVector3 sunPos, LLVector3 sunVel) | 1291 | public void SendSunPos(LLVector3 sunPos, LLVector3 sunVel) |
1292 | { | 1292 | { |
1293 | SimulatorViewerTimeMessagePacket viewertime = new SimulatorViewerTimeMessagePacket(); | 1293 | SimulatorViewerTimeMessagePacket viewertime = (SimulatorViewerTimeMessagePacket) PacketPool.Instance.GetPacket(PacketType.SimulatorViewerTimeMessage); |
1294 | viewertime.TimeInfo.SunDirection = sunPos; | 1294 | viewertime.TimeInfo.SunDirection = sunPos; |
1295 | viewertime.TimeInfo.SunAngVelocity = sunVel; | 1295 | viewertime.TimeInfo.SunAngVelocity = sunVel; |
1296 | viewertime.TimeInfo.UsecSinceStart = (ulong) Util.UnixTimeSinceEpoch(); | 1296 | viewertime.TimeInfo.UsecSinceStart = (ulong) Util.UnixTimeSinceEpoch(); |
@@ -1300,7 +1300,7 @@ namespace OpenSim.Region.ClientStack | |||
1300 | public void SendViewerTime(int phase) | 1300 | public void SendViewerTime(int phase) |
1301 | { | 1301 | { |
1302 | Console.WriteLine("SunPhase: {0}", phase); | 1302 | Console.WriteLine("SunPhase: {0}", phase); |
1303 | SimulatorViewerTimeMessagePacket viewertime = new SimulatorViewerTimeMessagePacket(); | 1303 | SimulatorViewerTimeMessagePacket viewertime = (SimulatorViewerTimeMessagePacket) PacketPool.Instance.GetPacket(PacketType.SimulatorViewerTimeMessage); |
1304 | //viewertime.TimeInfo.SecPerDay = 86400; | 1304 | //viewertime.TimeInfo.SecPerDay = 86400; |
1305 | //viewertime.TimeInfo.SecPerYear = 31536000; | 1305 | //viewertime.TimeInfo.SecPerYear = 31536000; |
1306 | viewertime.TimeInfo.SecPerDay = 1000; | 1306 | viewertime.TimeInfo.SecPerDay = 1000; |
@@ -1349,7 +1349,7 @@ namespace OpenSim.Region.ClientStack | |||
1349 | string flAbout, uint flags, LLUUID flImageID, LLUUID imageID, string profileURL, | 1349 | string flAbout, uint flags, LLUUID flImageID, LLUUID imageID, string profileURL, |
1350 | LLUUID partnerID) | 1350 | LLUUID partnerID) |
1351 | { | 1351 | { |
1352 | AvatarPropertiesReplyPacket avatarReply = new AvatarPropertiesReplyPacket(); | 1352 | AvatarPropertiesReplyPacket avatarReply = (AvatarPropertiesReplyPacket) PacketPool.Instance.GetPacket(PacketType.AvatarPropertiesReply); |
1353 | avatarReply.AgentData.AgentID = AgentId; | 1353 | avatarReply.AgentData.AgentID = AgentId; |
1354 | avatarReply.AgentData.AvatarID = avatarID; | 1354 | avatarReply.AgentData.AvatarID = avatarID; |
1355 | avatarReply.PropertiesData.AboutText = Helpers.StringToField(aboutText); | 1355 | avatarReply.PropertiesData.AboutText = Helpers.StringToField(aboutText); |
@@ -1374,7 +1374,7 @@ namespace OpenSim.Region.ClientStack | |||
1374 | /// <param name="wearables"></param> | 1374 | /// <param name="wearables"></param> |
1375 | public void SendWearables(AvatarWearable[] wearables, int serial) | 1375 | public void SendWearables(AvatarWearable[] wearables, int serial) |
1376 | { | 1376 | { |
1377 | AgentWearablesUpdatePacket aw = new AgentWearablesUpdatePacket(); | 1377 | AgentWearablesUpdatePacket aw = (AgentWearablesUpdatePacket) PacketPool.Instance.GetPacket(PacketType.AgentWearablesUpdate); |
1378 | aw.AgentData.AgentID = AgentId; | 1378 | aw.AgentData.AgentID = AgentId; |
1379 | aw.AgentData.SerialNum = (uint) serial; | 1379 | aw.AgentData.SerialNum = (uint) serial; |
1380 | aw.AgentData.SessionID = m_sessionId; | 1380 | aw.AgentData.SessionID = m_sessionId; |
@@ -1402,7 +1402,7 @@ namespace OpenSim.Region.ClientStack | |||
1402 | /// <param name="textureEntry"></param> | 1402 | /// <param name="textureEntry"></param> |
1403 | public void SendAppearance(LLUUID agentID, byte[] visualParams, byte[] textureEntry) | 1403 | public void SendAppearance(LLUUID agentID, byte[] visualParams, byte[] textureEntry) |
1404 | { | 1404 | { |
1405 | AvatarAppearancePacket avp = new AvatarAppearancePacket(); | 1405 | AvatarAppearancePacket avp = (AvatarAppearancePacket) PacketPool.Instance.GetPacket(PacketType.AvatarAppearance); |
1406 | // TODO: don't create new blocks if recycling an old packet | 1406 | // TODO: don't create new blocks if recycling an old packet |
1407 | avp.VisualParam = new AvatarAppearancePacket.VisualParamBlock[218]; | 1407 | avp.VisualParam = new AvatarAppearancePacket.VisualParamBlock[218]; |
1408 | avp.ObjectData.TextureEntry = textureEntry; | 1408 | avp.ObjectData.TextureEntry = textureEntry; |
@@ -1422,7 +1422,7 @@ namespace OpenSim.Region.ClientStack | |||
1422 | 1422 | ||
1423 | public void SendAnimations(LLUUID[] animations, int[] seqs, LLUUID sourceAgentId) | 1423 | public void SendAnimations(LLUUID[] animations, int[] seqs, LLUUID sourceAgentId) |
1424 | { | 1424 | { |
1425 | AvatarAnimationPacket ani = new AvatarAnimationPacket(); | 1425 | AvatarAnimationPacket ani = (AvatarAnimationPacket) PacketPool.Instance.GetPacket(PacketType.AvatarAnimation); |
1426 | // TODO: don't create new blocks if recycling an old packet | 1426 | // TODO: don't create new blocks if recycling an old packet |
1427 | ani.AnimationSourceList = new AvatarAnimationPacket.AnimationSourceListBlock[1]; | 1427 | ani.AnimationSourceList = new AvatarAnimationPacket.AnimationSourceListBlock[1]; |
1428 | ani.AnimationSourceList[0] = new AvatarAnimationPacket.AnimationSourceListBlock(); | 1428 | ani.AnimationSourceList[0] = new AvatarAnimationPacket.AnimationSourceListBlock(); |
@@ -1457,7 +1457,7 @@ namespace OpenSim.Region.ClientStack | |||
1457 | public void SendAvatarData(ulong regionHandle, string firstName, string lastName, LLUUID avatarID, | 1457 | public void SendAvatarData(ulong regionHandle, string firstName, string lastName, LLUUID avatarID, |
1458 | uint avatarLocalID, LLVector3 Pos, byte[] textureEntry, uint parentID) | 1458 | uint avatarLocalID, LLVector3 Pos, byte[] textureEntry, uint parentID) |
1459 | { | 1459 | { |
1460 | ObjectUpdatePacket objupdate = new ObjectUpdatePacket(); | 1460 | ObjectUpdatePacket objupdate = (ObjectUpdatePacket) PacketPool.Instance.GetPacket(PacketType.ObjectUpdate); |
1461 | // TODO: don't create new blocks if recycling an old packet | 1461 | // TODO: don't create new blocks if recycling an old packet |
1462 | objupdate.RegionData.RegionHandle = regionHandle; | 1462 | objupdate.RegionData.RegionHandle = regionHandle; |
1463 | objupdate.RegionData.TimeDilation = 64096; | 1463 | objupdate.RegionData.TimeDilation = 64096; |
@@ -1490,7 +1490,7 @@ namespace OpenSim.Region.ClientStack | |||
1490 | { | 1490 | { |
1491 | ImprovedTerseObjectUpdatePacket.ObjectDataBlock terseBlock = | 1491 | ImprovedTerseObjectUpdatePacket.ObjectDataBlock terseBlock = |
1492 | CreateAvatarImprovedBlock(localID, position, velocity, rotation); | 1492 | CreateAvatarImprovedBlock(localID, position, velocity, rotation); |
1493 | ImprovedTerseObjectUpdatePacket terse = new ImprovedTerseObjectUpdatePacket(); | 1493 | ImprovedTerseObjectUpdatePacket terse = (ImprovedTerseObjectUpdatePacket) PacketPool.Instance.GetPacket(PacketType.ImprovedTerseObjectUpdate); |
1494 | // TODO: don't create new blocks if recycling an old packet | 1494 | // TODO: don't create new blocks if recycling an old packet |
1495 | terse.RegionData.RegionHandle = regionHandle; | 1495 | terse.RegionData.RegionHandle = regionHandle; |
1496 | terse.RegionData.TimeDilation = timeDilation; | 1496 | terse.RegionData.TimeDilation = timeDilation; |
@@ -1502,7 +1502,7 @@ namespace OpenSim.Region.ClientStack | |||
1502 | 1502 | ||
1503 | public void SendCoarseLocationUpdate(List<LLVector3> CoarseLocations) | 1503 | public void SendCoarseLocationUpdate(List<LLVector3> CoarseLocations) |
1504 | { | 1504 | { |
1505 | CoarseLocationUpdatePacket loc = new CoarseLocationUpdatePacket(); | 1505 | CoarseLocationUpdatePacket loc = (CoarseLocationUpdatePacket) PacketPool.Instance.GetPacket(PacketType.CoarseLocationUpdate); |
1506 | // TODO: don't create new blocks if recycling an old packet | 1506 | // TODO: don't create new blocks if recycling an old packet |
1507 | int total = CoarseLocations.Count; | 1507 | int total = CoarseLocations.Count; |
1508 | CoarseLocationUpdatePacket.IndexBlock ib = | 1508 | CoarseLocationUpdatePacket.IndexBlock ib = |
@@ -1535,7 +1535,7 @@ namespace OpenSim.Region.ClientStack | |||
1535 | /// <param name="attachPoint"></param> | 1535 | /// <param name="attachPoint"></param> |
1536 | public void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint) | 1536 | public void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint) |
1537 | { | 1537 | { |
1538 | ObjectAttachPacket attach = new ObjectAttachPacket(); | 1538 | ObjectAttachPacket attach = (ObjectAttachPacket) PacketPool.Instance.GetPacket(PacketType.ObjectAttach); |
1539 | // TODO: don't create new blocks if recycling an old packet | 1539 | // TODO: don't create new blocks if recycling an old packet |
1540 | attach.AgentData.AgentID = AgentId; | 1540 | attach.AgentData.AgentID = AgentId; |
1541 | attach.AgentData.SessionID = m_sessionId; | 1541 | attach.AgentData.SessionID = m_sessionId; |
@@ -1555,7 +1555,7 @@ namespace OpenSim.Region.ClientStack | |||
1555 | LLUUID objectID, LLUUID ownerID, string text, byte[] color, uint parentID, byte[] particleSystem, | 1555 | LLUUID objectID, LLUUID ownerID, string text, byte[] color, uint parentID, byte[] particleSystem, |
1556 | LLQuaternion rotation, byte clickAction) | 1556 | LLQuaternion rotation, byte clickAction) |
1557 | { | 1557 | { |
1558 | ObjectUpdatePacket outPacket = new ObjectUpdatePacket(); | 1558 | ObjectUpdatePacket outPacket = (ObjectUpdatePacket) PacketPool.Instance.GetPacket(PacketType.ObjectUpdate); |
1559 | // TODO: don't create new blocks if recycling an old packet | 1559 | // TODO: don't create new blocks if recycling an old packet |
1560 | outPacket.RegionData.RegionHandle = regionHandle; | 1560 | outPacket.RegionData.RegionHandle = regionHandle; |
1561 | outPacket.RegionData.TimeDilation = timeDilation; | 1561 | outPacket.RegionData.TimeDilation = timeDilation; |
@@ -1599,7 +1599,7 @@ namespace OpenSim.Region.ClientStack | |||
1599 | { | 1599 | { |
1600 | LLVector3 velocity = new LLVector3(0f, 0f, 0f); | 1600 | LLVector3 velocity = new LLVector3(0f, 0f, 0f); |
1601 | LLVector3 rotationalvelocity = new LLVector3(0f, 0f, 0f); | 1601 | LLVector3 rotationalvelocity = new LLVector3(0f, 0f, 0f); |
1602 | ImprovedTerseObjectUpdatePacket terse = new ImprovedTerseObjectUpdatePacket(); | 1602 | ImprovedTerseObjectUpdatePacket terse = (ImprovedTerseObjectUpdatePacket) PacketPool.Instance.GetPacket(PacketType.ImprovedTerseObjectUpdate); |
1603 | // TODO: don't create new blocks if recycling an old packet | 1603 | // TODO: don't create new blocks if recycling an old packet |
1604 | terse.RegionData.RegionHandle = regionHandle; | 1604 | terse.RegionData.RegionHandle = regionHandle; |
1605 | terse.RegionData.TimeDilation = timeDilation; | 1605 | terse.RegionData.TimeDilation = timeDilation; |
@@ -1612,7 +1612,7 @@ namespace OpenSim.Region.ClientStack | |||
1612 | public void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, | 1612 | public void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID, LLVector3 position, |
1613 | LLQuaternion rotation, LLVector3 velocity, LLVector3 rotationalvelocity) | 1613 | LLQuaternion rotation, LLVector3 velocity, LLVector3 rotationalvelocity) |
1614 | { | 1614 | { |
1615 | ImprovedTerseObjectUpdatePacket terse = new ImprovedTerseObjectUpdatePacket(); | 1615 | ImprovedTerseObjectUpdatePacket terse = (ImprovedTerseObjectUpdatePacket) PacketPool.Instance.GetPacket(PacketType.ImprovedTerseObjectUpdate); |
1616 | // TODO: don't create new blocks if recycling an old packet | 1616 | // TODO: don't create new blocks if recycling an old packet |
1617 | terse.RegionData.RegionHandle = regionHandle; | 1617 | terse.RegionData.RegionHandle = regionHandle; |
1618 | terse.RegionData.TimeDilation = timeDilation; | 1618 | terse.RegionData.TimeDilation = timeDilation; |
@@ -1950,8 +1950,8 @@ namespace OpenSim.Region.ClientStack | |||
1950 | 1950 | ||
1951 | public void SendNameReply(LLUUID profileId, string firstname, string lastname) | 1951 | public void SendNameReply(LLUUID profileId, string firstname, string lastname) |
1952 | { | 1952 | { |
1953 | UUIDNameReplyPacket packet = new UUIDNameReplyPacket(); | 1953 | UUIDNameReplyPacket packet = (UUIDNameReplyPacket) PacketPool.Instance.GetPacket(PacketType.UUIDNameReply); |
1954 | 1954 | // TODO: don't create new blocks if recycling an old packet | |
1955 | packet.UUIDNameBlock = new UUIDNameReplyPacket.UUIDNameBlockBlock[1]; | 1955 | packet.UUIDNameBlock = new UUIDNameReplyPacket.UUIDNameBlockBlock[1]; |
1956 | packet.UUIDNameBlock[0] = new UUIDNameReplyPacket.UUIDNameBlockBlock(); | 1956 | packet.UUIDNameBlock[0] = new UUIDNameReplyPacket.UUIDNameBlockBlock(); |
1957 | packet.UUIDNameBlock[0].ID = profileId; | 1957 | packet.UUIDNameBlock[0].ID = profileId; |
@@ -1999,7 +1999,7 @@ namespace OpenSim.Region.ClientStack | |||
1999 | { | 1999 | { |
2000 | //System.Console.WriteLine("texture cached: " + packet.ToString()); | 2000 | //System.Console.WriteLine("texture cached: " + packet.ToString()); |
2001 | AgentCachedTexturePacket chechedtex = (AgentCachedTexturePacket) packet; | 2001 | AgentCachedTexturePacket chechedtex = (AgentCachedTexturePacket) packet; |
2002 | AgentCachedTextureResponsePacket cachedresp = new AgentCachedTextureResponsePacket(); | 2002 | AgentCachedTextureResponsePacket cachedresp = (AgentCachedTextureResponsePacket) PacketPool.Instance.GetPacket(PacketType.AgentCachedTextureResponse); |
2003 | // TODO: don't create new blocks if recycling an old packet | 2003 | // TODO: don't create new blocks if recycling an old packet |
2004 | cachedresp.AgentData.AgentID = AgentId; | 2004 | cachedresp.AgentData.AgentID = AgentId; |
2005 | cachedresp.AgentData.SessionID = m_sessionId; | 2005 | cachedresp.AgentData.SessionID = m_sessionId; |
@@ -2160,7 +2160,7 @@ namespace OpenSim.Region.ClientStack | |||
2160 | { | 2160 | { |
2161 | //should be getting the map layer from the grid server | 2161 | //should be getting the map layer from the grid server |
2162 | //send a layer covering the 800,800 - 1200,1200 area (should be covering the requested area) | 2162 | //send a layer covering the 800,800 - 1200,1200 area (should be covering the requested area) |
2163 | MapLayerReplyPacket mapReply = new MapLayerReplyPacket(); | 2163 | MapLayerReplyPacket mapReply = (MapLayerReplyPacket) PacketPool.Instance.GetPacket(PacketType.MapLayerReply); |
2164 | // TODO: don't create new blocks if recycling an old packet | 2164 | // TODO: don't create new blocks if recycling an old packet |
2165 | mapReply.AgentData.AgentID = AgentId; | 2165 | mapReply.AgentData.AgentID = AgentId; |
2166 | mapReply.AgentData.Flags = 0; | 2166 | mapReply.AgentData.Flags = 0; |
@@ -2305,22 +2305,18 @@ namespace OpenSim.Region.ClientStack | |||
2305 | // Actually make the byte array and send it | 2305 | // Actually make the byte array and send it |
2306 | try | 2306 | try |
2307 | { | 2307 | { |
2308 | byte[] sendbuffer = Pack.ToBytes(); | 2308 | byte[] sendbuffer = Pack.ToBytes(); |
2309 | if (Pack is RegionHandshakePacket) | 2309 | PacketPool.Instance.ReturnPacket(Pack); |
2310 | { | 2310 | |
2311 | PacketPool.Instance.ReturnPacket(Pack); | 2311 | if (Pack.Header.Zerocoded) |
2312 | } | 2312 | { |
2313 | 2313 | int packetsize = Helpers.ZeroEncode(sendbuffer, sendbuffer.Length, ZeroOutBuffer); | |
2314 | if (Pack.Header.Zerocoded) | 2314 | m_networkServer.SendPacketTo(ZeroOutBuffer, packetsize, SocketFlags.None, m_circuitCode); |
2315 | { | 2315 | } |
2316 | byte[] ZeroOutBuffer = new byte[4096]; | 2316 | else |
2317 | int packetsize = Helpers.ZeroEncode(sendbuffer, sendbuffer.Length, ZeroOutBuffer); | 2317 | { |
2318 | m_networkServer.SendPacketTo(ZeroOutBuffer, packetsize, SocketFlags.None, m_circuitCode); | 2318 | m_networkServer.SendPacketTo(sendbuffer, sendbuffer.Length, SocketFlags.None, m_circuitCode); |
2319 | } | 2319 | } |
2320 | else | ||
2321 | { | ||
2322 | m_networkServer.SendPacketTo(sendbuffer, sendbuffer.Length, SocketFlags.None, m_circuitCode); | ||
2323 | } | ||
2324 | } | 2320 | } |
2325 | catch (Exception e) | 2321 | catch (Exception e) |
2326 | { | 2322 | { |
@@ -2366,7 +2362,7 @@ namespace OpenSim.Region.ClientStack | |||
2366 | { | 2362 | { |
2367 | //reply to pingcheck | 2363 | //reply to pingcheck |
2368 | StartPingCheckPacket startPing = (StartPingCheckPacket) NewPack; | 2364 | StartPingCheckPacket startPing = (StartPingCheckPacket) NewPack; |
2369 | CompletePingCheckPacket endPing = new CompletePingCheckPacket(); | 2365 | CompletePingCheckPacket endPing = (CompletePingCheckPacket) PacketPool.Instance.GetPacket(PacketType.CompletePingCheck); |
2370 | endPing.PingID.PingID = startPing.PingID.PingID; | 2366 | endPing.PingID.PingID = startPing.PingID.PingID; |
2371 | OutPacket(endPing, ThrottleOutPacketType.Task); | 2367 | OutPacket(endPing, ThrottleOutPacketType.Task); |
2372 | } | 2368 | } |
@@ -2395,7 +2391,7 @@ namespace OpenSim.Region.ClientStack | |||
2395 | { | 2391 | { |
2396 | if (Pack.Header.Reliable) | 2392 | if (Pack.Header.Reliable) |
2397 | { | 2393 | { |
2398 | PacketAckPacket ack_it = new PacketAckPacket(); | 2394 | PacketAckPacket ack_it = (PacketAckPacket) PacketPool.Instance.GetPacket(PacketType.PacketAck); |
2399 | // TODO: don't create new blocks if recycling an old packet | 2395 | // TODO: don't create new blocks if recycling an old packet |
2400 | ack_it.Packets = new PacketAckPacket.PacketsBlock[1]; | 2396 | ack_it.Packets = new PacketAckPacket.PacketsBlock[1]; |
2401 | ack_it.Packets[0] = new PacketAckPacket.PacketsBlock(); | 2397 | ack_it.Packets[0] = new PacketAckPacket.PacketsBlock(); |
@@ -2451,7 +2447,7 @@ namespace OpenSim.Region.ClientStack | |||
2451 | //MainLog.Instance.Verbose("NETWORK", "Sending PacketAck"); | 2447 | //MainLog.Instance.Verbose("NETWORK", "Sending PacketAck"); |
2452 | 2448 | ||
2453 | int i = 0; | 2449 | int i = 0; |
2454 | PacketAckPacket acks = new PacketAckPacket(); | 2450 | PacketAckPacket acks = (PacketAckPacket) PacketPool.Instance.GetPacket(PacketType.PacketAck); |
2455 | // TODO: don't create new blocks if recycling an old packet | 2451 | // TODO: don't create new blocks if recycling an old packet |
2456 | acks.Packets = new PacketAckPacket.PacketsBlock[m_pendingAcks.Count]; | 2452 | acks.Packets = new PacketAckPacket.PacketsBlock[m_pendingAcks.Count]; |
2457 | 2453 | ||
@@ -3226,11 +3222,11 @@ namespace OpenSim.Region.ClientStack | |||
3226 | case PacketType.TeleportLandmarkRequest: | 3222 | case PacketType.TeleportLandmarkRequest: |
3227 | TeleportLandmarkRequestPacket tpReq = (TeleportLandmarkRequestPacket) Pack; | 3223 | TeleportLandmarkRequestPacket tpReq = (TeleportLandmarkRequestPacket) Pack; |
3228 | 3224 | ||
3229 | TeleportStartPacket tpStart = new TeleportStartPacket(); | 3225 | TeleportStartPacket tpStart = (TeleportStartPacket) PacketPool.Instance.GetPacket(PacketType.TeleportStart); |
3230 | tpStart.Info.TeleportFlags = 8; // tp via lm | 3226 | tpStart.Info.TeleportFlags = 8; // tp via lm |
3231 | OutPacket(tpStart, ThrottleOutPacketType.Task); | 3227 | OutPacket(tpStart, ThrottleOutPacketType.Task); |
3232 | 3228 | ||
3233 | TeleportProgressPacket tpProgress = new TeleportProgressPacket(); | 3229 | TeleportProgressPacket tpProgress = (TeleportProgressPacket) PacketPool.Instance.GetPacket(PacketType.TeleportProgress); |
3234 | tpProgress.Info.Message = (new ASCIIEncoding()).GetBytes("sending_landmark"); | 3230 | tpProgress.Info.Message = (new ASCIIEncoding()).GetBytes("sending_landmark"); |
3235 | tpProgress.Info.TeleportFlags = 8; | 3231 | tpProgress.Info.TeleportFlags = 8; |
3236 | tpProgress.AgentData.AgentID = tpReq.Info.AgentID; | 3232 | tpProgress.AgentData.AgentID = tpReq.Info.AgentID; |
@@ -3245,7 +3241,7 @@ namespace OpenSim.Region.ClientStack | |||
3245 | 3241 | ||
3246 | if (lm.RegionID == m_scene.RegionInfo.RegionID) | 3242 | if (lm.RegionID == m_scene.RegionInfo.RegionID) |
3247 | { | 3243 | { |
3248 | TeleportLocalPacket tpLocal = new TeleportLocalPacket(); | 3244 | TeleportLocalPacket tpLocal = (TeleportLocalPacket) PacketPool.Instance.GetPacket(PacketType.TeleportLocal); |
3249 | 3245 | ||
3250 | tpLocal.Info.AgentID = tpReq.Info.AgentID; | 3246 | tpLocal.Info.AgentID = tpReq.Info.AgentID; |
3251 | tpLocal.Info.TeleportFlags = 8; // Teleport via landmark | 3247 | tpLocal.Info.TeleportFlags = 8; // Teleport via landmark |
@@ -3255,7 +3251,7 @@ namespace OpenSim.Region.ClientStack | |||
3255 | } | 3251 | } |
3256 | else | 3252 | else |
3257 | { | 3253 | { |
3258 | TeleportCancelPacket tpCancel = new TeleportCancelPacket(); | 3254 | TeleportCancelPacket tpCancel = (TeleportCancelPacket) PacketPool.Instance.GetPacket(PacketType.TeleportCancel); |
3259 | tpCancel.Info.AgentID = tpReq.Info.AgentID; | 3255 | tpCancel.Info.AgentID = tpReq.Info.AgentID; |
3260 | tpCancel.Info.SessionID = tpReq.Info.SessionID; | 3256 | tpCancel.Info.SessionID = tpReq.Info.SessionID; |
3261 | OutPacket(tpCancel, ThrottleOutPacketType.Task); | 3257 | OutPacket(tpCancel, ThrottleOutPacketType.Task); |
@@ -3265,7 +3261,7 @@ namespace OpenSim.Region.ClientStack | |||
3265 | { | 3261 | { |
3266 | Console.WriteLine("Cancelling Teleport - fetch asset not yet implemented"); | 3262 | Console.WriteLine("Cancelling Teleport - fetch asset not yet implemented"); |
3267 | 3263 | ||
3268 | TeleportCancelPacket tpCancel = new TeleportCancelPacket(); | 3264 | TeleportCancelPacket tpCancel = (TeleportCancelPacket) PacketPool.Instance.GetPacket(PacketType.TeleportCancel); |
3269 | tpCancel.Info.AgentID = tpReq.Info.AgentID; | 3265 | tpCancel.Info.AgentID = tpReq.Info.AgentID; |
3270 | tpCancel.Info.SessionID = tpReq.Info.SessionID; | 3266 | tpCancel.Info.SessionID = tpReq.Info.SessionID; |
3271 | OutPacket(tpCancel, ThrottleOutPacketType.Task); | 3267 | OutPacket(tpCancel, ThrottleOutPacketType.Task); |
@@ -3283,7 +3279,7 @@ namespace OpenSim.Region.ClientStack | |||
3283 | else | 3279 | else |
3284 | { | 3280 | { |
3285 | //no event handler so cancel request | 3281 | //no event handler so cancel request |
3286 | TeleportCancelPacket tpCancel = new TeleportCancelPacket(); | 3282 | TeleportCancelPacket tpCancel = (TeleportCancelPacket) PacketPool.Instance.GetPacket(PacketType.TeleportCancel); |
3287 | tpCancel.Info.SessionID = tpLocReq.AgentData.SessionID; | 3283 | tpCancel.Info.SessionID = tpLocReq.AgentData.SessionID; |
3288 | tpCancel.Info.AgentID = tpLocReq.AgentData.AgentID; | 3284 | tpCancel.Info.AgentID = tpLocReq.AgentData.AgentID; |
3289 | OutPacket(tpCancel, ThrottleOutPacketType.Task); | 3285 | OutPacket(tpCancel, ThrottleOutPacketType.Task); |
@@ -3591,7 +3587,7 @@ namespace OpenSim.Region.ClientStack | |||
3591 | 3587 | ||
3592 | public void SendLogoutPacket() | 3588 | public void SendLogoutPacket() |
3593 | { | 3589 | { |
3594 | LogoutReplyPacket logReply = new LogoutReplyPacket(); | 3590 | LogoutReplyPacket logReply = (LogoutReplyPacket) PacketPool.Instance.GetPacket(PacketType.LogoutReply); |
3595 | // TODO: don't create new blocks if recycling an old packet | 3591 | // TODO: don't create new blocks if recycling an old packet |
3596 | logReply.AgentData.AgentID = AgentId; | 3592 | logReply.AgentData.AgentID = AgentId; |
3597 | logReply.AgentData.SessionID = SessionId; | 3593 | logReply.AgentData.SessionID = SessionId; |
diff --git a/OpenSim/Region/Environment/LandManagement/Land.cs b/OpenSim/Region/Environment/LandManagement/Land.cs index bd26fdf..5c99ffd 100644 --- a/OpenSim/Region/Environment/LandManagement/Land.cs +++ b/OpenSim/Region/Environment/LandManagement/Land.cs | |||
@@ -111,7 +111,7 @@ namespace OpenSim.Region.Environment.LandManagement | |||
111 | public void sendLandProperties(int sequence_id, bool snap_selection, int request_result, | 111 | public void sendLandProperties(int sequence_id, bool snap_selection, int request_result, |
112 | IClientAPI remote_client) | 112 | IClientAPI remote_client) |
113 | { | 113 | { |
114 | ParcelPropertiesPacket updatePacket = new ParcelPropertiesPacket(); | 114 | ParcelPropertiesPacket updatePacket = (ParcelPropertiesPacket) PacketPool.Instance.GetPacket(PacketType.ParcelProperties); |
115 | // TODO: don't create new blocks if recycling an old packet | 115 | // TODO: don't create new blocks if recycling an old packet |
116 | 116 | ||
117 | updatePacket.ParcelData.AABBMax = landData.AABBMax; | 117 | updatePacket.ParcelData.AABBMax = landData.AABBMax; |
@@ -337,7 +337,7 @@ namespace OpenSim.Region.Environment.LandManagement | |||
337 | 337 | ||
338 | if (flags == (uint) ParcelManager.AccessList.Access || flags == (uint) ParcelManager.AccessList.Both) | 338 | if (flags == (uint) ParcelManager.AccessList.Access || flags == (uint) ParcelManager.AccessList.Both) |
339 | { | 339 | { |
340 | replyPacket = new ParcelAccessListReplyPacket(); | 340 | replyPacket = (ParcelAccessListReplyPacket) PacketPool.Instance.GetPacket(PacketType.ParcelAccessListReply); |
341 | replyPacket.Data.AgentID = agentID; | 341 | replyPacket.Data.AgentID = agentID; |
342 | replyPacket.Data.Flags = (uint) ParcelManager.AccessList.Access; | 342 | replyPacket.Data.Flags = (uint) ParcelManager.AccessList.Access; |
343 | replyPacket.Data.LocalID = landData.localID; | 343 | replyPacket.Data.LocalID = landData.localID; |
@@ -349,7 +349,7 @@ namespace OpenSim.Region.Environment.LandManagement | |||
349 | 349 | ||
350 | if (flags == (uint) ParcelManager.AccessList.Ban || flags == (uint) ParcelManager.AccessList.Both) | 350 | if (flags == (uint) ParcelManager.AccessList.Ban || flags == (uint) ParcelManager.AccessList.Both) |
351 | { | 351 | { |
352 | replyPacket = new ParcelAccessListReplyPacket(); | 352 | replyPacket = (ParcelAccessListReplyPacket) PacketPool.Instance.GetPacket(PacketType.ParcelAccessListReply); |
353 | replyPacket.Data.AgentID = agentID; | 353 | replyPacket.Data.AgentID = agentID; |
354 | replyPacket.Data.Flags = (uint) ParcelManager.AccessList.Ban; | 354 | replyPacket.Data.Flags = (uint) ParcelManager.AccessList.Ban; |
355 | replyPacket.Data.LocalID = landData.localID; | 355 | replyPacket.Data.LocalID = landData.localID; |
@@ -660,7 +660,7 @@ namespace OpenSim.Region.Environment.LandManagement | |||
660 | 660 | ||
661 | bool firstCall = true; | 661 | bool firstCall = true; |
662 | int MAX_OBJECTS_PER_PACKET = 251; | 662 | int MAX_OBJECTS_PER_PACKET = 251; |
663 | ForceObjectSelectPacket pack = new ForceObjectSelectPacket(); | 663 | ForceObjectSelectPacket pack = (ForceObjectSelectPacket) PacketPool.Instance.GetPacket(PacketType.ForceObjectSelect); |
664 | // TODO: don't create new blocks if recycling an old packet | 664 | // TODO: don't create new blocks if recycling an old packet |
665 | ForceObjectSelectPacket.DataBlock[] data; | 665 | ForceObjectSelectPacket.DataBlock[] data; |
666 | while (resultLocalIDs.Count > 0) | 666 | while (resultLocalIDs.Count > 0) |
@@ -699,7 +699,7 @@ namespace OpenSim.Region.Environment.LandManagement | |||
699 | public void sendLandObjectOwners(IClientAPI remote_client) | 699 | public void sendLandObjectOwners(IClientAPI remote_client) |
700 | { | 700 | { |
701 | Dictionary<LLUUID, int> ownersAndCount = new Dictionary<LLUUID, int>(); | 701 | Dictionary<LLUUID, int> ownersAndCount = new Dictionary<LLUUID, int>(); |
702 | ParcelObjectOwnersReplyPacket pack = new ParcelObjectOwnersReplyPacket(); | 702 | ParcelObjectOwnersReplyPacket pack = (ParcelObjectOwnersReplyPacket) PacketPool.Instance.GetPacket(PacketType.ParcelObjectOwnersReply); |
703 | // TODO: don't create new blocks if recycling an old packet | 703 | // TODO: don't create new blocks if recycling an old packet |
704 | 704 | ||
705 | foreach (SceneObjectGroup obj in primsOverMe) | 705 | foreach (SceneObjectGroup obj in primsOverMe) |
diff --git a/OpenSim/Region/Environment/LandManagement/LandManager.cs b/OpenSim/Region/Environment/LandManagement/LandManager.cs index d463964..22e7fc9 100644 --- a/OpenSim/Region/Environment/LandManagement/LandManager.cs +++ b/OpenSim/Region/Environment/LandManagement/LandManager.cs | |||
@@ -494,7 +494,7 @@ namespace OpenSim.Region.Environment.LandManagement | |||
494 | if (byteArrayCount >= LAND_BLOCKS_PER_PACKET) | 494 | if (byteArrayCount >= LAND_BLOCKS_PER_PACKET) |
495 | { | 495 | { |
496 | byteArrayCount = 0; | 496 | byteArrayCount = 0; |
497 | packet = new ParcelOverlayPacket(); | 497 | packet = (ParcelOverlayPacket) PacketPool.Instance.GetPacket(PacketType.ParcelOverlay); |
498 | packet.ParcelData.Data = byteArray; | 498 | packet.ParcelData.Data = byteArray; |
499 | packet.ParcelData.SequenceID = sequenceID; | 499 | packet.ParcelData.SequenceID = sequenceID; |
500 | remote_client.OutPacket((Packet) packet, ThrottleOutPacketType.Task); | 500 | remote_client.OutPacket((Packet) packet, ThrottleOutPacketType.Task); |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs index af4573b..647fbf4 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs | |||
@@ -166,7 +166,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
166 | List<AvatarPickerAvatar> AvatarResponses = new List<AvatarPickerAvatar>(); | 166 | List<AvatarPickerAvatar> AvatarResponses = new List<AvatarPickerAvatar>(); |
167 | AvatarResponses = CommsManager.GenerateAgentPickerRequestResponse(RequestID, query); | 167 | AvatarResponses = CommsManager.GenerateAgentPickerRequestResponse(RequestID, query); |
168 | 168 | ||
169 | AvatarPickerReplyPacket replyPacket = new AvatarPickerReplyPacket(); | 169 | AvatarPickerReplyPacket replyPacket = (AvatarPickerReplyPacket) PacketPool.Instance.GetPacket(PacketType.AvatarPickerReply); |
170 | // TODO: don't create new blocks if recycling an old packet | 170 | // TODO: don't create new blocks if recycling an old packet |
171 | 171 | ||
172 | AvatarPickerReplyPacket.DataBlock[] searchData = | 172 | AvatarPickerReplyPacket.DataBlock[] searchData = |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 09b58e0..8032502 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -1496,7 +1496,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1496 | m_innerScene.removeUserCount(true); | 1496 | m_innerScene.removeUserCount(true); |
1497 | } | 1497 | } |
1498 | // Tell a single agent to disconnect from the region. | 1498 | // Tell a single agent to disconnect from the region. |
1499 | DisableSimulatorPacket disable = new DisableSimulatorPacket(); | 1499 | libsecondlife.Packets.DisableSimulatorPacket disable = (libsecondlife.Packets.DisableSimulatorPacket) PacketPool.Instance.GetPacket(libsecondlife.Packets.PacketType.DisableSimulator); |
1500 | presence.ControllingClient.OutPacket(disable, ThrottleOutPacketType.Task); | 1500 | presence.ControllingClient.OutPacket(disable, ThrottleOutPacketType.Task); |
1501 | } | 1501 | } |
1502 | } | 1502 | } |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index 3fc7aec..94b6797 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -636,7 +636,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
636 | public void ServiceObjectPropertiesFamilyRequest(IClientAPI remoteClient, LLUUID AgentID, uint RequestFlags) | 636 | public void ServiceObjectPropertiesFamilyRequest(IClientAPI remoteClient, LLUUID AgentID, uint RequestFlags) |
637 | { | 637 | { |
638 | //RootPart.ServiceObjectPropertiesFamilyRequest(remoteClient, AgentID, RequestFlags); | 638 | //RootPart.ServiceObjectPropertiesFamilyRequest(remoteClient, AgentID, RequestFlags); |
639 | ObjectPropertiesFamilyPacket objPropFamilyPack = new ObjectPropertiesFamilyPacket(); | 639 | ObjectPropertiesFamilyPacket objPropFamilyPack = (ObjectPropertiesFamilyPacket) PacketPool.Instance.GetPacket(PacketType.ObjectPropertiesFamily); |
640 | // TODO: don't create new blocks if recycling an old packet | 640 | // TODO: don't create new blocks if recycling an old packet |
641 | 641 | ||
642 | ObjectPropertiesFamilyPacket.ObjectDataBlock objPropDB = new ObjectPropertiesFamilyPacket.ObjectDataBlock(); | 642 | ObjectPropertiesFamilyPacket.ObjectDataBlock objPropDB = new ObjectPropertiesFamilyPacket.ObjectDataBlock(); |
@@ -1045,7 +1045,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1045 | /// <param name="client"></param> | 1045 | /// <param name="client"></param> |
1046 | public void GetProperites(IClientAPI client) | 1046 | public void GetProperites(IClientAPI client) |
1047 | { | 1047 | { |
1048 | ObjectPropertiesPacket proper = new ObjectPropertiesPacket(); | 1048 | ObjectPropertiesPacket proper = (ObjectPropertiesPacket) PacketPool.Instance.GetPacket(PacketType.ObjectProperties); |
1049 | // TODO: don't create new blocks if recycling an old packet | 1049 | // TODO: don't create new blocks if recycling an old packet |
1050 | 1050 | ||
1051 | proper.ObjectData = new ObjectPropertiesPacket.ObjectDataBlock[1]; | 1051 | proper.ObjectData = new ObjectPropertiesPacket.ObjectDataBlock[1]; |
diff --git a/OpenSim/Region/Environment/Scenes/SimStatsReporter.cs b/OpenSim/Region/Environment/Scenes/SimStatsReporter.cs index d955fe7..5033965 100644 --- a/OpenSim/Region/Environment/Scenes/SimStatsReporter.cs +++ b/OpenSim/Region/Environment/Scenes/SimStatsReporter.cs | |||
@@ -83,7 +83,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
83 | private void statsHeartBeat(object sender, EventArgs e) | 83 | private void statsHeartBeat(object sender, EventArgs e) |
84 | { | 84 | { |
85 | m_report.Enabled = false; | 85 | m_report.Enabled = false; |
86 | SimStatsPacket statpack = new SimStatsPacket(); | 86 | SimStatsPacket statpack = (SimStatsPacket) PacketPool.Instance.GetPacket(PacketType.SimStats); |
87 | // TODO: don't create new blocks if recycling an old packet | 87 | // TODO: don't create new blocks if recycling an old packet |
88 | 88 | ||
89 | SimStatsPacket.StatBlock[] sb = new SimStatsPacket.StatBlock[11]; | 89 | SimStatsPacket.StatBlock[] sb = new SimStatsPacket.StatBlock[11]; |