コード例 #1
0
        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));
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        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);
        }