Exemple #1
0
        void ISubTypeSerializer <T> .WriteSubType(ref ProtoWriter.State state, T value)
        {
            bool isFirst = Interlocked.Increment(ref _subSerializeCount) == 1;

            if (isFirst)
            {
                RuntimeTypeModel.OnDebugLog("Pre first sub-write", typeof(T));
            }
            subTypeSerializer(ref state, value);
            if (isFirst)
            {
                RuntimeTypeModel.OnDebugLog("Post first sub-write", typeof(T));
            }
        }
Exemple #2
0
        public override void Write(ref ProtoWriter.State state, object value)
        {
            bool isFirst = Interlocked.Increment(ref _serializeCount) == 1;

            if (isFirst)
            {
                RuntimeTypeModel.OnDebugLog("Pre first write", typeof(T));
            }
            state.WriteBaseType <TBase>(TypeHelper <T> .FromObject(value));
            if (isFirst)
            {
                RuntimeTypeModel.OnDebugLog("Post first write", typeof(T));
            }
        }
Exemple #3
0
        void ISerializer <T> .Write(ref ProtoWriter.State state, T value)
        {
            bool isFirst = Interlocked.Increment(ref _serializeCount) == 1;

            if (isFirst)
            {
                RuntimeTypeModel.OnDebugLog("Pre first write", typeof(T));
            }
            state.WriteBaseType <TBase>(value);
            if (isFirst)
            {
                RuntimeTypeModel.OnDebugLog("Post first write", typeof(T));
            }
        }
Exemple #4
0
        public override object Read(ref ProtoReader.State state, object value)
        {
            bool isFirst = Interlocked.Increment(ref _deserializeCount) == 1;

            if (isFirst)
            {
                RuntimeTypeModel.OnDebugLog("Pre first read", typeof(T));
            }
            value = state.ReadBaseType <TBase, T>(TypeHelper <T> .FromObject(value));
            if (isFirst)
            {
                RuntimeTypeModel.OnDebugLog("Post first read", typeof(T));
            }
            return(value);
        }
Exemple #5
0
        T ISerializer <T> .Read(ref ProtoReader.State state, T value)
        {
            bool isFirst = Interlocked.Increment(ref _deserializeCount) == 1;

            if (isFirst)
            {
                RuntimeTypeModel.OnDebugLog("Pre first read", typeof(T));
            }
            value = state.ReadBaseType <TBase, T>(value);
            if (isFirst)
            {
                RuntimeTypeModel.OnDebugLog("Post first read", typeof(T));
            }
            return(value);
        }
Exemple #6
0
        T ISubTypeSerializer <T> .ReadSubType(ref ProtoReader.State state, SubTypeState <T> value)
        {
            bool isFirst = Interlocked.Increment(ref _subDeserializeCount) == 1;

            if (isFirst)
            {
                RuntimeTypeModel.OnDebugLog("Pre first sub-read", typeof(T));
            }
            var ret = subTypeDeserializer(ref state, value);

            if (isFirst)
            {
                RuntimeTypeModel.OnDebugLog("Pre first sub-read", typeof(T));
            }
            return(ret);
        }