IronPigeon.Relay.Controllers.InboxController.OneTimeInitializeAsync C# (CSharp) Method

OneTimeInitializeAsync() static private method

static private OneTimeInitializeAsync ( CloudStorageAccount azureAccount ) : Task
azureAccount CloudStorageAccount
return Task
        internal static async Task OneTimeInitializeAsync(CloudStorageAccount azureAccount)
        {
            var inboxTable = azureAccount.CreateCloudTableClient();

            var blobClient = azureAccount.CreateCloudBlobClient();
            var inboxContainer = blobClient.GetContainerReference(DefaultInboxContainerName);

            await Task.WhenAll(
                    inboxContainer.CreateContainerWithPublicBlobsIfNotExistAsync(),
                    inboxTable.GetTableReference(DefaultInboxTableName).CreateIfNotExistsAsync());

            var nowait = Task.Run(
                async delegate
                {
                    while (true)
                    {
                        await PurgeExpiredAsync(inboxContainer);
                        await Task.Delay(AzureStorageConfig.PurgeExpiredBlobsInterval);
                    }
                });
        }