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

21 lines
936 B
C#

using KLHZ.Trader.Core.Contracts.Messaging.Dtos.Interfaces;
using System.Threading.Channels;
namespace KLHZ.Trader.Core.Contracts.Messaging.Interfaces
{
public interface IDataBus
{
public bool AddChannel(string key, Channel<IOrderbook> channel);
public bool AddChannel(string key, Channel<IProcessedPrice> channel);
public bool AddChannel(string key, Channel<INewPrice> channel);
public bool AddChannel(string key, Channel<ITradeCommand> channel);
public bool AddChannel(string key, Channel<IMessage> channel);
public bool AddChannel(string key, Channel<INewCandle> channel);
public Task Broadcast(INewPrice newPriceMessage);
public Task Broadcast(ITradeCommand command);
public Task Broadcast(INewCandle command);
public Task Broadcast(IProcessedPrice command);
public Task Broadcast(IOrderbook orderbook);
}
}