public async Task <IActionResult> FetchInboxAsync(string agentId) { var context = await _agentLoader.LoadAgentForWallet(agentId); var inbox1 = await edgeClientService.FetchInboxAsync(context); foreach (var inboxItem in inbox1.unprocessedItems) { var packedMessage = new PackedMessageContext(inboxItem.Data); var unpacked = await CryptoUtils.UnpackAsync(context.Wallet, packedMessage.Payload); } return(Ok(inbox1.unprocessedItems)); }
public async Task FetchInbox() { try { var(processCount, inboxItemMessage) = await edgeClientService.FetchInboxAsync(agentContext); foreach (var item in inboxItemMessage) { Console.WriteLine($"Message[{item.Id}] = {item.Data}"); } Console.Write("Fetch inbox completed."); } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.ReadLine(); }
public async Task <int> FetchCloudMessagesAsync() { var messageCount = 0; try { await slim.WaitAsync(); await serviceClient.FetchInboxAsync(await agentProvider.GetContextAsync()) .ConfigureAwait(false); } catch (Exception e) { Debug.WriteLine(e); logger.LogError(e, "Couldn't retrieve messages"); } finally { slim.Release(); } Console.WriteLine($@"{messageCount} were processed."); return(messageCount); }