Skip to content

Commit

Permalink
ros2: clean up serialization methods
Browse files Browse the repository at this point in the history
Consistently define and use #serializeValue() instead of #serialize()
when serializing objects, since #serialize() also serializes the type
of the object, which we don't need when serializing attributes.

Signed-off-by: Christophe Bedard <bedard.christophe@gmail.com>
Signed-off-by: Christophe Bedard <christophe.bedard@apex.ai>
Change-Id: I7ac2515760dafbb71807c70e10274288bcac25bf
Reviewed-on: https://git.eclipse.org/r/c/tracecompass.incubator/org.eclipse.tracecompass.incubator/+/202310
Tested-by: Trace Compass Bot <tracecompass-bot@eclipse.org>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
  • Loading branch information
christophebedard committed Jun 2, 2023
1 parent 6dd55f7 commit caf0f1e
Show file tree
Hide file tree
Showing 15 changed files with 74 additions and 39 deletions.
Expand Up @@ -38,7 +38,4 @@ Automatic-Module-Name: org.eclipse.tracecompass.incubator.ros2.core
Import-Package: com.google.common.base,
com.google.common.collect,
com.google.common.hash,
org.apache.commons.lang3,
org.eclipse.tracecompass.internal.lttng2.kernel.core,
org.eclipse.tracecompass.internal.lttng2.kernel.core.event.matching,
org.eclipse.tracecompass.internal.lttng2.kernel.core.trace.layout
org.apache.commons.lang3
Expand Up @@ -93,11 +93,18 @@ public boolean equals(Object obj) {
* @param buffer
* the buffer
*/
public void serialize(@NonNull ISafeByteBufferWriter buffer) {
public void serializeValue(@NonNull ISafeByteBufferWriter buffer) {
buffer.putString(fHostId);
buffer.putString(fHostname);
}

/**
* @return the serialized size
*/
public int getSerializedValueSize() {
return fSerializedValueSize;
}

/**
* @param buffer
* the buffer
Expand All @@ -108,11 +115,4 @@ public void serialize(@NonNull ISafeByteBufferWriter buffer) {
String hostname = buffer.getString();
return new HostInfo(hostId, hostname);
}

/**
* @return the serialized size
*/
public int getSerializedValueSize() {
return fSerializedValueSize;
}
}
Expand Up @@ -91,11 +91,18 @@ public boolean equals(Object obj) {
* @param buffer
* the buffer
*/
public void serialize(@NonNull ISafeByteBufferWriter buffer) {
fHostId.serialize(buffer);
public void serializeValue(@NonNull ISafeByteBufferWriter buffer) {
fHostId.serializeValue(buffer);
buffer.putLong(fPid);
}

/**
* @return the serialized size
*/
public int getSerializedValueSize() {
return fSerializedValueSize;
}

/**
* @param buffer
* the buffer
Expand All @@ -106,11 +113,4 @@ public void serialize(@NonNull ISafeByteBufferWriter buffer) {
Long pid = buffer.getLong();
return new HostProcess(hostId, pid);
}

/**
* @return the serialized size
*/
public int getSerializedValueSize() {
return fSerializedValueSize;
}
}
Expand Up @@ -116,8 +116,8 @@ public boolean equals(Object obj) {
* @param buffer
* the buffer
*/
public void serialize(@NonNull ISafeByteBufferWriter buffer) {
fHostProcess.serialize(buffer);
public void serializeValue(@NonNull ISafeByteBufferWriter buffer) {
fHostProcess.serializeValue(buffer);
buffer.putLong(fPointer);
}

Expand Down
Expand Up @@ -12,6 +12,8 @@
package org.eclipse.tracecompass.incubator.internal.ros2.core.model;

import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.tracecompass.datastore.core.serialization.ISafeByteBufferReader;
import org.eclipse.tracecompass.datastore.core.serialization.ISafeByteBufferWriter;

import com.google.common.base.Objects;

Expand Down Expand Up @@ -76,4 +78,40 @@ public boolean equals(Object obj) {
public @NonNull String toString() {
return String.format("HostThread: tid=%d, hostId=[%s]", fTid, fHostId.toString()); //$NON-NLS-1$
}

/**
* Serialize the value.
*
* @param buffer
* the buffer
*/
public void serializeValue(@NonNull ISafeByteBufferWriter buffer) {
fHostId.serializeValue(buffer);
buffer.putLong(fTid);
}

/**
* Get the serialized size of this value.
*
* @return the serialized size
*/
public int getSerializedValueSize() {
int size = 0;
size += fHostId.getSerializedValueSize();
size += Long.BYTES;
return size;
}

/**
* Read value from buffer.
*
* @param buffer
* the buffer
* @return the value
*/
public static @NonNull HostThread read(ISafeByteBufferReader buffer) {
HostInfo hostId = HostInfo.read(buffer);
long tid = buffer.getLong();
return new HostThread(hostId, tid);
}
}
Expand Up @@ -126,8 +126,8 @@ public String toString() {

@Override
protected void serializeValue(@NonNull ISafeByteBufferWriter buffer) {
fCallbackOwnerHandle.serialize(buffer);
fPublisherHandle.serialize(buffer);
fCallbackOwnerHandle.serializeValue(buffer);
fPublisherHandle.serializeValue(buffer);
buffer.putLong(fPublicationTimestamp);
buffer.putInt(fCallbackType.ordinal());
}
Expand Down
Expand Up @@ -81,7 +81,7 @@ public int compareTo(@NonNull ITmfStateValue o) {

@Override
protected void serializeValue(ISafeByteBufferWriter buffer) {
fOriginHandle.serialize(buffer);
fOriginHandle.serializeValue(buffer);
}

@Override
Expand Down
Expand Up @@ -126,8 +126,8 @@ public String toString() {

@Override
protected void serializeValue(@NonNull ISafeByteBufferWriter buffer) {
fPublisherHandle.serialize(buffer);
fSubscriptionHandle.serialize(buffer);
fPublisherHandle.serializeValue(buffer);
fSubscriptionHandle.serializeValue(buffer);
buffer.putLong(fSourceTimestamp);
buffer.putLong(fDestinationTimestamp);
}
Expand Down
Expand Up @@ -120,7 +120,7 @@ public String toString() {
protected void serializeValue(ISafeByteBufferWriter buffer) {
super.serializeValue(buffer);
buffer.putLong(fTid);
fMessage.serialize(buffer);
fMessage.serializeValue(buffer);
buffer.putLong(fSourceTimestamp);
}

Expand Down
Expand Up @@ -144,7 +144,7 @@ public String toString() {
protected void serializeValue(ISafeByteBufferWriter buffer) {
super.serializeValue(buffer);
buffer.putLong(fTid);
fMessage.serialize(buffer);
fMessage.serializeValue(buffer);
buffer.putLong(fSourceTimestamp);
buffer.putLong(fStartTime);
buffer.putLong(fEndTime);
Expand Down
Expand Up @@ -129,7 +129,7 @@ public String toString() {
@Override
protected void serializeValue(@NonNull ISafeByteBufferWriter buffer) {
super.serializeValue(buffer);
fOwnerHandle.serialize(buffer);
fOwnerHandle.serializeValue(buffer);
buffer.putString(fSymbol);
buffer.putInt(fType.ordinal());
}
Expand Down
Expand Up @@ -88,7 +88,7 @@ public int compareTo(@NonNull ITmfStateValue o) {

@Override
protected void serializeValue(ISafeByteBufferWriter buffer) {
fHandle.serialize(buffer);
fHandle.serializeValue(buffer);
}

@Override
Expand Down
Expand Up @@ -125,11 +125,11 @@ public String toString() {
@Override
protected void serializeValue(ISafeByteBufferWriter buffer) {
super.serializeValue(buffer);
fRmwHandle.serialize(buffer);
fRmwHandle.serializeValue(buffer);
buffer.putString(fTopicName);
fNodeHandle.serialize(buffer);
fNodeHandle.serializeValue(buffer);
fGid.serialize(buffer);
fDdsHandle.serialize(buffer);
fDdsHandle.serializeValue(buffer);
}

@Override
Expand Down
Expand Up @@ -130,8 +130,8 @@ public String toString() {
@Override
protected void serializeValue(@NonNull ISafeByteBufferWriter buffer) {
super.serializeValue(buffer);
fSubscription.serialize(buffer);
fCallback.serialize(buffer);
fSubscription.serializeValue(buffer);
fCallback.serializeValue(buffer);
}

@Override
Expand Down
Expand Up @@ -114,8 +114,8 @@ public String toString() {
protected void serializeValue(ISafeByteBufferWriter buffer) {
super.serializeValue(buffer);
buffer.putLong(fPeriod);
fCallback.serialize(buffer);
fNodeHandle.serialize(buffer);
fCallback.serializeValue(buffer);
fNodeHandle.serializeValue(buffer);
}

@Override
Expand Down

0 comments on commit caf0f1e

Please sign in to comment.