Akka.Interfaced.SlimSocket.ExceptionSerializer.Serialize C# (CSharp) Method

Serialize() public method

public Serialize ( Stream dest, Exception value ) : void
dest Stream
value System.Exception
return void
        public void Serialize(Stream dest, Exception value)
        {
            if (dest == null)
                throw new ArgumentNullException("dest");
            if (value == null)
                throw new ArgumentNullException("value");

            var type = value.GetType();
            int typeAlias = _data.TypeTable.GetAlias(type);
            var typeSerializable = _data.MessageSerializer.CanSerialize(type);

            dest.WriteByte((byte)((typeAlias != 0 ? 1 : 0) | (typeSerializable ? 2 : 0)));

            if (typeAlias != 0)
                dest.Write32BitEncodedInt(typeAlias);
            else
                dest.WriteString(type.FullName);

            if (typeSerializable)
            {
                var lengthMarker = new StreamLengthMarker(dest, true);
                _data.MessageSerializer.Serialize(dest, value);
                lengthMarker.WriteLength(true);
            }
        }