39 lines
1.0 KiB
C#
Raw Normal View History

2024-09-30 17:10:43 +08:00
using System;
using JiShe.CollectBus.Protocol.Contracts.Interfaces;
2024-10-08 14:41:41 +08:00
using JiShe.CollectBus.Protocol.Contracts.Models;
2024-09-30 17:10:43 +08:00
using Microsoft.Extensions.Caching.Distributed;
2024-10-12 23:42:15 +08:00
using TouchSocket.Sockets;
2024-09-30 17:10:43 +08:00
namespace JiShe.CollectBus.Protocol.Contracts.Abstracts
{
public abstract class BaseProtocolPlugin:IProtocolPlugin
{
private readonly IDistributedCache _cache;
protected BaseProtocolPlugin(IDistributedCache cache)
{
_cache = cache;
}
2024-10-08 14:41:41 +08:00
public abstract ProtocolInfo Get();
2024-09-30 17:10:43 +08:00
2024-10-22 20:57:26 +08:00
public abstract void Received(ITcpSessionClient client, ReceivedDataEventArgs e);
2024-09-30 17:10:43 +08:00
public abstract void Send();
public void Load()
{
var result = _cache.GetString("myKey");
if (result == null)
{
result = "Calculated Data";
_cache.SetString("myKey", result, new DistributedCacheEntryOptions
{
AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(10)
});
}
}
}
}