Cleaning up OpenSim.ini.example for LLUDP. The [LLClient] section has been removed and several new parameters have been added to [ClientStack.LindenUDP]
parent
71c929137f
commit
4c45b5fd3c
|
@ -346,15 +346,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
protected int m_terrainCheckerCount;
|
protected int m_terrainCheckerCount;
|
||||||
protected uint m_agentFOVCounter;
|
protected uint m_agentFOVCounter;
|
||||||
|
|
||||||
// These numbers are guesses at a decent tradeoff between responsiveness
|
|
||||||
// of the interest list and throughput. Lower is more responsive, higher
|
|
||||||
// is better throughput
|
|
||||||
protected int m_primTerseUpdatesPerPacket = 25;
|
|
||||||
protected int m_primFullUpdatesPerPacket = 100;
|
|
||||||
protected int m_avatarTerseUpdatesPerPacket = 10;
|
|
||||||
/// <summary>Number of texture packets to put on the queue each time the
|
|
||||||
/// OnQueueEmpty event is triggered for the texture category</summary>
|
|
||||||
protected int m_textureSendLimit = 20;
|
|
||||||
protected IAssetService m_assetService;
|
protected IAssetService m_assetService;
|
||||||
private IHyperAssetService m_hyperAssets;
|
private IHyperAssetService m_hyperAssets;
|
||||||
|
|
||||||
|
@ -3333,7 +3324,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
lock (m_avatarTerseUpdates.SyncRoot)
|
lock (m_avatarTerseUpdates.SyncRoot)
|
||||||
{
|
{
|
||||||
int count = Math.Min(m_avatarTerseUpdates.Count, m_avatarTerseUpdatesPerPacket);
|
int count = Math.Min(m_avatarTerseUpdates.Count, m_udpServer.AvatarTerseUpdatesPerPacket);
|
||||||
if (count == 0)
|
if (count == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -3418,7 +3409,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
lock (m_primFullUpdates.SyncRoot)
|
lock (m_primFullUpdates.SyncRoot)
|
||||||
{
|
{
|
||||||
int count = Math.Min(m_primFullUpdates.Count, m_primFullUpdatesPerPacket);
|
int count = Math.Min(m_primFullUpdates.Count, m_udpServer.PrimFullUpdatesPerPacket);
|
||||||
if (count == 0)
|
if (count == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -3462,7 +3453,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
lock (m_primTerseUpdates.SyncRoot)
|
lock (m_primTerseUpdates.SyncRoot)
|
||||||
{
|
{
|
||||||
int count = Math.Min(m_primTerseUpdates.Count, m_primTerseUpdatesPerPacket);
|
int count = Math.Min(m_primTerseUpdates.Count, m_udpServer.PrimTerseUpdatesPerPacket);
|
||||||
if (count == 0)
|
if (count == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -3585,7 +3576,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
void ProcessTextureRequests()
|
void ProcessTextureRequests()
|
||||||
{
|
{
|
||||||
if (m_imageManager != null)
|
if (m_imageManager != null)
|
||||||
m_imageManager.ProcessImageQueue(m_textureSendLimit);
|
m_imageManager.ProcessImageQueue(m_udpServer.TextureSendLimit);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendAssetUploadCompleteMessage(sbyte AssetType, bool Success, UUID AssetFullID)
|
public void SendAssetUploadCompleteMessage(sbyte AssetType, bool Success, UUID AssetFullID)
|
||||||
|
|
|
@ -98,6 +98,18 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
/// <summary>The measured resolution of Environment.TickCount</summary>
|
/// <summary>The measured resolution of Environment.TickCount</summary>
|
||||||
public readonly float TickCountResolution;
|
public readonly float TickCountResolution;
|
||||||
|
/// <summary>Number of terse prim updates to put on the queue each time the
|
||||||
|
/// OnQueueEmpty event is triggered for updates</summary>
|
||||||
|
public readonly int PrimTerseUpdatesPerPacket;
|
||||||
|
/// <summary>Number of terse avatar updates to put on the queue each time the
|
||||||
|
/// OnQueueEmpty event is triggered for updates</summary>
|
||||||
|
public readonly int AvatarTerseUpdatesPerPacket;
|
||||||
|
/// <summary>Number of full prim updates to put on the queue each time the
|
||||||
|
/// OnQueueEmpty event is triggered for updates</summary>
|
||||||
|
public readonly int PrimFullUpdatesPerPacket;
|
||||||
|
/// <summary>Number of texture packets to put on the queue each time the
|
||||||
|
/// OnQueueEmpty event is triggered for textures</summary>
|
||||||
|
public readonly int TextureSendLimit;
|
||||||
|
|
||||||
/// <summary>Handlers for incoming packets</summary>
|
/// <summary>Handlers for incoming packets</summary>
|
||||||
//PacketEventDictionary packetEvents = new PacketEventDictionary();
|
//PacketEventDictionary packetEvents = new PacketEventDictionary();
|
||||||
|
@ -172,6 +184,18 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
m_asyncPacketHandling = config.GetBoolean("async_packet_handling", false);
|
m_asyncPacketHandling = config.GetBoolean("async_packet_handling", false);
|
||||||
m_recvBufferSize = config.GetInt("client_socket_rcvbuf_size", 0);
|
m_recvBufferSize = config.GetInt("client_socket_rcvbuf_size", 0);
|
||||||
sceneThrottleBps = config.GetInt("scene_throttle_max_bps", 0);
|
sceneThrottleBps = config.GetInt("scene_throttle_max_bps", 0);
|
||||||
|
|
||||||
|
PrimTerseUpdatesPerPacket = config.GetInt("PrimTerseUpdatesPerPacket", 25);
|
||||||
|
AvatarTerseUpdatesPerPacket = config.GetInt("AvatarTerseUpdatesPerPacket", 10);
|
||||||
|
PrimFullUpdatesPerPacket = config.GetInt("PrimFullUpdatesPerPacket", 100);
|
||||||
|
TextureSendLimit = config.GetInt("TextureSendLimit", 20);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
PrimTerseUpdatesPerPacket = 25;
|
||||||
|
AvatarTerseUpdatesPerPacket = 10;
|
||||||
|
PrimFullUpdatesPerPacket = 100;
|
||||||
|
TextureSendLimit = 20;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_throttle = new TokenBucket(null, sceneThrottleBps, sceneThrottleBps);
|
m_throttle = new TokenBucket(null, sceneThrottleBps, sceneThrottleBps);
|
||||||
|
|
|
@ -355,7 +355,8 @@
|
||||||
; already separated from packet handling with a queue, so this will only
|
; already separated from packet handling with a queue, so this will only
|
||||||
; affect whether networking internals such as packet decoding and
|
; affect whether networking internals such as packet decoding and
|
||||||
; acknowledgement accounting are done synchronously or asynchronously
|
; acknowledgement accounting are done synchronously or asynchronously
|
||||||
async_packet_handling = false
|
;
|
||||||
|
;async_packet_handling = false
|
||||||
|
|
||||||
; The client socket receive buffer size determines how many
|
; The client socket receive buffer size determines how many
|
||||||
; incoming requests we can process; the default on .NET is 8192
|
; incoming requests we can process; the default on .NET is 8192
|
||||||
|
@ -371,22 +372,26 @@
|
||||||
; by the system's settings for the maximum client receive buffer
|
; by the system's settings for the maximum client receive buffer
|
||||||
; size (on linux systems you can set that with "sysctl -w
|
; size (on linux systems you can set that with "sysctl -w
|
||||||
; net.core.rmem_max=X")
|
; net.core.rmem_max=X")
|
||||||
|
;
|
||||||
;client_socket_rcvbuf_size = 8388608
|
;client_socket_rcvbuf_size = 8388608
|
||||||
|
|
||||||
; Maximum outbound bytes per second for a single scene. This can be used to
|
; Maximum outbound bytes per second for a single scene. This can be used to
|
||||||
; throttle total outbound UDP traffic for a simulator. The default value is
|
; throttle total outbound UDP traffic for a simulator. The default value is
|
||||||
; 0, meaning no throttling at the scene level. The example given here is
|
; 0, meaning no throttling at the scene level. The example given here is
|
||||||
; 20 megabits
|
; 20 megabits
|
||||||
|
;
|
||||||
;scene_throttle_max_bps = 2621440
|
;scene_throttle_max_bps = 2621440
|
||||||
|
|
||||||
; Maximum bits per second to send to any single client. This will override
|
; Maximum bits per second to send to any single client. This will override
|
||||||
; the user's viewer preference settings. The default value is 0, meaning no
|
; the user's viewer preference settings. The default value is 0, meaning no
|
||||||
; aggregate throttling on clients (only per-category throttling). The
|
; aggregate throttling on clients (only per-category throttling). The
|
||||||
; example given here is 1.5 megabits
|
; example given here is 1.5 megabits
|
||||||
|
;
|
||||||
;client_throttle_max_bps = 196608
|
;client_throttle_max_bps = 196608
|
||||||
|
|
||||||
; Per-client bytes per second rates for the various throttle categories.
|
; Per-client bytes per second rates for the various throttle categories.
|
||||||
; These are default values that will be overriden by clients
|
; These are default values that will be overriden by clients
|
||||||
|
;
|
||||||
;resend_default = 12500
|
;resend_default = 12500
|
||||||
;land_default = 500
|
;land_default = 500
|
||||||
;wind_default = 500
|
;wind_default = 500
|
||||||
|
@ -399,6 +404,7 @@
|
||||||
; Per-client maximum burst rates in bytes per second for the various
|
; Per-client maximum burst rates in bytes per second for the various
|
||||||
; throttle categories. These are default values that will be overriden by
|
; throttle categories. These are default values that will be overriden by
|
||||||
; clients
|
; clients
|
||||||
|
;
|
||||||
;resend_limit = 18750
|
;resend_limit = 18750
|
||||||
;land_limit = 29750
|
;land_limit = 29750
|
||||||
;wind_limit = 18750
|
;wind_limit = 18750
|
||||||
|
@ -408,6 +414,28 @@
|
||||||
;asset_limit = 27500
|
;asset_limit = 27500
|
||||||
;state_limit = 37000
|
;state_limit = 37000
|
||||||
|
|
||||||
|
; Configures how ObjectUpdates are aggregated. These numbers
|
||||||
|
; do not literally mean how many updates will be put in each
|
||||||
|
; packet that goes over the wire, as packets are
|
||||||
|
; automatically split on a 1400 byte boundary. These control
|
||||||
|
; the balance between responsiveness of interest list updates
|
||||||
|
; and total throughput. Higher numbers will ensure more full-
|
||||||
|
; sized packets and faster sending of data, but more delay in
|
||||||
|
; updating interest lists
|
||||||
|
;
|
||||||
|
;PrimTerseUpdatesPerPacket = 25
|
||||||
|
;AvatarTerseUpdatesPerPacket = 10
|
||||||
|
;PrimFullUpdatesPerPacket = 100
|
||||||
|
|
||||||
|
; TextureSendLimit determines how many packets will be put on
|
||||||
|
; the outgoing queue each cycle. Like the settings above, this
|
||||||
|
; is a balance between responsiveness to priority updates and
|
||||||
|
; total throughput. Higher numbers will give a better
|
||||||
|
; throughput at the cost of reduced responsiveness to client
|
||||||
|
; priority changes or transfer aborts
|
||||||
|
;
|
||||||
|
;TextureSendLimit = 20
|
||||||
|
|
||||||
[Chat]
|
[Chat]
|
||||||
; Controls whether the chat module is enabled. Default is true.
|
; Controls whether the chat module is enabled. Default is true.
|
||||||
enabled = true;
|
enabled = true;
|
||||||
|
@ -1365,36 +1393,6 @@
|
||||||
;RecycleDataBlocks = true;
|
;RecycleDataBlocks = true;
|
||||||
|
|
||||||
|
|
||||||
[LLClient]
|
|
||||||
; Resend packets markes as reliable until they are received
|
|
||||||
;
|
|
||||||
;ReliableIsImportant = false
|
|
||||||
|
|
||||||
; Maximum number of times to resend packets marked reliable
|
|
||||||
;
|
|
||||||
;MaxReliableResends = 3
|
|
||||||
|
|
||||||
; Configures how ObjectUpdates are compressed.
|
|
||||||
;
|
|
||||||
;TerseUpdatesPerPacket=10
|
|
||||||
;FullUpdatesPerPacket=14
|
|
||||||
;TerseUpdateRate=10
|
|
||||||
;FullUpdateRate=14
|
|
||||||
|
|
||||||
;PacketMTU = 1400
|
|
||||||
|
|
||||||
; TextureSendLimit determines how many different textures
|
|
||||||
; will be considered on each cycle. Textures are selected
|
|
||||||
; by priority. The old mechanism specified a value of 10 for
|
|
||||||
; this parameter.
|
|
||||||
;
|
|
||||||
;TextureSendLimit = 10
|
|
||||||
|
|
||||||
; TextureDataLimit determines how many packets will be sent for
|
|
||||||
; each of the selected textures. Default is 5.
|
|
||||||
;
|
|
||||||
;TextureDataLimit = 5
|
|
||||||
|
|
||||||
[InterestManagement]
|
[InterestManagement]
|
||||||
; This section controls how state updates are prioritized for each client
|
; This section controls how state updates are prioritized for each client
|
||||||
; Valid values are Time, Distance, SimpleAngularDistance, and FrontBack
|
; Valid values are Time, Distance, SimpleAngularDistance, and FrontBack
|
||||||
|
|
Loading…
Reference in New Issue