private static ProtocolWaveletDelta serialize(WaveletDelta d) { return CoreWaveletOperationSerializer.serialize(d); } }
private static ProtocolWaveletDelta serialize(WaveletDelta d) { return CoreWaveletOperationSerializer.serialize(d); } }
private static ProtocolHashedVersion serialize(HashedVersion v) { return CoreWaveletOperationSerializer.serialize(v); }
private static ProtocolHashedVersion serialize(HashedVersion v) { return CoreWaveletOperationSerializer.serialize(v); }
@Override public boolean put(TransformedWaveletDelta delta) { ProtocolWaveletDelta protoDelta = CoreWaveletOperationSerializer.serialize(delta); byte[] bytes = protoDelta.toByteArray(); deltaBytes.add(bytes); version.set(delta.getResultingVersion()); return length.addAndGet(bytes.length) < GET_HISTORY_BYTES_LENGTH_LIMIT; } });
public static DBObject serialize(DocOp docOp) { BasicDBObject mongoDocOp = new BasicDBObject(); mongoDocOp.append(FIELD_BYTES, CoreWaveletOperationSerializer.serialize(docOp).toByteArray()); return mongoDocOp; }
private void getDeltas(OperationContext context, WaveletName waveletName, ParticipantId participant, HashedVersion fromVersion, HashedVersion toVersion, RawDeltasListener listener) throws InvalidRequestException { final List<byte[]> deltaBytes = new LinkedList<byte[]>(); final AtomicReference<HashedVersion> version = new AtomicReference<HashedVersion>(); final AtomicInteger length = new AtomicInteger(0); context.getDeltas(waveletName, participant, fromVersion, toVersion, new Receiver<TransformedWaveletDelta>() { @Override public boolean put(TransformedWaveletDelta delta) { ProtocolWaveletDelta protoDelta = CoreWaveletOperationSerializer.serialize(delta); byte[] bytes = protoDelta.toByteArray(); deltaBytes.add(bytes); version.set(delta.getResultingVersion()); return length.addAndGet(bytes.length) < GET_HISTORY_BYTES_LENGTH_LIMIT; } }); listener.onSuccess(deltaBytes, CoreWaveletOperationSerializer.serialize(version.get()).toByteArray()); }
@Override public void visitBlipContentOperation(BlipContentOperation blipOp) { mutation.setDocumentOperation(serialize(blipOp.getContentOp())); }
private ProtocolHashedVersion getProtocolHashedVersion() { return CoreWaveletOperationSerializer.serialize(getHashedVersion()); }
private ProtocolHashedVersion getProtocolHashedVersion() { return CoreWaveletOperationSerializer.serialize(getHashedVersion()); }
/** * 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(); }
@Override public void onSuccess(int operationsApplied, HashedVersion hashedVersionAfterApplication, long applicationTimestamp) { done.run(ProtocolSubmitResponse.newBuilder() .setOperationsApplied(operationsApplied) .setHashedVersionAfterApplication( CoreWaveletOperationSerializer.serialize(hashedVersionAfterApplication)) .build()); // TODO(arb): applicationTimestamp?? } });
/** * Serialize a {@link TransformedWaveletDelta} into a {@link ProtoTransformedWaveletDelta} */ public static ProtoTransformedWaveletDelta serialize(TransformedWaveletDelta delta) { ProtoTransformedWaveletDelta.Builder builder = ProtoTransformedWaveletDelta.newBuilder(); builder.setAuthor(delta.getAuthor().getAddress()); builder.setResultingVersion( CoreWaveletOperationSerializer.serialize(delta.getResultingVersion())); builder.setApplicationTimestamp(delta.getApplicationTimestamp()); for (WaveletOperation op : delta) { builder.addOperation(CoreWaveletOperationSerializer.serialize(op)); } return builder.build(); }
/** * 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(); }
private void submitDeltaToNewWavelet(WaveletName name, ParticipantId user, WaveletOperation... ops) throws Exception { HashedVersion version = V0_HASH_FACTORY.createVersionZero(name); WaveletDelta delta = new WaveletDelta(user, version, Arrays.asList(ops)); addWaveletToUserView(name, user); ProtocolWaveletDelta protoDelta = CoreWaveletOperationSerializer.serialize(delta); // Submitting the request will require the certificate manager to sign the delta. We'll just // leave it unsigned. ProtocolSignedDelta signedProtoDelta = ProtocolSignedDelta.newBuilder().setDelta(protoDelta.toByteString()).build(); LocalWaveletContainer wavelet = waveMap.getOrCreateLocalWavelet(name); wavelet.submitRequest(name, signedProtoDelta); }
private void submitDeltaToNewWavelet(WaveletName name, ParticipantId user, WaveletOperation... ops) throws Exception { HashedVersion version = V0_HASH_FACTORY.createVersionZero(name); WaveletDelta delta = new WaveletDelta(user, version, Arrays.asList(ops)); addWaveletToUserView(name, user); ProtocolWaveletDelta protoDelta = CoreWaveletOperationSerializer.serialize(delta); // Submitting the request will require the certificate manager to sign the delta. We'll just // leave it unsigned. ProtocolSignedDelta signedProtoDelta = ProtocolSignedDelta.newBuilder().setDelta(protoDelta.toByteString()).build(); LocalWaveletContainer wavelet = waveMap.getOrCreateLocalWavelet(name); wavelet.submitRequest(name, signedProtoDelta); }
/** * Build an applied delta message from a POJO delta. The delta is not signed. */ public static ByteStringMessage<ProtocolAppliedWaveletDelta> buildAppliedDelta(WaveletDelta delta, long applicationTimestamp) { ProtocolWaveletDelta protoDelta = CoreWaveletOperationSerializer.serialize(delta); ByteStringMessage<ProtocolWaveletDelta> deltaBytes = ByteStringMessage.serializeMessage(protoDelta); ProtocolSignedDelta signedDelta = ProtocolSignedDelta.newBuilder().setDelta(deltaBytes.getByteString()).build(); return AppliedDeltaUtil.buildAppliedDelta(signedDelta, delta.getTargetVersion(), delta.size(), applicationTimestamp); }
/** * Build an applied delta message from a POJO delta. The delta is not signed. */ public static ByteStringMessage<ProtocolAppliedWaveletDelta> buildAppliedDelta(WaveletDelta delta, long applicationTimestamp) { ProtocolWaveletDelta protoDelta = CoreWaveletOperationSerializer.serialize(delta); ByteStringMessage<ProtocolWaveletDelta> deltaBytes = ByteStringMessage.serializeMessage(protoDelta); ProtocolSignedDelta signedDelta = ProtocolSignedDelta.newBuilder().setDelta(deltaBytes.getByteString()).build(); return AppliedDeltaUtil.buildAppliedDelta(signedDelta, delta.getTargetVersion(), delta.size(), applicationTimestamp); }
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(); } }