///<summary>
        /// Reads and returns a ILogicalTimeInterval from the specified stream.
        ///</summary>
        ///<param name="reader"> the input stream to read from</param>
        ///<param name="dummy"> this parameter is not used</param>
        ///<returns> the decoded value</returns>
        ///<exception cref="System.IO.IOException"> if an error occurs</exception>
        public override object Deserialize(HlaEncodingReader reader, ref object dummy)
        {
            ILogicalTimeInterval decodedValue;

            try
            {
                decodedValue = logicalTimeIntervalFactory.Decode(reader.ReadHLAopaqueData(), 0);
                return(decodedValue);
            }
            catch (IOException ioe)
            {
                throw new FederateInternalError(ioe.ToString());
            }
        }
Example #2
0
        protected ILogicalTimeInterval ConvertToFederationLogicalTimeIntervalRepresentation(ILogicalTimeInterval timeInterval)
        {
            if (Federation != null)
            {
                ILogicalTimeIntervalFactory factory = Federation.LogicalTimeIntervalFactory;

                if (factory != null)
                {
                    byte[] timeIntervalByteArray = new byte[timeInterval.EncodedLength()];
                    timeInterval.Encode(timeIntervalByteArray, 0);

                    return(factory.Decode(timeIntervalByteArray, 0));
                }
                else
                {
                    return(timeInterval);
                }
            }
            else
            {
                return(timeInterval);
            }
        }