klhztrader/KLHZ.Trader.Core.Contracts/Messaging/Interfaces/IDataBus.cs

20 lines
894 B
C#

using KLHZ.Trader.Core.Contracts.Messaging.Dtos;
using KLHZ.Trader.Core.Contracts.Messaging.Dtos.Intarfaces;
using System.Threading.Channels;
namespace KLHZ.Trader.Core.Contracts.Messaging.Interfaces
{
public interface IDataBus
{
public bool AddChannel(string key, Channel<IProcessedPrice> channel);
public bool AddChannel(string key, Channel<INewPrice> channel);
public bool AddChannel(string key, Channel<TradeCommand> channel);
public bool AddChannel(string key, Channel<IMessage> channel);
public bool AddChannel(string key, Channel<INewCandle> channel);
public Task BroadcastNewPrice(INewPrice newPriceMessage);
public Task BroadcastCommand(TradeCommand command);
public Task BroadcastNewCandle(INewCandle command);
public Task BroadcastProcessedPrice(IProcessedPrice command);
}
}