static void Main(string[] args) { const string channelName = "ChannelPC"; IMessagingFacade messagingFacade = new RedisMessagingFacade("localhost:7001"); var commands = new IMessageFunction[] { new PingCommand(messagingFacade), new FibonacciCommand(messagingFacade) }; foreach (var function in commands) { messagingFacade.StoreFunction(function); } Console.WriteLine("Producer Mode"); Console.WriteLine("Enter p to ping , enter f {number} to fibonacci calculation , else it will quit: "); messagingFacade.SubscribeFunction(channelName, new ConsoleWriteFunction()); string command; while ((command = Console.ReadLine()) != "") { messagingFacade.Send(channelName, command); } Console.WriteLine("Press anything to exit"); Console.ReadLine(); }
public void SubscribeFunction(string channel, IMessageFunction runningFunction) { ISubscriber subscriber = GetSubscriber(); subscriber.Subscribe(channel, (channel, value) => { runningFunction.Run(channel, value); }); }
static void Main() { const string channelName = "ChannelPC"; IMessagingFacade messagingFacade = new RedisMessagingFacade("localhost:7001"); var actions = new IMessageFunction[] { new PongFunction(messagingFacade), new FibonacciFunction(messagingFacade) }; foreach (var function in actions) { messagingFacade.StoreFunction(function); } Console.WriteLine("Consumer Mode"); messagingFacade.SubscribeStore(channelName, channelName); Console.WriteLine("Press anything to exit"); Console.ReadLine(); }
public void StoreFunction(IMessageFunction runningFunction) { functionStore.Add(runningFunction); }