public static MessengerInfo DecodeMessengerInitMsg(IList <Byte[]> message) { var msgrInfo = new MessengerInfo { Type = (MessengerType)message[NodeInfoIndex][NodeTypeIndex], Device = (DeviceType)message[NodeInfoIndex][DeviceTypeIndex], Protocol = (TransportProtocol)message[NodeInfoIndex][TransportProtocolIndex], Name = Encoding.ASCII.GetString(message[NodeNameIndex]), DeviceName = Encoding.ASCII.GetString(message[DeviceNameIndex]), Id = message[MessengerIdIndex][0] }; if (msgrInfo.Type == MessengerType.Raw || msgrInfo.Type == MessengerType.None) { return(msgrInfo); } Int32 sectionsNumber = (Int32)msgrInfo.Type; var parts = new List <MessagePartDescription> [sectionsNumber]; Byte[] name; MessagePartDescription msgPart; Int32 j = TypesDescriptionIndex; for (Int32 i = 0; i < sectionsNumber; i++) { parts[i] = new List <MessagePartDescription>(); while (j < message.Count && (name = message[j]).Length != 0) { msgPart = new MessagePartDescription { Name = Encoding.ASCII.GetString(name), Type = (MessageValueType)message[j + 1][0] }; j += 2; parts[i].Add(msgPart); } j++; } msgrInfo.MessageDescriptions = parts; return(msgrInfo); }
public ServiceMessenger(MessengerInfo info) : base(info) { m_goalBuffer = new BufferBlock <Message>(); m_creator = InstanceFactoryCreator.Instance.CreateFactory <G>(); }
public MockMessenger(MessengerInfo info) : base(info) { }
public RawMessenger(MessengerInfo info) : base(info) =>
public ActionMessenger(MessengerInfo info) : base(info) { m_feedbackBuffer = new BufferBlock <Message>(); m_creator = InstanceFactoryCreator.Instance.CreateFactory <F>(); }
public TopicMessenger(MessengerInfo info) : base(info) { m_messageBuffer = new BufferBlock <Message>(); m_creator = InstanceFactoryCreator.Instance.CreateFactory <M>(); }