clean up of packet handler to put high freq at the top of the switch case
This commit is contained in:
parent
5727359626
commit
12bf9b95e7
1 changed files with 114 additions and 109 deletions
|
|
@ -680,6 +680,58 @@ namespace OpenMetaverse.Packets
|
|||
{
|
||||
switch (frequency)
|
||||
{
|
||||
case PacketFrequency.High:
|
||||
switch (id)
|
||||
{
|
||||
case 1: return PacketType.StartPingCheck;
|
||||
case 2: return PacketType.CompletePingCheck;
|
||||
case 4: return PacketType.AgentUpdate;
|
||||
case 5: return PacketType.AgentAnimation;
|
||||
case 6: return PacketType.AgentRequestSit;
|
||||
case 7: return PacketType.AgentSit;
|
||||
case 8: return PacketType.RequestImage;
|
||||
case 9: return PacketType.ImageData;
|
||||
case 10: return PacketType.ImagePacket;
|
||||
case 11: return PacketType.LayerData;
|
||||
case 12: return PacketType.ObjectUpdate;
|
||||
case 13: return PacketType.ObjectUpdateCompressed;
|
||||
case 14: return PacketType.ObjectUpdateCached;
|
||||
case 15: return PacketType.ImprovedTerseObjectUpdate;
|
||||
case 16: return PacketType.KillObject;
|
||||
case 17: return PacketType.TransferPacket;
|
||||
case 18: return PacketType.SendXferPacket;
|
||||
case 19: return PacketType.ConfirmXferPacket;
|
||||
case 20: return PacketType.AvatarAnimation;
|
||||
case 21: return PacketType.AvatarSitResponse;
|
||||
case 22: return PacketType.CameraConstraint;
|
||||
case 23: return PacketType.ParcelProperties;
|
||||
case 25: return PacketType.ChildAgentUpdate;
|
||||
case 26: return PacketType.ChildAgentAlive;
|
||||
case 27: return PacketType.ChildAgentPositionUpdate;
|
||||
case 29: return PacketType.SoundTrigger;
|
||||
case 30: return PacketType.ObjectAnimation;
|
||||
}
|
||||
break;
|
||||
case PacketFrequency.Medium:
|
||||
switch (id)
|
||||
{
|
||||
case 1: return PacketType.ObjectAdd;
|
||||
case 2: return PacketType.MultipleObjectUpdate;
|
||||
case 3: return PacketType.RequestMultipleObjects;
|
||||
case 4: return PacketType.ObjectPosition;
|
||||
case 5: return PacketType.RequestObjectPropertiesFamily;
|
||||
case 6: return PacketType.CoarseLocationUpdate;
|
||||
case 7: return PacketType.CrossedRegion;
|
||||
case 8: return PacketType.ConfirmEnableSimulator;
|
||||
case 9: return PacketType.ObjectProperties;
|
||||
case 10: return PacketType.ObjectPropertiesFamily;
|
||||
case 11: return PacketType.ParcelPropertiesRequest;
|
||||
case 13: return PacketType.AttachedSound;
|
||||
case 14: return PacketType.AttachedSoundGainChange;
|
||||
case 15: return PacketType.PreloadSound;
|
||||
case 17: return PacketType.ViewerEffect;
|
||||
}
|
||||
break;
|
||||
case PacketFrequency.Low:
|
||||
switch (id)
|
||||
{
|
||||
|
|
@ -1031,58 +1083,6 @@ namespace OpenMetaverse.Packets
|
|||
case 65533: return PacketType.CloseCircuit;
|
||||
}
|
||||
break;
|
||||
case PacketFrequency.Medium:
|
||||
switch (id)
|
||||
{
|
||||
case 1: return PacketType.ObjectAdd;
|
||||
case 2: return PacketType.MultipleObjectUpdate;
|
||||
case 3: return PacketType.RequestMultipleObjects;
|
||||
case 4: return PacketType.ObjectPosition;
|
||||
case 5: return PacketType.RequestObjectPropertiesFamily;
|
||||
case 6: return PacketType.CoarseLocationUpdate;
|
||||
case 7: return PacketType.CrossedRegion;
|
||||
case 8: return PacketType.ConfirmEnableSimulator;
|
||||
case 9: return PacketType.ObjectProperties;
|
||||
case 10: return PacketType.ObjectPropertiesFamily;
|
||||
case 11: return PacketType.ParcelPropertiesRequest;
|
||||
case 13: return PacketType.AttachedSound;
|
||||
case 14: return PacketType.AttachedSoundGainChange;
|
||||
case 15: return PacketType.PreloadSound;
|
||||
case 17: return PacketType.ViewerEffect;
|
||||
}
|
||||
break;
|
||||
case PacketFrequency.High:
|
||||
switch (id)
|
||||
{
|
||||
case 1: return PacketType.StartPingCheck;
|
||||
case 2: return PacketType.CompletePingCheck;
|
||||
case 4: return PacketType.AgentUpdate;
|
||||
case 5: return PacketType.AgentAnimation;
|
||||
case 6: return PacketType.AgentRequestSit;
|
||||
case 7: return PacketType.AgentSit;
|
||||
case 8: return PacketType.RequestImage;
|
||||
case 9: return PacketType.ImageData;
|
||||
case 10: return PacketType.ImagePacket;
|
||||
case 11: return PacketType.LayerData;
|
||||
case 12: return PacketType.ObjectUpdate;
|
||||
case 13: return PacketType.ObjectUpdateCompressed;
|
||||
case 14: return PacketType.ObjectUpdateCached;
|
||||
case 15: return PacketType.ImprovedTerseObjectUpdate;
|
||||
case 16: return PacketType.KillObject;
|
||||
case 17: return PacketType.TransferPacket;
|
||||
case 18: return PacketType.SendXferPacket;
|
||||
case 19: return PacketType.ConfirmXferPacket;
|
||||
case 20: return PacketType.AvatarAnimation;
|
||||
case 21: return PacketType.AvatarSitResponse;
|
||||
case 22: return PacketType.CameraConstraint;
|
||||
case 23: return PacketType.ParcelProperties;
|
||||
case 25: return PacketType.ChildAgentUpdate;
|
||||
case 26: return PacketType.ChildAgentAlive;
|
||||
case 27: return PacketType.ChildAgentPositionUpdate;
|
||||
case 29: return PacketType.SoundTrigger;
|
||||
case 30: return PacketType.ObjectAnimation;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return PacketType.Default;
|
||||
|
|
@ -1500,6 +1500,60 @@ namespace OpenMetaverse.Packets
|
|||
|
||||
switch (header.Frequency)
|
||||
{
|
||||
case PacketFrequency.High:
|
||||
switch (header.ID)
|
||||
{
|
||||
case 1: return new StartPingCheckPacket(header, bytes, ref i);
|
||||
case 2: return new CompletePingCheckPacket(header, bytes, ref i);
|
||||
case 4: return new AgentUpdatePacket(header, bytes, ref i);
|
||||
case 5: return new AgentAnimationPacket(header, bytes, ref i);
|
||||
case 6: return new AgentRequestSitPacket(header, bytes, ref i);
|
||||
case 7: return new AgentSitPacket(header, bytes, ref i);
|
||||
case 8: return new RequestImagePacket(header, bytes, ref i);
|
||||
case 9: return new ImageDataPacket(header, bytes, ref i);
|
||||
case 10: return new ImagePacketPacket(header, bytes, ref i);
|
||||
case 11: return new LayerDataPacket(header, bytes, ref i);
|
||||
case 12: return new ObjectUpdatePacket(header, bytes, ref i);
|
||||
case 13: return new ObjectUpdateCompressedPacket(header, bytes, ref i);
|
||||
case 14: return new ObjectUpdateCachedPacket(header, bytes, ref i);
|
||||
case 15: return new ImprovedTerseObjectUpdatePacket(header, bytes, ref i);
|
||||
case 16: return new KillObjectPacket(header, bytes, ref i);
|
||||
case 17: return new TransferPacketPacket(header, bytes, ref i);
|
||||
case 18: return new SendXferPacketPacket(header, bytes, ref i);
|
||||
case 19: return new ConfirmXferPacketPacket(header, bytes, ref i);
|
||||
case 20: return new AvatarAnimationPacket(header, bytes, ref i);
|
||||
case 21: return new AvatarSitResponsePacket(header, bytes, ref i);
|
||||
case 22: return new CameraConstraintPacket(header, bytes, ref i);
|
||||
case 23: return new ParcelPropertiesPacket(header, bytes, ref i);
|
||||
case 25: return new ChildAgentUpdatePacket(header, bytes, ref i);
|
||||
case 26: return new ChildAgentAlivePacket(header, bytes, ref i);
|
||||
case 27: return new ChildAgentPositionUpdatePacket(header, bytes, ref i);
|
||||
case 29: return new SoundTriggerPacket(header, bytes, ref i);
|
||||
case 30: return new ObjectAnimationPacket(header, bytes, ref i);
|
||||
|
||||
}
|
||||
break;
|
||||
case PacketFrequency.Medium:
|
||||
switch (header.ID)
|
||||
{
|
||||
case 1: return new ObjectAddPacket(header, bytes, ref i);
|
||||
case 2: return new MultipleObjectUpdatePacket(header, bytes, ref i);
|
||||
case 3: return new RequestMultipleObjectsPacket(header, bytes, ref i);
|
||||
case 4: return new ObjectPositionPacket(header, bytes, ref i);
|
||||
case 5: return new RequestObjectPropertiesFamilyPacket(header, bytes, ref i);
|
||||
case 6: return new CoarseLocationUpdatePacket(header, bytes, ref i);
|
||||
case 7: return new CrossedRegionPacket(header, bytes, ref i);
|
||||
case 8: return new ConfirmEnableSimulatorPacket(header, bytes, ref i);
|
||||
case 9: return new ObjectPropertiesPacket(header, bytes, ref i);
|
||||
case 10: return new ObjectPropertiesFamilyPacket(header, bytes, ref i);
|
||||
case 11: return new ParcelPropertiesRequestPacket(header, bytes, ref i);
|
||||
case 13: return new AttachedSoundPacket(header, bytes, ref i);
|
||||
case 14: return new AttachedSoundGainChangePacket(header, bytes, ref i);
|
||||
case 15: return new PreloadSoundPacket(header, bytes, ref i);
|
||||
case 17: return new ViewerEffectPacket(header, bytes, ref i);
|
||||
|
||||
}
|
||||
break;
|
||||
case PacketFrequency.Low:
|
||||
switch (header.ID)
|
||||
{
|
||||
|
|
@ -1850,60 +1904,6 @@ namespace OpenMetaverse.Packets
|
|||
case 65532: return new OpenCircuitPacket(header, bytes, ref i);
|
||||
case 65533: return new CloseCircuitPacket(header, bytes, ref i);
|
||||
|
||||
}
|
||||
break;
|
||||
case PacketFrequency.Medium:
|
||||
switch (header.ID)
|
||||
{
|
||||
case 1: return new ObjectAddPacket(header, bytes, ref i);
|
||||
case 2: return new MultipleObjectUpdatePacket(header, bytes, ref i);
|
||||
case 3: return new RequestMultipleObjectsPacket(header, bytes, ref i);
|
||||
case 4: return new ObjectPositionPacket(header, bytes, ref i);
|
||||
case 5: return new RequestObjectPropertiesFamilyPacket(header, bytes, ref i);
|
||||
case 6: return new CoarseLocationUpdatePacket(header, bytes, ref i);
|
||||
case 7: return new CrossedRegionPacket(header, bytes, ref i);
|
||||
case 8: return new ConfirmEnableSimulatorPacket(header, bytes, ref i);
|
||||
case 9: return new ObjectPropertiesPacket(header, bytes, ref i);
|
||||
case 10: return new ObjectPropertiesFamilyPacket(header, bytes, ref i);
|
||||
case 11: return new ParcelPropertiesRequestPacket(header, bytes, ref i);
|
||||
case 13: return new AttachedSoundPacket(header, bytes, ref i);
|
||||
case 14: return new AttachedSoundGainChangePacket(header, bytes, ref i);
|
||||
case 15: return new PreloadSoundPacket(header, bytes, ref i);
|
||||
case 17: return new ViewerEffectPacket(header, bytes, ref i);
|
||||
|
||||
}
|
||||
break;
|
||||
case PacketFrequency.High:
|
||||
switch (header.ID)
|
||||
{
|
||||
case 1: return new StartPingCheckPacket(header, bytes, ref i);
|
||||
case 2: return new CompletePingCheckPacket(header, bytes, ref i);
|
||||
case 4: return new AgentUpdatePacket(header, bytes, ref i);
|
||||
case 5: return new AgentAnimationPacket(header, bytes, ref i);
|
||||
case 6: return new AgentRequestSitPacket(header, bytes, ref i);
|
||||
case 7: return new AgentSitPacket(header, bytes, ref i);
|
||||
case 8: return new RequestImagePacket(header, bytes, ref i);
|
||||
case 9: return new ImageDataPacket(header, bytes, ref i);
|
||||
case 10: return new ImagePacketPacket(header, bytes, ref i);
|
||||
case 11: return new LayerDataPacket(header, bytes, ref i);
|
||||
case 12: return new ObjectUpdatePacket(header, bytes, ref i);
|
||||
case 13: return new ObjectUpdateCompressedPacket(header, bytes, ref i);
|
||||
case 14: return new ObjectUpdateCachedPacket(header, bytes, ref i);
|
||||
case 15: return new ImprovedTerseObjectUpdatePacket(header, bytes, ref i);
|
||||
case 16: return new KillObjectPacket(header, bytes, ref i);
|
||||
case 17: return new TransferPacketPacket(header, bytes, ref i);
|
||||
case 18: return new SendXferPacketPacket(header, bytes, ref i);
|
||||
case 19: return new ConfirmXferPacketPacket(header, bytes, ref i);
|
||||
case 20: return new AvatarAnimationPacket(header, bytes, ref i);
|
||||
case 21: return new AvatarSitResponsePacket(header, bytes, ref i);
|
||||
case 22: return new CameraConstraintPacket(header, bytes, ref i);
|
||||
case 23: return new ParcelPropertiesPacket(header, bytes, ref i);
|
||||
case 25: return new ChildAgentUpdatePacket(header, bytes, ref i);
|
||||
case 26: return new ChildAgentAlivePacket(header, bytes, ref i);
|
||||
case 27: return new ChildAgentPositionUpdatePacket(header, bytes, ref i);
|
||||
case 29: return new SoundTriggerPacket(header, bytes, ref i);
|
||||
case 30: return new ObjectAnimationPacket(header, bytes, ref i);
|
||||
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -76936,13 +76936,18 @@ namespace OpenMetaverse.Packets
|
|||
Header = header;
|
||||
RegionData.FromBytes(bytes, ref i);
|
||||
int count = (int)bytes[i++];
|
||||
if(ObjectData == null || ObjectData.Length != count) {
|
||||
if(ObjectData == null || ObjectData.Length != count)
|
||||
{
|
||||
ObjectData = new ObjectDataBlock[count];
|
||||
for(int j = 0; j < count; j++)
|
||||
{ ObjectData[j] = new ObjectDataBlock(); }
|
||||
{
|
||||
ObjectData[j] = new ObjectDataBlock();
|
||||
}
|
||||
}
|
||||
for (int j = 0; j < count; j++)
|
||||
{ ObjectData[j].FromBytes(bytes, ref i); }
|
||||
{
|
||||
ObjectData[j].FromBytes(bytes, ref i);
|
||||
}
|
||||
}
|
||||
|
||||
public override byte[] ToBytes()
|
||||
|
|
|
|||
Loading…
Reference in a new issue