Wire.ValueSerializers.ObjectSerializer.WriteManifest C# (CSharp) Method

WriteManifest() public method

public WriteManifest ( Stream stream, SerializerSession session ) : void
stream Stream
session SerializerSession
return void
        public override void WriteManifest(Stream stream, SerializerSession session)
        {
            ushort typeIdentifier;
            if (session.ShouldWriteTypeManifest(Type, out typeIdentifier))
            {
                session.TrackSerializedType(Type);

                var manifestToWrite = session.Serializer.Options.VersionTolerance
                    ? _manifestWithVersionInfo
                    : _manifest;

                stream.Write(manifestToWrite);
            }
            else
            {
                stream.WriteByte(ManifestIndex);
                UInt16Serializer.WriteValueImpl(stream, typeIdentifier, session);
            }
        }