Major change in Simian to abstract all UDP handling away from Agent into an IUDPProvider. UDPServer is now thinly wrapped with a UDPManager extension to provide the main packet handling facilities of Simian

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2180 52acb1d6-8a22-11de-b505-999d5b087335
This commit is contained in:
John Hurliman
2008-08-28 22:11:47 +00:00
parent 274ca8a290
commit fe869df89f
17 changed files with 761 additions and 645 deletions

View File

@@ -23,7 +23,7 @@ namespace Simian.Extensions
public void Start()
{
server.UDPServer.RegisterPacketCallback(PacketType.CompleteAgentMovement, new UDPServer.PacketCallback(CompleteAgentMovementHandler));
server.UDP.RegisterPacketCallback(PacketType.CompleteAgentMovement, new PacketCallback(CompleteAgentMovementHandler));
LoadTerrain(server.DataDir + "heightmap.tga");
}
@@ -72,7 +72,7 @@ namespace Simian.Extensions
complete.Data.Timestamp = Utils.DateTimeToUnixTime(DateTime.Now);
complete.SimData.ChannelVersion = Utils.StringToBytes("Simian");
agent.SendPacket(complete);
server.UDP.SendPacket(agent.AgentID, complete, PacketCategory.Transaction);
lock (server.Agents)
{
@@ -82,11 +82,11 @@ namespace Simian.Extensions
ObjectUpdatePacket update = Movement.BuildFullUpdate(otherAgent.Avatar,
NameValue.NameValuesToString(otherAgent.Avatar.NameValues),
server.RegionHandle, otherAgent.State, otherAgent.Flags);
agent.SendPacket(update);
server.UDP.SendPacket(agent.AgentID, update, PacketCategory.State);
// Send appearances for this avatar
AvatarAppearancePacket appearance = AvatarManager.BuildAppearancePacket(otherAgent);
agent.SendPacket(appearance);
server.UDP.SendPacket(agent.AgentID, appearance, PacketCategory.State);
}
}
@@ -136,11 +136,10 @@ namespace Simian.Extensions
int[] patches = new int[1];
patches[0] = (y * 16) + x;
LayerDataPacket layer = TerrainCompressor.CreateLandPacket(server.Heightmap, patches);
agent.SendPacket(layer);
server.UDP.SendPacket(agent.AgentID, layer, PacketCategory.Terrain);
}
}
}
}
}
}