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

TightMarshalString2() public static method

public static TightMarshalString2 ( String value, BinaryWriter dataOut, BooleanStream bs ) : void
value String
dataOut System.IO.BinaryWriter
bs BooleanStream
return void
        public static void TightMarshalString2(String value, BinaryWriter dataOut, BooleanStream bs)
        {
            if (bs.ReadBoolean())
            {
                // If we verified it only holds ascii values
                if (bs.ReadBoolean())
                {
                    dataOut.Write((short) value.Length);
                    // now lets write the bytes
                    char[] chars = value.ToCharArray();
                    for (int i = 0; i < chars.Length; i++)
                    {
                        dataOut.Write((byte)(chars[i]&0xFF00>>8));
                    }
                }
                else
                {
                    dataOut.Write(value);
                }
            }
        }