2025-02-14 17:45:49 +01:00
|
|
|
|
using Microsoft.ApplicationInsights.Channel;
|
|
|
|
|
|
using System.Threading.Channels;
|
2025-02-13 00:40:42 +01:00
|
|
|
|
|
|
|
|
|
|
namespace Core.Telemetry
|
|
|
|
|
|
{
|
2025-02-14 17:45:49 +01:00
|
|
|
|
public class MessageChannel : IMessageChannel<ITelemetry>
|
|
|
|
|
|
{
|
|
|
|
|
|
private readonly Channel<ITelemetry> _channel;
|
2025-02-13 00:40:42 +01:00
|
|
|
|
|
2025-02-14 17:45:49 +01:00
|
|
|
|
public MessageChannel()
|
|
|
|
|
|
{
|
|
|
|
|
|
_channel = Channel.CreateUnbounded<ITelemetry>();
|
|
|
|
|
|
}
|
2025-02-13 00:40:42 +01:00
|
|
|
|
|
2025-02-14 17:45:49 +01:00
|
|
|
|
public ChannelWriter<ITelemetry> Writer => _channel.Writer;
|
|
|
|
|
|
public ChannelReader<ITelemetry> Reader => _channel.Reader;
|
2025-02-13 00:40:42 +01:00
|
|
|
|
|
2025-02-14 17:45:49 +01:00
|
|
|
|
public void Dispose()
|
|
|
|
|
|
{
|
|
|
|
|
|
_channel.Writer.Complete();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-02-13 00:40:42 +01:00
|
|
|
|
}
|