Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ReturnHttp11Connection()

void System.Net.Http.HttpConnectionPool.ReturnHttp11Connection ( HttpConnection connection,
bool isNewConnection = false )
inline

Definition at line 1367 of file HttpConnectionPool.cs.

1368 {
1369 if (System.Net.NetEventSource.Log.IsEnabled())
1370 {
1371 connection.Trace($"{"isNewConnection"}={isNewConnection}", "ReturnHttp11Connection");
1372 }
1373 if (!isNewConnection && CheckExpirationOnReturn(connection))
1374 {
1375 if (System.Net.NetEventSource.Log.IsEnabled())
1376 {
1377 connection.Trace("Disposing HTTP/1.1 connection return to pool. Connection lifetime expired.", "ReturnHttp11Connection");
1378 }
1379 connection.Dispose();
1380 return;
1381 }
1382 lock (SyncObj)
1383 {
1384 if (isNewConnection)
1385 {
1387 }
1388 if (_http11RequestQueue.TryDequeueNextRequest(connection))
1389 {
1390 if (System.Net.NetEventSource.Log.IsEnabled())
1391 {
1392 connection.Trace("Dequeued waiting HTTP/1.1 request.", "ReturnHttp11Connection");
1393 }
1394 return;
1395 }
1396 if (!_disposed)
1397 {
1398 _availableHttp11Connections.Add(connection);
1399 if (System.Net.NetEventSource.Log.IsEnabled())
1400 {
1401 connection.Trace("Put connection in pool.", "ReturnHttp11Connection");
1402 }
1403 return;
1404 }
1405 if (System.Net.NetEventSource.Log.IsEnabled())
1406 {
1407 connection.Trace("Disposing connection returned to pool. Pool was disposed.", "ReturnHttp11Connection");
1408 }
1409 }
1410 connection.Dispose();
1411 }
void Add(TKey key, TValue value)
bool CheckExpirationOnReturn(HttpConnectionBase connection)
readonly List< HttpConnection > _availableHttp11Connections
RequestQueue< HttpConnection > _http11RequestQueue
static readonly System.Net.NetEventSource Log

References System.Net.Http.HttpConnectionPool._availableHttp11Connections, System.Net.Http.HttpConnectionPool._disposed, System.Net.Http.HttpConnectionPool._http11RequestQueue, System.Net.Http.HttpConnectionPool._pendingHttp11ConnectionCount, System.Collections.Generic.Dictionary< TKey, TValue >.Add(), System.Net.Http.HttpConnectionPool.CheckExpirationOnReturn(), System.Net.Http.HttpConnection.Dispose(), System.Net.NetEventSource.Log, System.Net.Http.HttpConnectionPool.SyncObj, and System.Net.Http.HttpConnection.Trace().

Referenced by System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(), System.Net.Http.HttpConnectionPool.HandleHttp11Downgrade(), and System.Net.Http.HttpConnection.ReturnConnectionToPool().