コード例 #1
0
ファイル: GenericValueSegment.java プロジェクト: yamcs/yamcs
 /** Encode using regular protobuf delimited field writes */
 @Override
 public void writeTo(ByteBuffer bb) {
   VarIntUtil.writeVarInt32(bb, values.size());
   for (Value v : values) {
     byte[] b = ValueUtility.toGbp(v).toByteArray();
     VarIntUtil.writeVarInt32(bb, b.length);
     bb.put(b);
   }
 }
コード例 #2
0
ファイル: GenericValueSegment.java プロジェクト: yamcs/yamcs
 /** Decode using regular protobuf delimited field writes */
 private void parse(ByteBuffer bb) throws DecodingException {
   int num = VarIntUtil.readVarInt32(bb);
   for (int i = 0; i < num; i++) {
     int size = VarIntUtil.readVarInt32(bb);
     byte[] b = new byte[size];
     bb.get(b);
     try {
       Value v = ValueUtility.fromGpb(org.yamcs.protobuf.Yamcs.Value.parseFrom(b));
       values.add(v);
     } catch (InvalidProtocolBufferException e) {
       throw new DecodingException("Failed to decode Value: ", e);
     }
   }
 }