MessageCallBackInfoInMemoryStore.cs
1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
using Pole.ReliableMessage.Abstraction;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
namespace Pole.ReliableMessage.Messaging.CallBack
{
public class MessageCallBackInfoInMemoryStore : Dictionary<string, MessageCallBackInfo>, IMessageCallBackInfoStore
{
private readonly ILogger<MessageCallBackInfoInMemoryStore> _logger;
public MessageCallBackInfoInMemoryStore(ILogger<MessageCallBackInfoInMemoryStore> logger)
{
_logger = logger;
}
public async Task Add(MessageCallBackInfo messageCallBackInfo)
{
await Task.CompletedTask;
if (TryGetValue(messageCallBackInfo.MessageTypeId, out MessageCallBackInfo info))
{
throw new Exception($"Add MessageCallBackInfo Faild , MessageCallBackInfo Already Added ,MessageTypeId:{messageCallBackInfo.MessageTypeId}");
}
Add(messageCallBackInfo.MessageTypeId, messageCallBackInfo);
_logger.LogDebug($"Add MessageCallBackInfo Success ,MessageTypeId:{messageCallBackInfo.MessageTypeId}");
}
public async Task<MessageCallBackInfo> Get(string messageTypeId)
{
await Task.CompletedTask;
if (TryGetValue(messageTypeId, out MessageCallBackInfo info))
{
return info;
}
return null;
}
}
}