Example #1
0
        public int CalculateSize()
        {
            var size = 0;

            if (signatureInfo_ != null)
            {
                size += 1 + CodedOutputStream.ComputeMessageSize(SignatureInfo);
            }
            if (HasBatchNum)
            {
                size += 1 + CodedOutputStream.ComputeInt32Size(BatchNum);
            }
            if (HasBatchSize)
            {
                size += 1 + CodedOutputStream.ComputeInt32Size(BatchSize);
            }
            if (HasSignature)
            {
                size += 1 + CodedOutputStream.ComputeBytesSize(Signature);
            }
            if (_unknownFields != null)
            {
                size += _unknownFields.CalculateSize();
            }
            return(size);
        }
 public int CalculateSize() {
     int size = 0;
     if (KeyData.Length != 0) {
         size += 1 + CodedOutputStream.ComputeBytesSize(KeyData);
     }
     if (RollingStartIntervalNumber != 0) {
         size += 1 + CodedOutputStream.ComputeUInt32Size(RollingStartIntervalNumber);
     }
     if (RollingPeriod != 0) {
         size += 1 + CodedOutputStream.ComputeUInt32Size(RollingPeriod);
     }
     if (TransmissionRiskLevel != 0) {
         size += 1 + CodedOutputStream.ComputeInt32Size(TransmissionRiskLevel);
     }
     size += visitedCountries_.CalculateSize(_repeated_visitedCountries_codec);
     if (Origin.Length != 0) {
         size += 1 + CodedOutputStream.ComputeStringSize(Origin);
     }
     if (ReportType != global::Iks.Protobuf.EfgsReportType.Unknown) {
         size += 1 + CodedOutputStream.ComputeEnumSize((int) ReportType);
     }
     if (DaysSinceOnsetOfSymptoms != 0) {
         size += 1 + CodedOutputStream.ComputeSInt32Size(DaysSinceOnsetOfSymptoms);
     }
     if (_unknownFields != null) {
         size += _unknownFields.CalculateSize();
     }
     return size;
 }
        public int CalculateSize()
        {
            int size = 0;

            if (HasKeyData)
            {
                size += 1 + CodedOutputStream.ComputeBytesSize(KeyData);
            }
            if (HasTransmissionRiskLevel)
            {
                size += 1 + CodedOutputStream.ComputeInt32Size(TransmissionRiskLevel);
            }
            if (HasRollingStartIntervalNumber)
            {
                size += 1 + CodedOutputStream.ComputeInt32Size(RollingStartIntervalNumber);
            }
            if (HasRollingPeriod)
            {
                size += 1 + CodedOutputStream.ComputeInt32Size(RollingPeriod);
            }
            if (HasReportType)
            {
                size += 1 + CodedOutputStream.ComputeEnumSize((int)ReportType);
            }
            if (HasDaysSinceOnsetOfSymptoms)
            {
                size += 1 + CodedOutputStream.ComputeSInt32Size(DaysSinceOnsetOfSymptoms);
            }
            if (_unknownFields != null)
            {
                size += _unknownFields.CalculateSize();
            }
            return(size);
        }
        public int CalculateSize()
        {
            var size = 0;

            if (HasKeyData)
            {
                size += 1 + CodedOutputStream.ComputeBytesSize(KeyData);
            }

            if (HasTransmissionRiskLevel)
            {
                size += 1 + CodedOutputStream.ComputeInt32Size(TransmissionRiskLevel);
            }

            if (HasRollingStartIntervalNumber)
            {
                size += 1 + CodedOutputStream.ComputeInt32Size(RollingStartIntervalNumber);
            }

            if (HasRollingPeriod)
            {
                size += 1 + CodedOutputStream.ComputeInt32Size(RollingPeriod);
            }

            if (_unknownFields != null)
            {
                size += _unknownFields.CalculateSize();
            }

            return(size);
        }
