public override void Write(ProtoWriter dest, ref ProtoWriter.State state, object value)
 {
     ProtoWriter.WriteUInt16((ushort)(char)value, dest, ref state);
 }
Example #2
0
 public void Write(ref ProtoWriter.State state, object value)
 {
     state.WriteDouble((double)value);
 }
 void IRuntimeProtoSerializerNode.Write(ref ProtoWriter.State state, object value)
 {
     state.WriteType((Type)value);
 }
 void ISerializer <T> .Write(ref ProtoWriter.State state, T value)
 => Write(ref state, value);
Example #5
0
 void ISerializer <Duration> .Write(ref ProtoWriter.State state, Duration value)
 => WriteSecondsNanos(ref state, value.Seconds, value.Nanoseconds, false);
Example #6
0
 public void Write(ref ProtoWriter.State state, object value)
 {
     BclHelpers.WriteNetObject(ref state, value, options);
 }
 public void Write(ref ProtoWriter.State state, object value)
 {
     state.WriteString(value.ToString());
 }
 internal static bool TrySerializeRoot(Type type, TypeModel model, ref ProtoWriter.State state, object value)
 => Get(type).TrySerializeRoot(model, ref state, value);
 internal static bool TrySerializeAny(int fieldNumber, SerializerFeatures features, Type type, TypeModel model, ref ProtoWriter.State state, object value)
 => Get(type).TrySerializeAny(fieldNumber, features, model, ref state, value);
 protected override bool TrySerializeAny(int fieldNumber, SerializerFeatures features, TypeModel model, ref ProtoWriter.State state, object value)
 => false;
            protected override bool TrySerializeAny(int fieldNumber, SerializerFeatures features, TypeModel model, ref ProtoWriter.State state, object value)
            {
                var serializer = TypeModel.TryGetSerializer <T>(model);

                if (serializer == null)
                {
                    return(false);
                }
                // note this null-check is non-trivial; for value-type T it promotes the null to a default
                T typed = TypeHelper <T> .FromObject(value);

                CheckAnyAuxFlow(features, serializer);
                if ((features & SerializerFeatures.CategoryMessageWrappedAtRoot) == SerializerFeatures.CategoryMessageWrappedAtRoot)
                {
                    if (fieldNumber != TypeModel.ListItemTag)
                    {
                        ThrowHelper.ThrowInvalidOperationException($"Special root-like wrapping is limited to field {TypeModel.ListItemTag}");
                    }
                    state.WriteAsRoot <T>(typed, serializer);
                }
                else
                {
                    state.WriteAny <T>(fieldNumber, features, typed, serializer);
                }
                return(true);
            }
 protected override bool TrySerializeRoot(TypeModel model, ref ProtoWriter.State state, object value)
 => false;
Example #13
0
 public void Write(ref ProtoWriter.State state, object value)
 {
     state.WriteInt16((short)value);
 }
 public void Write(ProtoWriter dest, ref ProtoWriter.State state, object value)
 {
     ProtoWriter.WriteUInt32((uint)value, dest, ref state);
 }
Example #15
0
 public override void Write(ref ProtoWriter.State state, T value)
 => state.WriteBaseType <TBase>(value);
 public override void Write(ref ProtoWriter.State state, object value)
 {
     serializer(ref state, TypeHelper <T> .FromObject(value));
 }
Example #17
0
 void ISubTypeSerializer <T> .WriteSubType(ref ProtoWriter.State state, T value)
 => SerializeImpl(ref state, value);
 void ISerializer <T> .Write(ref ProtoWriter.State state, T value)
 {
     state.WriteBaseType <TBase>(value);
 }
Example #19
0
 void ISerializer <string> .Write(ref ProtoWriter.State state, string value) => state.WriteString(value);
 public override void Write(ref ProtoWriter.State state, object value)
 {
     state.WriteBaseType <TBase>(TypeHelper <T> .FromObject(value));
 }
Example #21
0
 public void Write(ProtoWriter dest, ref ProtoWriter.State state, object value)
 {
     ProtoWriter.WriteSByte((sbyte)value, dest, ref state);
 }
 void ISubTypeSerializer <T> .WriteSubType(ref ProtoWriter.State state, T value)
 {
     subTypeSerializer(ref state, value);
 }
 public void Write(ProtoWriter dest, ref ProtoWriter.State state, object value)
 {
     ProtoWriter.WriteString((string)value, dest, ref state);
 }
 public void Write(ref ProtoWriter.State state, object value)
 {
     state.WriteBytes((byte[])value);
 }
Example #25
0
 void ISerializer <Duration?> .Write(ref ProtoWriter.State state, Duration?value)
 => ((ISerializer <Duration>) this).Write(ref state, value.Value);
Example #26
0
 public override void Write(ProtoWriter dest, ref ProtoWriter.State state, object value)
 {
     Tail.Write(dest, ref state, ((Uri)value).OriginalString);
 }
 public abstract void Write(ProtoWriter dest, ref ProtoWriter.State state, object value);
Example #28
0
 public override void Write(ProtoWriter dest, ref ProtoWriter.State state, object value)
 {
     ProtoWriter.WriteFieldHeader(fieldNumber, wireType, dest, ref state);
     Tail.Write(dest, ref state, value);
 }
 internal override void Write(ref ProtoWriter.State state, int fieldNumber, WireType wireType, ImmutableSortedDictionary <TKey, TValue> values, in KeyValuePairSerializer <TKey, TValue> pairSerializer)
Example #30
0
 public override void Write(ref ProtoWriter.State state, object value)
 => state.WriteSubType <TChild>((TChild)value);