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 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;
|
||||
private IHyperAssetService m_hyperAssets;
|
||||
|
||||
|
@ -3333,7 +3324,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||
|
||||
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)
|
||||
return;
|
||||
|
||||
|
@ -3418,7 +3409,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||
|
||||
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)
|
||||
return;
|
||||
|
||||
|
@ -3462,7 +3453,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||
|
||||
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)
|
||||
return;
|
||||
|
||||
|
@ -3585,7 +3576,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||
void ProcessTextureRequests()
|
||||
{
|
||||
if (m_imageManager != null)
|
||||
m_imageManager.ProcessImageQueue(m_textureSendLimit);
|
||||
m_imageManager.ProcessImageQueue(m_udpServer.TextureSendLimit);
|
||||
}
|
||||
|
||||
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>
|
||||
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>
|
||||
//PacketEventDictionary packetEvents = new PacketEventDictionary();
|
||||
|
@ -172,6 +184,18 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||
m_asyncPacketHandling = config.GetBoolean("async_packet_handling", false);
|
||||
m_recvBufferSize = config.GetInt("client_socket_rcvbuf_size", 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);
|
||||
|
|
|
@ -355,8 +355,9 @@
|
|||
; already separated from packet handling with a queue, so this will only
|
||||
; affect whether networking internals such as packet decoding and
|
||||
; acknowledgement accounting are done synchronously or asynchronously
|
||||
async_packet_handling = false
|
||||
|
||||
;
|
||||
;async_packet_handling = false
|
||||
|
||||
; The client socket receive buffer size determines how many
|
||||
; incoming requests we can process; the default on .NET is 8192
|
||||
; which is about 2 4k-sized UDP datagrams. On mono this is
|
||||
|
@ -371,22 +372,26 @@
|
|||
; by the system's settings for the maximum client receive buffer
|
||||
; size (on linux systems you can set that with "sysctl -w
|
||||
; net.core.rmem_max=X")
|
||||
;
|
||||
;client_socket_rcvbuf_size = 8388608
|
||||
|
||||
; 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
|
||||
; 0, meaning no throttling at the scene level. The example given here is
|
||||
; 20 megabits
|
||||
;
|
||||
;scene_throttle_max_bps = 2621440
|
||||
|
||||
; 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
|
||||
; aggregate throttling on clients (only per-category throttling). The
|
||||
; example given here is 1.5 megabits
|
||||
;
|
||||
;client_throttle_max_bps = 196608
|
||||
|
||||
; Per-client bytes per second rates for the various throttle categories.
|
||||
; These are default values that will be overriden by clients
|
||||
;
|
||||
;resend_default = 12500
|
||||
;land_default = 500
|
||||
;wind_default = 500
|
||||
|
@ -399,6 +404,7 @@
|
|||
; Per-client maximum burst rates in bytes per second for the various
|
||||
; throttle categories. These are default values that will be overriden by
|
||||
; clients
|
||||
;
|
||||
;resend_limit = 18750
|
||||
;land_limit = 29750
|
||||
;wind_limit = 18750
|
||||
|
@ -407,6 +413,28 @@
|
|||
;texture_limit = 55750
|
||||
;asset_limit = 27500
|
||||
;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]
|
||||
; Controls whether the chat module is enabled. Default is true.
|
||||
|
@ -1365,36 +1393,6 @@
|
|||
;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]
|
||||
; This section controls how state updates are prioritized for each client
|
||||
; Valid values are Time, Distance, SimpleAngularDistance, and FrontBack
|
||||
|
|
Loading…
Reference in New Issue