Example #5
0
        int GetLengthOf <T>(T instance, MessageDescription messageDescription)
        {
            var size = 0;

            messageDescription.Properties.ForEach(property =>
            {
                var type   = property.Property.PropertyType;
                var number = property.Number;
                var value  = property.Property.GetValue(instance);

                if (_valueConverters.CanConvert(type))
                {
                    var converter = _valueConverters.GetConverterFor(type);
                    type          = converter.SerializedAs(type);
                    value         = converter.ConvertTo(value);
                }

                size += CodedOutputStream.ComputeTagSize(number);
                if (type == typeof(Guid))
                {
                    var guidAsBytes = ((Guid)value).ToByteArray();
                    var length      = CodedOutputStream.ComputeBytesSize(ByteString.CopyFrom(guidAsBytes));
                    size           += CodedOutputStream.ComputeLengthSize(length);
                    size           += length;
                }
                else if (type == typeof(string))
                {
                    var valueAsString = value as string;
                    var length        = CodedOutputStream.ComputeStringSize(valueAsString);
                    size += CodedOutputStream.ComputeLengthSize(length);
                    size += length;
                }
                else if (type == typeof(int))
                {
                    size += CodedOutputStream.ComputeInt32Size((int)value);
                }
                else if (type == typeof(Int64))
                {
                    size += CodedOutputStream.ComputeInt64Size((Int64)value);
                }
                else if (type == typeof(uint))
                {
                    size += CodedOutputStream.ComputeUInt32Size((uint)value);
                }
                else if (type == typeof(UInt64))
                {
                    size += CodedOutputStream.ComputeUInt64Size((UInt64)value);
                }
                else if (type == typeof(float))
                {
                    size += CodedOutputStream.ComputeFloatSize((float)value);
                }
                else if (type == typeof(double))
                {
                    size += CodedOutputStream.ComputeDoubleSize((double)value);
                }
                else if (type == typeof(bool))
                {
                    size += CodedOutputStream.ComputeBoolSize((bool)value);
                }
                else if (type == typeof(DateTimeOffset))
                {
                    size += CodedOutputStream.ComputeInt64Size(((DateTimeOffset)value).ToUnixTimeMilliseconds());
                }
                else if (type == typeof(DateTime))
                {
                    size += CodedOutputStream.ComputeInt64Size(new DateTimeOffset(((DateTime)value).ToUniversalTime()).ToUnixTimeMilliseconds());
                }
            });

            return(size);
        }
Example #6
0
 void WriteValue(CodedOutputStream outputStream, Type type, int number, object value)
 {
     if (type == typeof(Guid))
     {
         outputStream.WriteTag(number, WireType.LengthDelimited);
         var guidAsBytes = ((Guid)value).ToByteArray();
         var byteString  = ByteString.CopyFrom(guidAsBytes);
         outputStream.WriteLength(CodedOutputStream.ComputeBytesSize(byteString));
         outputStream.WriteBytes(byteString);
     }
     else if (type == typeof(string))
     {
         var valueAsString = value as string;
         outputStream.WriteTag(number, WireType.LengthDelimited);
         outputStream.WriteLength(CodedOutputStream.ComputeStringSize(valueAsString));
         outputStream.WriteString(valueAsString);
     }
     else if (type == typeof(int))
     {
         outputStream.WriteTag(number, WireType.Varint);
         outputStream.WriteInt32((int)value);
     }
     else if (type == typeof(Int64))
     {
         outputStream.WriteTag(number, WireType.Varint);
         outputStream.WriteInt64((Int64)value);
     }
     else if (type == typeof(uint))
     {
         outputStream.WriteTag(number, WireType.Varint);
         outputStream.WriteUInt32((uint)value);
     }
     else if (type == typeof(UInt64))
     {
         outputStream.WriteTag(number, WireType.Varint);
         outputStream.WriteUInt64((UInt64)value);
     }
     else if (type == typeof(float))
     {
         outputStream.WriteTag(number, WireType.Varint);
         outputStream.WriteFloat((float)value);
     }
     else if (type == typeof(double))
     {
         outputStream.WriteTag(number, WireType.Varint);
         outputStream.WriteDouble((double)value);
     }
     else if (type == typeof(bool))
     {
         outputStream.WriteTag(number, WireType.Varint);
         outputStream.WriteBool((bool)value);
     }
     else if (type == typeof(DateTimeOffset))
     {
         outputStream.WriteTag(number, WireType.Varint);
         outputStream.WriteInt64(((DateTimeOffset)value).ToUnixTimeMilliseconds());
     }
     else if (type == typeof(DateTime))
     {
         outputStream.WriteTag(number, WireType.Varint);
         outputStream.WriteInt64(new DateTimeOffset(((DateTime)value).ToUniversalTime()).ToUnixTimeMilliseconds());
     }
 }
 /// <inheritdoc/>
 protected override int CalculateSize(byte[] value)
 {
     return(CodedOutputStream.ComputeBytesSize(ByteString.CopyFrom(value)));
 }
Example #8
0
 /// <inheritdoc/>
 protected override int CalculateSize(Guid value)
 {
     return(CodedOutputStream.ComputeBytesSize(ByteString.CopyFrom(value.ToByteArray())));
 }