remove LongPoll type and queues. Events should now have reduced latency also. About previus commit, it maybe a modified ingen-e3s-v1.33 script that is broken, and not the original version, can't tell
parent
319ccf17c8
commit
a2c2456076
|
@ -50,7 +50,7 @@ namespace OpenSim.Framework.Servers.HttpServer
|
||||||
|
|
||||||
public enum EventType : int
|
public enum EventType : int
|
||||||
{
|
{
|
||||||
LongPoll = 0,
|
Poll = 0,
|
||||||
LslHttp = 1,
|
LslHttp = 1,
|
||||||
Inventory = 2,
|
Inventory = 2,
|
||||||
Texture = 3,
|
Texture = 3,
|
||||||
|
@ -82,7 +82,7 @@ namespace OpenSim.Framework.Servers.HttpServer
|
||||||
NoEvents = pNoEvents;
|
NoEvents = pNoEvents;
|
||||||
Id = pId;
|
Id = pId;
|
||||||
TimeOutms = pTimeOutms;
|
TimeOutms = pTimeOutms;
|
||||||
Type = EventType.LongPoll;
|
Type = EventType.Poll;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,7 +48,6 @@ namespace OpenSim.Framework.Servers.HttpServer
|
||||||
|
|
||||||
private Dictionary<PollServiceHttpRequest, Queue<PollServiceHttpRequest>> m_bycontext;
|
private Dictionary<PollServiceHttpRequest, Queue<PollServiceHttpRequest>> m_bycontext;
|
||||||
private BlockingQueue<PollServiceHttpRequest> m_requests = new BlockingQueue<PollServiceHttpRequest>();
|
private BlockingQueue<PollServiceHttpRequest> m_requests = new BlockingQueue<PollServiceHttpRequest>();
|
||||||
private static Queue<PollServiceHttpRequest> m_slowRequests = new Queue<PollServiceHttpRequest>();
|
|
||||||
private static Queue<PollServiceHttpRequest> m_retryRequests = new Queue<PollServiceHttpRequest>();
|
private static Queue<PollServiceHttpRequest> m_retryRequests = new Queue<PollServiceHttpRequest>();
|
||||||
|
|
||||||
private uint m_WorkerThreadCount = 0;
|
private uint m_WorkerThreadCount = 0;
|
||||||
|
@ -56,11 +55,9 @@ namespace OpenSim.Framework.Servers.HttpServer
|
||||||
private Thread m_retrysThread;
|
private Thread m_retrysThread;
|
||||||
|
|
||||||
private bool m_running = false;
|
private bool m_running = false;
|
||||||
private int slowCount = 0;
|
|
||||||
|
|
||||||
private SmartThreadPool m_threadPool;
|
private SmartThreadPool m_threadPool;
|
||||||
|
|
||||||
|
|
||||||
public PollServiceRequestManager(
|
public PollServiceRequestManager(
|
||||||
BaseHttpServer pSrv, bool performResponsesAsync, uint pWorkerThreadCount, int pTimeout)
|
BaseHttpServer pSrv, bool performResponsesAsync, uint pWorkerThreadCount, int pTimeout)
|
||||||
{
|
{
|
||||||
|
@ -80,7 +77,6 @@ namespace OpenSim.Framework.Servers.HttpServer
|
||||||
startInfo.ThreadPoolName = "PoolService";
|
startInfo.ThreadPoolName = "PoolService";
|
||||||
|
|
||||||
m_threadPool = new SmartThreadPool(startInfo);
|
m_threadPool = new SmartThreadPool(startInfo);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Start()
|
public void Start()
|
||||||
|
@ -163,18 +159,8 @@ namespace OpenSim.Framework.Servers.HttpServer
|
||||||
public void EnqueueInt(PollServiceHttpRequest req)
|
public void EnqueueInt(PollServiceHttpRequest req)
|
||||||
{
|
{
|
||||||
if (m_running)
|
if (m_running)
|
||||||
{
|
|
||||||
if (req.PollServiceArgs.Type != PollServiceEventArgs.EventType.LongPoll)
|
|
||||||
{
|
|
||||||
m_requests.Enqueue(req);
|
m_requests.Enqueue(req);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
lock (m_slowRequests)
|
|
||||||
m_slowRequests.Enqueue(req);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void CheckRetries()
|
private void CheckRetries()
|
||||||
{
|
{
|
||||||
|
@ -188,17 +174,6 @@ namespace OpenSim.Framework.Servers.HttpServer
|
||||||
while (m_retryRequests.Count > 0 && m_running)
|
while (m_retryRequests.Count > 0 && m_running)
|
||||||
m_requests.Enqueue(m_retryRequests.Dequeue());
|
m_requests.Enqueue(m_retryRequests.Dequeue());
|
||||||
}
|
}
|
||||||
slowCount++;
|
|
||||||
if (slowCount >= 10)
|
|
||||||
{
|
|
||||||
slowCount = 0;
|
|
||||||
|
|
||||||
lock (m_slowRequests)
|
|
||||||
{
|
|
||||||
while (m_slowRequests.Count > 0 && m_running)
|
|
||||||
m_requests.Enqueue(m_slowRequests.Dequeue());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -231,13 +206,6 @@ namespace OpenSim.Framework.Servers.HttpServer
|
||||||
PollServiceHttpRequest wreq;
|
PollServiceHttpRequest wreq;
|
||||||
m_retryRequests.Clear();
|
m_retryRequests.Clear();
|
||||||
|
|
||||||
lock (m_slowRequests)
|
|
||||||
{
|
|
||||||
while (m_slowRequests.Count > 0)
|
|
||||||
m_requests.Enqueue(m_slowRequests.Dequeue());
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
while (m_requests.Count() > 0)
|
while (m_requests.Count() > 0)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
Loading…
Reference in New Issue