Esempio n. 1
0
        /// <summary>
        /// Retrievess data from message body. populates property dependant on data type
        /// </summary>
        private void GetData()
        {
            try
            {
                int dataTypePosition = TraciDataHelper.GetTraciInteger(_traciResponse.MessageBody, _traciResponse.MessageStart + 1) + _traciResponse.MessageStart + 5;
                switch (TraciDataHelper.GetTraciDataType(_traciResponse.MessageBody, dataTypePosition))
                {
                case TraciConstants.DataType.TYPE_DOUBLE:
                    DoubleResponse = TraciDataHelper.GetTraciDouble(_traciResponse.MessageBody, dataTypePosition + 1);
                    break;

                case TraciConstants.DataType.TYPE_STRINGLIST:
                    StringListResponse = TraciDataHelper.GetTracStringList(_traciResponse.MessageBody, dataTypePosition + 1);
                    break;

                case TraciConstants.DataType.TYPE_STRING:
                    StringResponse = TraciDataHelper.GetTraciString(_traciResponse.MessageBody, dataTypePosition + 1);
                    break;
                }
            }
            catch (Exception ex)
            {
                throw new SumoControllerException("Error retrieving data from Variable Traci data response", ex);
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Initialises class, retrieves header and main body from message
 /// </summary>
 /// <param name="response">Traci response message</param>
 public TraciResponseMessage(byte[] response)
 {
     MessageLength = TraciDataHelper.GetTraciInteger(response, 0);
     Command       = TraciDataHelper.GetTraciCommand(response, 5);
     ReadStatusHeader(response);
     SetMessageBody(response);
     SetMessageStart();
 }