Commit 5d2536ea authored by justcoding121's avatar justcoding121

Fix async causing performance issues

parent 3a41b1d3
......@@ -39,7 +39,7 @@ namespace Titanium.Web.Proxy.Helpers
var lastChar = default(char);
var buffer = new byte[1];
while (this.stream.Read(buffer, 0, 1) > 0)
while ((await this.stream.ReadAsync(buffer, 0, 1)) > 0)
{
if (lastChar == '\r' && buffer[0] == '\n')
{
......
......@@ -233,6 +233,7 @@ namespace Titanium.Web.Proxy
Dispose(client, clientStream, clientStreamReader, clientStreamWriter, null);
break;
}
#endif
args.WebSession.Request.RequestUri = httpRemoteUri;
......@@ -269,7 +270,7 @@ namespace Titanium.Web.Proxy
}
//construct the web request that we are going to issue on behalf of the client.
connection = await TcpConnectionManager.GetClient(args.WebSession.Request.RequestUri.Host, args.WebSession.Request.RequestUri.Port, args.IsHttps, version).ConfigureAwait(false);
connection = await TcpConnectionManager.GetClient(args.WebSession.Request.RequestUri.Host, args.WebSession.Request.RequestUri.Port, args.IsHttps, version).ConfigureAwait(false);
args.WebSession.Request.RequestLocked = true;
......@@ -343,6 +344,8 @@ namespace Titanium.Web.Proxy
return;
}
await TcpConnectionManager.ReleaseClient(connection);
// read the next request
httpCmd = await clientStreamReader.ReadLineAsync().ConfigureAwait(false);
......@@ -355,8 +358,6 @@ namespace Titanium.Web.Proxy
}
if (connection!=null)
await TcpConnectionManager.ReleaseClient(connection);
}
private static async Task WriteConnectResponse(StreamWriter clientStreamWriter, Version httpVersion)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment