mirror of
https://github.com/SteamRE/DepotDownloader.git
synced 2026-10-19 15:51:50 +00:00
If the content server client fails to open a storage session, keep retrying.
This behavior matches hldsupdatetool.
This commit is contained in:
1 parent
5d4590e6cf
commit
cd0014aab5
1 file changed
+20
-13
@@ -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 )
|
||||
|
||||
Reference in new issue
Block a user