private static void SerializeValue(BinaryWriter binaryWriter, object value, SerializationMetadata metadata) { ISerializator ser; if (value != null) { ser = SerializationMap.GetSerializator(value.GetType().GetTypeInfo()); } else { value = Null; ser = SerializationMap.GetSerializator(NullTypeInfo); } ser.Serialize(binaryWriter, value, metadata); }
// ReSharper disable once MethodOverloadWithOptionalParameter internal static object Deserialize(IByteBuffer buffer, SerializationMetadata metadata) { if (metadata != null) { ISerializator ser; if (buffer.GetUnsignedIntLE(buffer.ReaderIndex) == TgZipPackageId) { buffer.SkipBytes(4); ser = SerializationMap.GetSerializator(typeof(TgZipPacked).GetTypeInfo()); } else { ser = SerializationMap.GetSerializator(metadata.PropertyTypeInfo); } return(ser.Deserialize(buffer, metadata)); } return(Deserialize(buffer, typeof(IObject).GetTypeInfo())); }
internal static void Serialize(object obj, IByteBuffer buffer, SerializationMetadata metadata = null) { var ser = SerializationMap.GetSerializator(obj.GetType().GetTypeInfo()); ser.Serialize(obj, buffer, metadata); }