@Override public void readFrom(InputStream stream, ORecordVersion version) throws IOException { final ODistributedVersion distributedVersion = (ODistributedVersion) version; distributedVersion.counter = OBinaryProtocol.bytes2int(stream); distributedVersion.timestamp = OBinaryProtocol.bytes2long(stream); distributedVersion.macAddress = OBinaryProtocol.bytes2long(stream); }
@Override public void readFrom(DataInput in, ORecordVersion version) throws IOException { final ODistributedVersion distributedVersion = (ODistributedVersion) version; distributedVersion.counter = in.readInt(); distributedVersion.timestamp = in.readLong(); distributedVersion.macAddress = in.readLong(); }
@Override public ORecordVersion copy() { ODistributedVersion copy = new ODistributedVersion(); copy.counter = counter; copy.timestamp = timestamp; copy.macAddress = macAddress; return copy; }
public void writeVersion(final ORecordVersion version) throws IOException { if (version instanceof ODistributedVersion) { final ODistributedVersion v = (ODistributedVersion) version; writeInt(v.getCounter()); writeLong(v.getTimestamp()); writeLong(v.getMacAddress()); } else { // Usual serialization writeInt(version.getCounter()); } }
@Override public void fromString(String string, ORecordVersion version) { final ODistributedVersion distributedVersion = (ODistributedVersion) version; String[] parts = string.split("\\."); if (parts.length != 3) throw new IllegalArgumentException( "Not correct format of distributed version. Expected <recordVersion>.<timestamp>.<macAddress>"); distributedVersion.counter = Integer.valueOf(parts[0]); distributedVersion.timestamp = Long.valueOf(parts[1]); distributedVersion.macAddress = Long.valueOf(parts[2]); }
@Override public int fastReadFrom(byte[] iStream, int pos, ORecordVersion version) { final ODistributedVersion distributedVersion = (ODistributedVersion) version; int len = 0; distributedVersion.counter = CONVERTER.getInt(iStream, pos + len); len += OBinaryProtocol.SIZE_INT; distributedVersion.timestamp = CONVERTER.getLong(iStream, pos + len); len += OBinaryProtocol.SIZE_LONG; distributedVersion.macAddress = CONVERTER.getLong(iStream, pos + len); len += OBinaryProtocol.SIZE_LONG; return len; }
@Override public long readFrom(OFile file, long pos, ORecordVersion version) throws IOException { final ODistributedVersion distributedVersion = (ODistributedVersion) version; int len = 0; distributedVersion.counter = file.readInt(pos + len); len += OBinaryProtocol.SIZE_INT; distributedVersion.timestamp = file.readLong(pos + len); len += OBinaryProtocol.SIZE_LONG; distributedVersion.macAddress = file.readLong(pos + len); len += OBinaryProtocol.SIZE_LONG; return len; }