/** * Serializes a transformed delta as a {@link ProtocolWaveletDelta}. * * The target version of the result does not have an accompanying hash; * server delta hashes are redundant in the client/server protocol. * * @param delta to serialize * @return serialized protocol buffer wavelet delta */ public static ProtocolWaveletDelta serialize(TransformedWaveletDelta delta) { ProtocolWaveletDelta.Builder protobufDelta = ProtocolWaveletDelta.newBuilder(); for (WaveletOperation waveletOp : delta) { protobufDelta.addOperation(serialize(waveletOp)); } protobufDelta.setAuthor(delta.getAuthor().getAddress()); protobufDelta.setHashedVersion(serialize(HashedVersion.unsigned(delta.getAppliedAtVersion()))); return protobufDelta.build(); }
/** * Serializes an untransformed delta as a {@link ProtocolWaveletDelta}. * * @param delta to serialize * @return serialized protocol buffer wavelet delta */ public static ProtocolWaveletDelta serialize(WaveletDelta delta) { ProtocolWaveletDelta.Builder protobufDelta = ProtocolWaveletDelta.newBuilder(); for (WaveletOperation waveletOp : delta) { protobufDelta.addOperation(serialize(waveletOp)); } protobufDelta.setAuthor(delta.getAuthor().getAddress()); protobufDelta.setHashedVersion(serialize(delta.getTargetVersion())); return protobufDelta.build(); }
private ProtocolSignedDelta createProtocolSignedDelta(ProtocolWaveletOperation operation, HashedVersion protocolHashedVersion) { ProtocolWaveletDelta delta = ProtocolWaveletDelta.newBuilder() .setAuthor(AUTHOR) .setHashedVersion(CoreWaveletOperationSerializer.serialize(protocolHashedVersion)) .addOperation(operation) .build(); return ProtocolSignedDelta.newBuilder() .setDelta(delta.toByteString()) .addSignature(SIGNATURE) .build(); } }
private ProtocolSignedDelta createProtocolSignedDelta(ProtocolWaveletOperation operation, HashedVersion protocolHashedVersion) { ProtocolWaveletDelta delta = ProtocolWaveletDelta.newBuilder() .setAuthor(AUTHOR) .setHashedVersion(CoreWaveletOperationSerializer.serialize(protocolHashedVersion)) .addOperation(operation) .build(); return ProtocolSignedDelta.newBuilder() .setDelta(delta.toByteString()) .addSignature(SIGNATURE) .build(); } }