GSF.Diagnostics.LogMessageSaveHelper.SaveString C# (CSharp) Method

SaveString() public method

public SaveString ( Stream stream, string value ) : void
stream Stream
value string
return void
        public void SaveString(Stream stream, string value)
        {
            if (value == null)
                throw new ArgumentNullException(nameof(value));

            if (value.Length == 0)
            {
                stream.Write((byte)3);
            }
            else if (m_isSimple)
            {
                stream.Write((byte)0);
                stream.Write(value);
            }
            else
            {
                int lookupId;

                if (m_stringSaveLookup.TryGetValue(value, out lookupId))
                {
                    stream.Write((byte)1);
                    stream.Write(lookupId);
                }
                else
                {
                    lookupId = m_stringSaveLookup.Count;
                    stream.Write((byte)4);
                    stream.Write(value);
                    m_stringSaveLookup.Add(value, lookupId);
                }
            }
        }

Usage Example

Ejemplo n.º 1
0
        /// <summary>
        /// Writes the log data to the stream
        /// </summary>
        /// <param name="stream"></param>
        /// <param name="saveHelper"></param>
        internal void Save(Stream stream, LogMessageSaveHelper saveHelper = null)
        {
            if (saveHelper == null)
            {
                saveHelper = LogMessageSaveHelper.Create(true);
            }

            stream.Write((byte)4);
            saveHelper.SaveEventPublisherDetails(stream, EventPublisherDetails);
            saveHelper.SaveStackMessages(stream, InitialStackMessages);
            saveHelper.SaveStackTrace(stream, InitialStackTrace);
            saveHelper.SaveStackMessages(stream, CurrentStackMessages);
            saveHelper.SaveStackTrace(stream, CurrentStackTrace);
            stream.Write(UtcTime);
            LogMessageAttributes.Save(stream);
            saveHelper.SaveString(stream, Message);
            saveHelper.SaveString(stream, Details);
            saveHelper.SaveString(stream, ExceptionString);
            stream.Write(ManagedThreadID);
            stream.Write(PreviousFirstChanceExceptionSequenceNumber);
        }
All Usage Examples Of GSF.Diagnostics.LogMessageSaveHelper::SaveString