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

18 lines
734 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<ITradeDataItem> channel);
public bool AddChannel(string key, Channel<IMessage> channel);
public bool AddChannel(string key, Channel<ITradeCommand> channel);
public Task Broadcast(ITradeDataItem newPriceMessage);
public Task Broadcast(IOrderbook orderbook);
public Task Broadcast(IMessage message);
public Task Broadcast(ITradeCommand message);
}
}