If the content server client fails to open a storage session, keep retrying.

This behavior matches hldsupdatetool.
pull/8/head
Scott Ehlert 14 years ago
parent 5d4590e6cf
commit cd0014aab5

@ -14,6 +14,7 @@ namespace DepotDownloader
static class ContentDownloader
{
const string DEFAULT_DIR = "depots";
const int STORAGE_RETRY_COUNT = 500;
static Steam3Session steam3;
@ -165,22 +166,28 @@ namespace DepotDownloader
ContentServerClient csClient = new ContentServerClient();
csClient.Connect( contentServer );
ContentServerClient.StorageSession session = null;
try
{
session = csClient.OpenStorage( ( uint )depotId, ( uint )depotVersion, ( uint )cellId, credentials );
}
catch ( Steam2Exception ex )
{
Console.WriteLine( "Unable to open storage: " + ex.Message );
int retryCount = 0;
if ( steam3 != null )
steam3.Disconnect();
while ( session == null )
{
try
{
csClient.Connect( contentServer );
session = csClient.OpenStorage( ( uint )depotId, ( uint )depotVersion, ( uint )cellId, credentials );
}
catch ( Steam2Exception ex )
{
csClient.Disconnect();
retryCount++;
return;
if (retryCount > STORAGE_RETRY_COUNT)
{
if (steam3 != null)
steam3.Disconnect();
return;
}
}
}
using ( session )

Loading…
Cancel
Save