Java Code Examples for com.google.protobuf.CodedOutputStream#computeInt32SizeNoTag()
The following examples show how to use
com.google.protobuf.CodedOutputStream#computeInt32SizeNoTag() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: State.java From zetasketch with Apache License 2.0 | 6 votes |
public int getSerializedSize() { int size = 0; size += CodedOutputStream.computeUInt32SizeNoTag(TYPE_TAG); size += CodedOutputStream.computeEnumSizeNoTag(type.getNumber()); size += CodedOutputStream.computeUInt32SizeNoTag(NUM_VALUES_TAG); size += CodedOutputStream.computeInt64SizeNoTag(numValues); if (encodingVersion != DEFAULT_ENCODING_VERSION) { size += CodedOutputStream.computeUInt32SizeNoTag(ENCODING_VERSION_TAG); size += CodedOutputStream.computeInt32SizeNoTag(encodingVersion); } if (!valueType.equals(DEFAULT_VALUE_TYPE)) { size += CodedOutputStream.computeUInt32SizeNoTag(VALUE_TYPE_TAG); size += CodedOutputStream.computeEnumSizeNoTag(valueType.getNumber()); } int hllSize = getSerializedHllSize(); size += CodedOutputStream.computeUInt32SizeNoTag(HYPERLOGLOGPLUS_UNIQUE_STATE_TAG); size += CodedOutputStream.computeUInt32SizeNoTag(hllSize); size += hllSize; return size; }
Example 2
Source File: State.java From zetasketch with Apache License 2.0 | 5 votes |
private int getSerializedHllSize() { int size = 0; if (sparseSize != DEFAULT_SPARSE_SIZE) { size += CodedOutputStream.computeUInt32SizeNoTag(SPARSE_SIZE_TAG); size += CodedOutputStream.computeInt32SizeNoTag(sparseSize); } if (precision != DEFAULT_PRECISION_OR_NUM_BUCKETS) { size += CodedOutputStream.computeUInt32SizeNoTag(PRECISION_OR_NUM_BUCKETS_TAG); size += CodedOutputStream.computeInt32SizeNoTag(precision); } if (sparsePrecision != DEFAULT_SPARSE_PRECISION_OR_NUM_BUCKETS) { size += CodedOutputStream.computeUInt32SizeNoTag(SPARSE_PRECISION_OR_NUM_BUCKETS_TAG); size += CodedOutputStream.computeInt32SizeNoTag(sparsePrecision); } if (data != null) { int dataLength = data.remaining(); size += CodedOutputStream.computeUInt32SizeNoTag(DATA_TAG); size += CodedOutputStream.computeUInt32SizeNoTag(dataLength); size += dataLength; } if (sparseData != null) { int sparseDataLength = sparseData.remaining(); size += CodedOutputStream.computeUInt32SizeNoTag(SPARSE_DATA_TAG); size += CodedOutputStream.computeUInt32SizeNoTag(sparseDataLength); size += sparseDataLength; } return size; }
Example 3
Source File: CodedConstant.java From jprotobuf with Apache License 2.0 | 4 votes |
/** * get object size by {@link FieldType}. * * @param order the order * @param o the o * @param type the type * @param list the list * @param debug the debug * @param path the path * @return the int */ public static int computeSize(int order, Object o, FieldType type, boolean list, boolean debug, File path) { int size = 0; if (o == null) { return size; } if (type == FieldType.OBJECT) { Class cls = o.getClass(); Codec target = ProtobufProxy.create(cls, debug, path); try { size = target.size(o); size = size + CodedOutputStream.computeRawVarint32Size(size); return size + CodedOutputStream.computeTagSize(order); } catch (IOException e) { throw new RuntimeException(e.getMessage(), e); } } if (type == FieldType.STRING) { size = CodedOutputStream.computeStringSizeNoTag(String.valueOf(o)); } else if (type == FieldType.BOOL) { size = CodedOutputStream.computeBoolSizeNoTag(Boolean.valueOf(String.valueOf(o))); } else if (type == FieldType.BYTES) { byte[] bb = (byte[]) o; size = CodedOutputStream.computeBytesSizeNoTag(ByteString.copyFrom(bb)); } else if (type == FieldType.DOUBLE) { size = CodedOutputStream.computeDoubleSizeNoTag(Double.valueOf(o.toString())); } else if (type == FieldType.FIXED32 || type == FieldType.INT32 || type == FieldType.SFIXED32 || type == FieldType.SINT32 || type == FieldType.UINT32) { size = CodedOutputStream.computeInt32SizeNoTag(Integer.valueOf(o.toString())); } else if (type == FieldType.FIXED64 || type == FieldType.INT64 || type == FieldType.SFIXED64 || type == FieldType.SINT64 || type == FieldType.UINT64) { size = CodedOutputStream.computeInt64SizeNoTag(Long.valueOf(o.toString())); } else if (type == FieldType.FLOAT) { size = CodedOutputStream.computeFloatSizeNoTag(Float.valueOf(o.toString())); } else if (type == FieldType.ENUM) { if (o instanceof EnumReadable) { size = CodedOutputStream.computeInt32SizeNoTag(((EnumReadable) o).value()); } else if (o instanceof Enum) { size = CodedOutputStream.computeInt32SizeNoTag(((Enum) o).ordinal()); } } return size; }
Example 4
Source File: CodedConstant.java From jprotobuf with Apache License 2.0 | 4 votes |
/** * Compute the number of bytes that would be needed to encode a particular value of arbitrary type, excluding tag. * * @param type The field's type. * @param value Object representing the field's value. Must be of the exact type which would be returned by * {@link Message#getField(Descriptors.FieldDescriptor)} for this field. * @return the int */ public static int computeElementSizeNoTag(final WireFormat.FieldType type, final Object value) { switch (type) { // Note: Minor violation of 80-char limit rule here because this would // actually be harder to read if we wrapped the lines. case DOUBLE: return CodedOutputStream.computeDoubleSizeNoTag((Double) value); case FLOAT: return CodedOutputStream.computeFloatSizeNoTag((Float) value); case INT64: return CodedOutputStream.computeInt64SizeNoTag((Long) value); case UINT64: return CodedOutputStream.computeUInt64SizeNoTag((Long) value); case INT32: return CodedOutputStream.computeInt32SizeNoTag((Integer) value); case FIXED64: return CodedOutputStream.computeFixed64SizeNoTag((Long) value); case FIXED32: return CodedOutputStream.computeFixed32SizeNoTag((Integer) value); case BOOL: return CodedOutputStream.computeBoolSizeNoTag((Boolean) value); case STRING: return CodedOutputStream.computeStringSizeNoTag((String) value); case GROUP: return CodedOutputStream.computeGroupSizeNoTag((MessageLite) value); case BYTES: if (value instanceof ByteString) { return CodedOutputStream.computeBytesSizeNoTag((ByteString) value); } else { if (value instanceof Byte[]) { return computeLengthDelimitedFieldSize(((Byte[]) value).length); } return CodedOutputStream.computeByteArraySizeNoTag((byte[]) value); } case UINT32: return CodedOutputStream.computeUInt32SizeNoTag((Integer) value); case SFIXED32: return CodedOutputStream.computeSFixed32SizeNoTag((Integer) value); case SFIXED64: return CodedOutputStream.computeSFixed64SizeNoTag((Long) value); case SINT32: return CodedOutputStream.computeSInt32SizeNoTag((Integer) value); case SINT64: return CodedOutputStream.computeSInt64SizeNoTag((Long) value); case MESSAGE: if (value instanceof LazyField) { return CodedOutputStream.computeLazyFieldSizeNoTag((LazyField) value); } else { return computeObjectSizeNoTag(value); } case ENUM: if (value instanceof Internal.EnumLite) { return CodedOutputStream.computeEnumSizeNoTag(((Internal.EnumLite) value).getNumber()); } else { if (value instanceof EnumReadable) { return CodedOutputStream.computeEnumSizeNoTag(((EnumReadable) value).value()); } else if (value instanceof Enum) { return CodedOutputStream.computeEnumSizeNoTag(((Enum) value).ordinal()); } return CodedOutputStream.computeEnumSizeNoTag((Integer) value); } } throw new RuntimeException("There is no way to get here, but the compiler thinks otherwise."); }
Example 5
Source File: CodedConstant.java From jprotobuf with Apache License 2.0 | 4 votes |
/** * get object size by {@link FieldType} * * @param o * @param type * @return */ public static int computeSize(int order, Object o, FieldType type, boolean list, boolean debug, File path) { int size = 0; if (o == null) { return size; } if (type == FieldType.OBJECT) { Class cls = o.getClass(); Codec target = ProtobufProxy.create(cls); try { size = target.size(o); size = size + CodedOutputStream.computeRawVarint32Size(size); return size + CodedOutputStream.computeTagSize(order); } catch (IOException e) { throw new RuntimeException(e.getMessage(), e); } } if (type == FieldType.STRING) { size = CodedOutputStream.computeStringSizeNoTag(String.valueOf(o)); } else if (type == FieldType.BOOL) { size = CodedOutputStream.computeBoolSizeNoTag(Boolean.valueOf(String.valueOf(o))); } else if (type == FieldType.BYTES) { byte[] bb = (byte[]) o; size = CodedOutputStream.computeBytesSizeNoTag(ByteString.copyFrom(bb)); } else if (type == FieldType.DOUBLE) { size = CodedOutputStream.computeDoubleSizeNoTag(Double.valueOf(o.toString())); } else if (type == FieldType.FIXED32 || type == FieldType.INT32 || type == FieldType.SFIXED32 || type == FieldType.SINT32 || type == FieldType.UINT32) { size = CodedOutputStream.computeInt32SizeNoTag(Integer.valueOf(o.toString())); } else if (type == FieldType.FIXED64 || type == FieldType.INT64 || type == FieldType.SFIXED64 || type == FieldType.SINT64 || type == FieldType.UINT64) { size = CodedOutputStream.computeInt64SizeNoTag(Long.valueOf(o.toString())); } else if (type == FieldType.FLOAT) { size = CodedOutputStream.computeFloatSizeNoTag(Float.valueOf(o.toString())); } else if (type == FieldType.ENUM) { if (o instanceof EnumReadable) { size = CodedOutputStream.computeInt32SizeNoTag(((EnumReadable) o).value()); } else if (o instanceof Enum) { size = CodedOutputStream.computeInt32SizeNoTag(((Enum) o).ordinal()); } } return size; }