Merge branch 'master' into varregion

varregion
Robert Adams 2013-11-05 21:42:27 -08:00
commit a75ce7423c
10 changed files with 168 additions and 60 deletions

View File

@ -1435,6 +1435,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
mapReply.AgentData.AgentID = AgentId; mapReply.AgentData.AgentID = AgentId;
mapReply.Data = new MapBlockReplyPacket.DataBlock[mapBlocks2.Length]; mapReply.Data = new MapBlockReplyPacket.DataBlock[mapBlocks2.Length];
mapReply.Size = new MapBlockReplyPacket.SizeBlock[mapBlocks2.Length];
mapReply.AgentData.Flags = flag; mapReply.AgentData.Flags = flag;
for (int i = 0; i < mapBlocks2.Length; i++) for (int i = 0; i < mapBlocks2.Length; i++)
@ -1449,6 +1450,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
mapReply.Data[i].RegionFlags = mapBlocks2[i].RegionFlags; mapReply.Data[i].RegionFlags = mapBlocks2[i].RegionFlags;
mapReply.Data[i].Access = mapBlocks2[i].Access; mapReply.Data[i].Access = mapBlocks2[i].Access;
mapReply.Data[i].Agents = mapBlocks2[i].Agents; mapReply.Data[i].Agents = mapBlocks2[i].Agents;
// TODO: hookup varregion sim size here
mapReply.Size[i] = new MapBlockReplyPacket.SizeBlock();
mapReply.Size[i].SizeX = 256;
mapReply.Size[i].SizeY = 256;
} }
OutPacket(mapReply, ThrottleOutPacketType.Land); OutPacket(mapReply, ThrottleOutPacketType.Land);
} }

View File

