Exemplo n.º 1
0
        public void Parse()
        {
            _token = 0;

            MessageToModelConfig cfg = GetMessageToModelConfig();

            _modelCfg    = cfg.ModelCfg;
            _msgCfg      = _modelCfg.MessageCfg;
            ProcessModel = cfg.ProcessModel;

            CheckMessageLength();
            ParseHeaders();
            ParseFields();
            ConvertToModel();
        }
Exemplo n.º 2
0
        private MessageToModelConfig GetMessageToModelConfig()
        {
            MessageToModelConfig cfg = (_workerThread != null && _workerThread.MessageToModelConfig != null)
                ? _workerThread.MessageToModelConfig
                : MessageConfigs.GetQulifiedMessageToModel(_bytes);

            if (cfg == null)
            {
                byte[] bytes2 = new byte[config.MaskConfig.MinBytesCountToCheck < _bytes.Length
                    ? config.MaskConfig.MinBytesCountToCheck : _bytes.Length];
                Array.Copy(_bytes, bytes2, bytes2.Length);
                throw new MessageParserException("No matching config for this message. Check message-to-model elements in configuration file."
                                                 + Environment.NewLine
                                                 + bytes2.Length + " first bytes of message: " + MessageUtility.HexToReadableString(bytes2));
            }
            return(cfg);
        }