public ConsumerWorker(IMessageQueue queue, IMessageStrategy messageStrategy, IRepository <Message> repository, ILogger <ConsumerWorker> logger) { this.queue = queue; this.messageStrategy = messageStrategy; this.repository = repository; this.logger = logger; }
public IMessageStrategy RetrieveMessageStrategy(IMessage message) { IMessageStrategy strategy = null; this.messageStrategies.TryGetValue(message.GetType(), out strategy); return(strategy); }
public List <string> DecodeMessageToList(byte[] message) { List <string> decodedMessage = new List <string>(); decodedMessage.Clear(); IMessageStrategy str = null; switch (message[0]) { case (byte)Constants.MessageType.MESSTYPE_LOCATION: str = GetMessageStrategy(Constants.MessageType.MESSTYPE_LOCATION); decodedMessage = str.Decode(message).ToList(); break; case (byte)Constants.MessageType.MESSTYPE_ALERT: str = GetMessageStrategy(Constants.MessageType.MESSTYPE_ALERT); decodedMessage = str.Decode(message).ToList(); break; case (byte)Constants.MessageType.MESSTYPE_EVENT: str = GetMessageStrategy(Constants.MessageType.MESSTYPE_EVENT); decodedMessage = str.Decode(message).ToList(); break; case (byte)Constants.MessageType.MESSTYPE_ELS95: str = GetMessageStrategy(Constants.MessageType.MESSTYPE_ELS95); decodedMessage = str.Decode(message).ToList(); break; case (byte)Constants.MessageType.MESSTYPE_MODE: str = GetMessageStrategy(Constants.MessageType.MESSTYPE_MODE); decodedMessage = str.Decode(message).ToList(); break; //case (byte)Constants.MessageType.MESSTYPE_FILEDESC: // str = GetMessageStrategy(Constants.MessageType.MESSTYPE_FILEDESC); // decodedMessage = str.Decode(message).ToList(); // break; case (byte)Constants.MessageType.MESSTYPE_EHE2: str = GetMessageStrategy(Constants.MessageType.MESSTYPE_EHE2); decodedMessage = str.Decode(message).ToList(); break; default: decodedMessage.Add("Message type Error"); break; } return(decodedMessage); }
public void ExecuteStrategy(IMessage message, IPaxosRoleState currentState) { IMessageStrategy messageStrategy = this.RetrieveMessageStrategy(message); if (messageStrategy == null) { return; } MessageStrategyExecuteArg <IMessage> arg = new MessageStrategyExecuteArg <IMessage> { RoleState = currentState, Message = message }; messageStrategy.Execute(arg); }
public Message(IMessageStrategy strategy) { this.Strategy = strategy; }
public void AddStrategy(Type t, IMessageStrategy strategy) { this.messageStrategies.Add(t, strategy); }
public CompositeMessageStrategy( IMessageStrategy s1, IMessageStrategy s2) { _s1 = s1; _s2 = s2; }
public MessageContext(IMessageStrategy strategy) { this.messageStrategy = strategy; }