@ -132,6 +132,19 @@ namespace OpenSim.Region.ClientStack.LindenUDP
stat => stat.Value = m_udpServer.IncomingOrphanedPacketCount, stat => stat.Value = m_udpServer.IncomingOrphanedPacketCount,
StatVerbosity.Info)); StatVerbosity.Info));
StatsManager.RegisterStat(
new Stat(
"IncomingPacketsResentCount",
"Number of inbound packets that clients indicate are resends.",
"",
"",
"clientstack",
scene.Name,
StatType.Pull,
MeasuresOfInterest.AverageChangeOverTime,
stat => stat.Value = m_udpServer.IncomingPacketsResentCount,
StatVerbosity.Debug));
StatsManager.RegisterStat( StatsManager.RegisterStat(
new Stat( new Stat(
"OutgoingUDPSendsCount", "OutgoingUDPSendsCount",
@ -317,6 +330,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
/// </summary> /// </summary>
internal int PacketsSentCount { get; set; } internal int PacketsSentCount { get; set; }
/// <summary>
/// Record how many incoming packets are indicated as resends by clients.
/// </summary>
internal int IncomingPacketsResentCount { get; set; }
/// <summary> /// <summary>
/// Record how many inbound packets could not be recognized as LLUDP packets. /// Record how many inbound packets could not be recognized as LLUDP packets.
/// </summary> /// </summary>
@ -1467,6 +1485,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
#region Incoming Packet Accounting #region Incoming Packet Accounting
// We're not going to worry about interlock yet since its not currently critical that this total count
// is 100% correct
if (packet.Header.Resent)
IncomingPacketsResentCount++;
// Check the archive of received reliable packet IDs to see whether we already received this packet // Check the archive of received reliable packet IDs to see whether we already received this packet
if (packet.Header.Reliable && !udpClient.PacketArchive.TryEnqueue(packet.Header.Sequence)) if (packet.Header.Reliable && !udpClient.PacketArchive.TryEnqueue(packet.Header.Sequence))
{ {

View File

@ -194,7 +194,8 @@ namespace OpenSim.Services.UserAccountService
public bool SetLastPosition(string userID, UUID sessionID, UUID regionID, Vector3 lastPosition, Vector3 lastLookAt) public bool SetLastPosition(string userID, UUID sessionID, UUID regionID, Vector3 lastPosition, Vector3 lastLookAt)
{ {
m_log.DebugFormat("[GRID USER SERVICE]: SetLastPosition for {0}", userID); // m_log.DebugFormat("[GRID USER SERVICE]: SetLastPosition for {0}", userID);
GridUserData d = m_Database.Get(userID); GridUserData d = m_Database.Get(userID);
if (d == null) if (d == null)
{ {

View File

@ -264,9 +264,10 @@ namespace pCampBot
newClient.Throttle.Total = 400000; newClient.Throttle.Total = 400000;
} }
newClient.Network.LoginProgress += this.Network_LoginProgress; newClient.Network.LoginProgress += Network_LoginProgress;
newClient.Network.SimConnected += this.Network_SimConnected; newClient.Network.SimConnected += Network_SimConnected;
newClient.Network.Disconnected += this.Network_OnDisconnected; newClient.Network.SimDisconnected += Network_SimDisconnected;
newClient.Network.Disconnected += Network_OnDisconnected;
newClient.Objects.ObjectUpdate += Objects_NewPrim; newClient.Objects.ObjectUpdate += Objects_NewPrim;
Client = newClient; Client = newClient;
@ -276,7 +277,7 @@ namespace pCampBot
//add additional steps and/or things the bot should do //add additional steps and/or things the bot should do
private void Action() private void Action()
{ {
while (ConnectionState != ConnectionState.Disconnecting) while (ConnectionState == ConnectionState.Connected)
{ {
lock (Behaviours) lock (Behaviours)
{ {
@ -583,7 +584,13 @@ namespace pCampBot
public void Network_SimConnected(object sender, SimConnectedEventArgs args) public void Network_SimConnected(object sender, SimConnectedEventArgs args)
{ {
m_log.DebugFormat( m_log.DebugFormat(
"[BOT]: Bot {0} connected to {1} at {2}", Name, args.Simulator.Name, args.Simulator.IPEndPoint); "[BOT]: Bot {0} connected to region {1} at {2}", Name, args.Simulator.Name, args.Simulator.IPEndPoint);
}
public void Network_SimDisconnected(object sender, SimDisconnectedEventArgs args)
{
m_log.DebugFormat(
"[BOT]: Bot {0} disconnected from region {1} at {2}", Name, args.Simulator.Name, args.Simulator.IPEndPoint);
} }
public void Network_OnDisconnected(object sender, DisconnectedEventArgs args) public void Network_OnDisconnected(object sender, DisconnectedEventArgs args)
@ -591,7 +598,7 @@ namespace pCampBot
ConnectionState = ConnectionState.Disconnected; ConnectionState = ConnectionState.Disconnected;
m_log.DebugFormat( m_log.DebugFormat(
"[BOT]: Bot {0} disconnected reason {1}, message {2}", Name, args.Reason, args.Message); "[BOT]: Bot {0} disconnected from grid, reason {1}, message {2}", Name, args.Reason, args.Message);
// m_log.ErrorFormat("Fired Network_OnDisconnected"); // m_log.ErrorFormat("Fired Network_OnDisconnected");

Binary file not shown.

View File

@ -7557,6 +7557,9 @@
<member name="T:OpenMetaverse.Packets.MapBlockReplyPacket.DataBlock"> <member name="T:OpenMetaverse.Packets.MapBlockReplyPacket.DataBlock">
<exclude/> <exclude/>
</member> </member>
<member name="T:OpenMetaverse.Packets.MapBlockReplyPacket.SizeBlock">
<exclude/>
</member>
<member name="T:OpenMetaverse.Packets.MapItemRequestPacket"> <member name="T:OpenMetaverse.Packets.MapItemRequestPacket">
<exclude/> <exclude/>
</member> </member>
@ -9160,6 +9163,13 @@
</summary> </summary>
<returns>A byte array containing raw texture data</returns> <returns>A byte array containing raw texture data</returns>
</member> </member>
<member name="M:OpenMetaverse.Imaging.ManagedImage.ExportBitmap">
<summary>
Create a byte array containing 32-bit RGBA data with a bottom-left
origin, suitable for feeding directly into OpenGL
</summary>
<returns>A byte array containing raw texture data</returns>
</member>
<member name="T:OpenMetaverse.Assets.AssetMutable"> <member name="T:OpenMetaverse.Assets.AssetMutable">
<summary> <summary>
Represents an Animation Represents an Animation
@ -11537,6 +11547,26 @@
<summary>A <see langword="float"/> that represents the ending Y size of the particle</summary> <summary>A <see langword="float"/> that represents the ending Y size of the particle</summary>
<remarks>Minimum value is 0, maximum value is 4</remarks> <remarks>Minimum value is 0, maximum value is 4</remarks>
</member> </member>
<member name="F:OpenMetaverse.Primitive.ParticleSystem.PartStartGlow">
<summary>A <see langword="float"/> that represents the start glow value</summary>
<remarks>Minimum value is 0, maximum value is 1</remarks>
</member>
<member name="F:OpenMetaverse.Primitive.ParticleSystem.PartEndGlow">
<summary>A <see langword="float"/> that represents the end glow value</summary>
<remarks>Minimum value is 0, maximum value is 1</remarks>
</member>
<member name="F:OpenMetaverse.Primitive.ParticleSystem.BlendFuncSource">
<summary>OpenGL blend function to use at particle source</summary>
</member>
<member name="F:OpenMetaverse.Primitive.ParticleSystem.BlendFuncDest">
<summary>OpenGL blend function to use at particle destination</summary>
</member>
<member name="M:OpenMetaverse.Primitive.ParticleSystem.IsLegacyCompatible">
<summary>
Can this particle system be packed in a legacy compatible way
</summary>
<returns>True if the particle system doesn't use new particle system features</returns>
</member>
<member name="M:OpenMetaverse.Primitive.ParticleSystem.#ctor(System.Byte[],System.Int32)"> <member name="M:OpenMetaverse.Primitive.ParticleSystem.#ctor(System.Byte[],System.Int32)">
<summary> <summary>
Decodes a byte[] array into a ParticleSystem Object Decodes a byte[] array into a ParticleSystem Object
@ -11611,6 +11641,15 @@
<member name="F:OpenMetaverse.Primitive.ParticleSystem.ParticleDataFlags.Beam"> <member name="F:OpenMetaverse.Primitive.ParticleSystem.ParticleDataFlags.Beam">
<summary>used for point/grab/touch</summary> <summary>used for point/grab/touch</summary>
</member> </member>
<member name="F:OpenMetaverse.Primitive.ParticleSystem.ParticleDataFlags.Ribbon">
<summary>continuous ribbon particle</summary>
</member>
<member name="F:OpenMetaverse.Primitive.ParticleSystem.ParticleDataFlags.DataGlow">
<summary>particle data contains glow</summary>
</member>
<member name="F:OpenMetaverse.Primitive.ParticleSystem.ParticleDataFlags.DataBlend">
<summary>particle data contains blend functions</summary>
</member>
<member name="T:OpenMetaverse.Primitive.ParticleSystem.ParticleFlags"> <member name="T:OpenMetaverse.Primitive.ParticleSystem.ParticleFlags">
<summary> <summary>
Particle Flags Enum Particle Flags Enum
@ -12044,6 +12083,17 @@
<param name="transactionID">UUID of the transaction</param> <param name="transactionID">UUID of the transaction</param>
<param name="callback">The callback to fire when the simulator responds with the asset data</param> <param name="callback">The callback to fire when the simulator responds with the asset data</param>
</member> </member>
<member name="M:OpenMetaverse.AssetManager.RequestAsset(OpenMetaverse.UUID,OpenMetaverse.UUID,OpenMetaverse.UUID,OpenMetaverse.AssetType,System.Boolean,OpenMetaverse.SourceType,OpenMetaverse.UUID,OpenMetaverse.AssetManager.AssetReceivedCallback)">
<summary>
Request an asset download
</summary>
<param name="assetID">Asset UUID</param>
<param name="type">Asset type, must be correct for the transfer to succeed</param>
<param name="priority">Whether to give this transfer an elevated priority</param>
<param name="sourceType">Source location of the requested asset</param>
<param name="transactionID">UUID of the transaction</param>
<param name="callback">The callback to fire when the simulator responds with the asset data</param>
</member>
<member name="M:OpenMetaverse.AssetManager.RequestAssetXfer(System.String,System.Boolean,System.Boolean,OpenMetaverse.UUID,OpenMetaverse.AssetType,System.Boolean)"> <member name="M:OpenMetaverse.AssetManager.RequestAssetXfer(System.String,System.Boolean,System.Boolean,OpenMetaverse.UUID,OpenMetaverse.AssetType,System.Boolean)">
<summary> <summary>
Request an asset download through the almost deprecated Xfer system Request an asset download through the almost deprecated Xfer system
@ -18501,7 +18551,11 @@
</summary> </summary>
<returns>True on success, otherwise false</returns> <returns>True on success, otherwise false</returns>
</member> </member>
<member name="M:OpenMetaverse.AppearanceManager.DecodeWearableParams(OpenMetaverse.AppearanceManager.WearableData)"> <member name="M:OpenMetaverse.AppearanceManager.DecodeWearableParams(OpenMetaverse.AppearanceManager.WearableData,OpenMetaverse.AppearanceManager.TextureData[]@)">
<summary>
Populates textures and visual params from a decoded asset
</summary>
<param name="wearable">Wearable to decode</param>
<summary> <summary>
Populates textures and visual params from a decoded asset Populates textures and visual params from a decoded asset
</summary> </summary>
@ -18984,6 +19038,9 @@
<member name="P:OpenMetaverse.InventoryNode.Data"> <member name="P:OpenMetaverse.InventoryNode.Data">
<summary></summary> <summary></summary>
</member> </member>
<member name="P:OpenMetaverse.InventoryNode.Tag">
<summary>User data</summary>
</member>
<member name="P:OpenMetaverse.InventoryNode.Parent"> <member name="P:OpenMetaverse.InventoryNode.Parent">
<summary></summary> <summary></summary>
</member> </member>
@ -19146,6 +19203,15 @@
Region protocol flags Region protocol flags
</summary> </summary>
</member> </member>
<member name="F:OpenMetaverse.RegionProtocols.None">
<summary>Nothing special</summary>
</member>
<member name="F:OpenMetaverse.RegionProtocols.AgentAppearanceService">
<summary>Region supports Server side Appearance</summary>
</member>
<member name="F:OpenMetaverse.RegionProtocols.SelfAppearanceSupport">
<summary>Viewer supports Server side Appearance</summary>
</member>
<member name="T:OpenMetaverse.SimAccess"> <member name="T:OpenMetaverse.SimAccess">
<summary> <summary>
Access level for a simulator Access level for a simulator
@ -21475,6 +21541,11 @@
Constants for the archiving module Constants for the archiving module
</summary> </summary>
</member> </member>
<member name="F:OpenMetaverse.Assets.ArchiveConstants.LANDDATA_PATH">
<value>
Path for region settings.
</value>
</member>
<member name="F:OpenMetaverse.Assets.ArchiveConstants.CONTROL_FILE_PATH"> <member name="F:OpenMetaverse.Assets.ArchiveConstants.CONTROL_FILE_PATH">
<summary> <summary>
The location of the archive control file The location of the archive control file
@ -23668,6 +23739,58 @@
</summary> </summary>
<returns>OSD containting the messaage</returns> <returns>OSD containting the messaage</returns>
</member> </member>
<member name="T:OpenMetaverse.Parallel">
<summary>
Provides helper methods for parallelizing loops
</summary>
</member>
<member name="M:OpenMetaverse.Parallel.For(System.Int32,System.Int32,System.Action{System.Int32})">
<summary>
Executes a for loop in which iterations may run in parallel
</summary>
<param name="fromInclusive">The loop will be started at this index</param>
<param name="toExclusive">The loop will be terminated before this index is reached</param>
<param name="body">Method body to run for each iteration of the loop</param>
</member>
<member name="M:OpenMetaverse.Parallel.For(System.Int32,System.Int32,System.Int32,System.Action{System.Int32})">
<summary>
Executes a for loop in which iterations may run in parallel
</summary>
<param name="threadCount">The number of concurrent execution threads to run</param>
<param name="fromInclusive">The loop will be started at this index</param>
<param name="toExclusive">The loop will be terminated before this index is reached</param>
<param name="body">Method body to run for each iteration of the loop</param>
</member>
<member name="M:OpenMetaverse.Parallel.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
<summary>
Executes a foreach loop in which iterations may run in parallel
</summary>
<typeparam name="T">Object type that the collection wraps</typeparam>
<param name="enumerable">An enumerable collection to iterate over</param>
<param name="body">Method body to run for each object in the collection</param>
</member>
<member name="M:OpenMetaverse.Parallel.ForEach``1(System.Int32,System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
<summary>
Executes a foreach loop in which iterations may run in parallel
</summary>
<typeparam name="T">Object type that the collection wraps</typeparam>
<param name="threadCount">The number of concurrent execution threads to run</param>
<param name="enumerable">An enumerable collection to iterate over</param>
<param name="body">Method body to run for each object in the collection</param>
</member>
<member name="M:OpenMetaverse.Parallel.Invoke(System.Action[])">
<summary>
Executes a series of tasks in parallel
</summary>
<param name="actions">A series of method bodies to execute</param>
</member>
<member name="M:OpenMetaverse.Parallel.Invoke(System.Int32,System.Action[])">
<summary>
Executes a series of tasks in parallel
</summary>
<param name="threadCount">The number of concurrent execution threads to run</param>
<param name="actions">A series of method bodies to execute</param>
</member>
<member name="F:OpenMetaverse.InventorySortOrder.ByName"> <member name="F:OpenMetaverse.InventorySortOrder.ByName">
<summary>Sort by name</summary> <summary>Sort by name</summary>
</member> </member>

Binary file not shown.

View File

@ -2573,58 +2573,6 @@
<member name="F:OpenMetaverse.UUID.ZeroString"> <member name="F:OpenMetaverse.UUID.ZeroString">
<summary>A cache of UUID.Zero as a string to optimize a common path</summary> <summary>A cache of UUID.Zero as a string to optimize a common path</summary>
</member> </member>
<member name="T:OpenMetaverse.Parallel">
<summary>
Provides helper methods for parallelizing loops
</summary>
</member>
<member name="M:OpenMetaverse.Parallel.For(System.Int32,System.Int32,System.Action{System.Int32})">
<summary>
Executes a for loop in which iterations may run in parallel
</summary>
<param name="fromInclusive">The loop will be started at this index</param>
<param name="toExclusive">The loop will be terminated before this index is reached</param>
<param name="body">Method body to run for each iteration of the loop</param>
</member>
<member name="M:OpenMetaverse.Parallel.For(System.Int32,System.Int32,System.Int32,System.Action{System.Int32})">
<summary>
Executes a for loop in which iterations may run in parallel
</summary>
<param name="threadCount">The number of concurrent execution threads to run</param>
<param name="fromInclusive">The loop will be started at this index</param>
<param name="toExclusive">The loop will be terminated before this index is reached</param>
<param name="body">Method body to run for each iteration of the loop</param>
</member>
<member name="M:OpenMetaverse.Parallel.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
<summary>
Executes a foreach loop in which iterations may run in parallel
</summary>
<typeparam name="T">Object type that the collection wraps</typeparam>
<param name="enumerable">An enumerable collection to iterate over</param>
<param name="body">Method body to run for each object in the collection</param>
</member>
<member name="M:OpenMetaverse.Parallel.ForEach``1(System.Int32,System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
<summary>
Executes a foreach loop in which iterations may run in parallel
</summary>
<typeparam name="T">Object type that the collection wraps</typeparam>
<param name="threadCount">The number of concurrent execution threads to run</param>
<param name="enumerable">An enumerable collection to iterate over</param>
<param name="body">Method body to run for each object in the collection</param>
</member>
<member name="M:OpenMetaverse.Parallel.Invoke(System.Action[])">
<summary>
Executes a series of tasks in parallel
</summary>
<param name="actions">A series of method bodies to execute</param>
</member>
<member name="M:OpenMetaverse.Parallel.Invoke(System.Int32,System.Action[])">
<summary>
Executes a series of tasks in parallel
</summary>
<param name="threadCount">The number of concurrent execution threads to run</param>
<param name="actions">A series of method bodies to execute</param>
</member>
<member name="M:OpenMetaverse.CircularQueue`1.#ctor(OpenMetaverse.CircularQueue{`0})"> <member name="M:OpenMetaverse.CircularQueue`1.#ctor(OpenMetaverse.CircularQueue{`0})">
<summary> <summary>
Copy constructor Copy constructor

Binary file not shown.