/******************************************************************************* * Copyright (c) 2007, 2010 Association for Decentralized Information Management * in Industry THTH ry. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * VTT Technical Research Centre of Finland - initial API and implementation *******************************************************************************/ package org.simantics.db.server.protocol; import java.nio.ByteOrder; public class CancelCommitFunction extends AbstractFunction { public long transactionId = 0; public long changeSetId = 0; public byte[] changeSetContext = null; public long headChangeSetId = 0; public CancelCommitFunction() { super(MessageNumber.CancelCommitRequest, MessageNumber.CancelCommitResponse); } public CancelCommitFunction(long transactionId, long changeSetId, byte[] changeSetContext) { super(MessageNumber.CancelCommitRequest, MessageNumber.CancelCommitResponse); this.transactionId = transactionId; this.changeSetId = changeSetId; this.changeSetContext = changeSetContext; } @Override public DataBuffer serialize(ByteOrder byteOrder) { buffer.clear(); buffer.order(byteOrder); buffer.put(transactionId); buffer.put(changeSetId); buffer.put(changeSetContext); buffer.mark(); return buffer; } @Override public void deserialize(int receivedNumber_, DataBuffer dataBuffer) { receivedNumber = receivedNumber_; if (notRightDataForUs()) return; headChangeSetId = dataBuffer.get(headChangeSetId); gotResponse(); } }