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)
|
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:
|
case PacketFrequency.Low:
|
||||||
switch (id)
|
switch (id)
|
||||||
{
|
{
|
||||||
|
|
@ -1031,58 +1083,6 @@ namespace OpenMetaverse.Packets
|
||||||
case 65533: return PacketType.CloseCircuit;
|
case 65533: return PacketType.CloseCircuit;
|
||||||
}
|
}
|
||||||
break;
|
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;
|
return PacketType.Default;
|
||||||
|
|
@ -1500,6 +1500,60 @@ namespace OpenMetaverse.Packets
|
||||||
|
|
||||||
switch (header.Frequency)
|
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:
|
case PacketFrequency.Low:
|
||||||
switch (header.ID)
|
switch (header.ID)
|
||||||
{
|
{
|
||||||
|
|
@ -1850,60 +1904,6 @@ namespace OpenMetaverse.Packets
|
||||||
case 65532: return new OpenCircuitPacket(header, bytes, ref i);
|
case 65532: return new OpenCircuitPacket(header, bytes, ref i);
|
||||||
case 65533: return new CloseCircuitPacket(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;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -76936,13 +76936,18 @@ namespace OpenMetaverse.Packets
|
||||||
Header = header;
|
Header = header;
|
||||||
RegionData.FromBytes(bytes, ref i);
|
RegionData.FromBytes(bytes, ref i);
|
||||||
int count = (int)bytes[i++];
|
int count = (int)bytes[i++];
|
||||||
if(ObjectData == null || ObjectData.Length != count) {
|
if(ObjectData == null || ObjectData.Length != count)
|
||||||
|
{
|
||||||
ObjectData = new ObjectDataBlock[count];
|
ObjectData = new ObjectDataBlock[count];
|
||||||
for(int j = 0; j < count; j++)
|
for(int j = 0; j < count; j++)
|
||||||
{ ObjectData[j] = new ObjectDataBlock(); }
|
{
|
||||||
|
ObjectData[j] = new ObjectDataBlock();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for (int j = 0; j < count; j++)
|
for (int j = 0; j < count; j++)
|
||||||
{ ObjectData[j].FromBytes(bytes, ref i); }
|
{
|
||||||
|
ObjectData[j].FromBytes(bytes, ref i);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override byte[] ToBytes()
|
public override byte[] ToBytes()
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue