Apache.NMS.ActiveMQ.OpenWire.BaseDataStreamMarshaller.LooseMarshalBrokerError C# (CSharp) Method

LooseMarshalBrokerError() protected method

protected LooseMarshalBrokerError ( OpenWireFormat wireFormat, Apache.NMS.ActiveMQ.Commands.BrokerError o, BinaryWriter dataOut ) : void
wireFormat OpenWireFormat
o Apache.NMS.ActiveMQ.Commands.BrokerError
dataOut System.IO.BinaryWriter
return void
        protected void LooseMarshalBrokerError(
            OpenWireFormat wireFormat,
            BrokerError o,
            BinaryWriter dataOut)
        {
            dataOut.Write(o!=null);
            if (o!=null)
            {
                LooseMarshalString(o.ExceptionClass, dataOut);
                LooseMarshalString(o.Message, dataOut);
                if (wireFormat.StackTraceEnabled)
                {
                    StackTraceElement[] stackTrace = o.StackTraceElements;
                    dataOut.Write((short) stackTrace.Length);

                    for (int i = 0; i < stackTrace.Length; i++)
                    {
                        StackTraceElement element = stackTrace[i];
                        LooseMarshalString(element.ClassName, dataOut);
                        LooseMarshalString(element.MethodName, dataOut);
                        LooseMarshalString(element.FileName, dataOut);
                        dataOut.Write(element.LineNumber);
                    }
                    LooseMarshalBrokerError(wireFormat, o.Cause, dataOut);
                }
            }
        }