From 8adfbb736cf4a037eb66ff1d1bc4270c08447912 Mon Sep 17 00:00:00 2001 From: Marc-Andre Laperle Date: Mon, 23 Jun 2014 18:32:44 -0400 Subject: [PATCH] lttng: Some relayd requests/responses have the wrong fixed size Change-Id: I0783110bd488b15478c14ba7ad71116fa99d7653 Signed-off-by: Marc-Andre Laperle Reviewed-on: https://git.eclipse.org/r/28898 Reviewed-by: Genevieve Bastien Tested-by: Hudson CI --- .../relayd/lttngviewerCommands/AttachSessionRequest.java | 4 ++-- .../relayd/lttngviewerCommands/AttachSessionResponse.java | 5 ++++- .../control/core/relayd/lttngviewerCommands/Command.java | 2 +- .../core/relayd/lttngviewerCommands/ConnectResponse.java | 2 ++ .../relayd/lttngviewerCommands/CreateSessionResponse.java | 2 +- .../core/relayd/lttngviewerCommands/GetMetadata.java | 2 +- .../core/relayd/lttngviewerCommands/GetNextIndex.java | 2 +- .../control/core/relayd/lttngviewerCommands/GetPacket.java | 2 ++ .../core/relayd/lttngviewerCommands/IndexResponse.java | 5 ++++- .../relayd/lttngviewerCommands/ListSessionsResponse.java | 2 +- .../relayd/lttngviewerCommands/MetadataPacketResponse.java | 5 +++++ .../core/relayd/lttngviewerCommands/NewStreamsRequest.java | 2 +- .../relayd/lttngviewerCommands/NewStreamsResponse.java | 5 +++++ .../core/relayd/lttngviewerCommands/SeekCommand.java | 2 +- .../core/relayd/lttngviewerCommands/SessionResponse.java | 2 ++ .../core/relayd/lttngviewerCommands/StreamResponse.java | 2 ++ .../relayd/lttngviewerCommands/TracePacketResponse.java | 7 ++++++- .../core/relayd/lttngviewerCommands/ViewerCommand.java | 4 +++- 18 files changed, 44 insertions(+), 13 deletions(-) diff --git a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/AttachSessionRequest.java b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/AttachSessionRequest.java index 246b96e9d6..4b426090a7 100644 --- a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/AttachSessionRequest.java +++ b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/AttachSessionRequest.java @@ -27,9 +27,9 @@ public class AttachSessionRequest implements IRelayCommand { /** * Command size * - * long + int + seek command which is 2 ints + * fSessionId + fOffset + fSeek */ - public static final int SIZE =(Long.SIZE + Integer.SIZE + SeekCommand.SIZE) / 8; + public static final int SIZE = (Long.SIZE + Long.SIZE) / 8 + SeekCommand.SIZE; /** the id of a session */ private final long fSessionId; /** unused for now */ diff --git a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/AttachSessionResponse.java b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/AttachSessionResponse.java index 64f665f93f..2903333d29 100644 --- a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/AttachSessionResponse.java +++ b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/AttachSessionResponse.java @@ -30,7 +30,10 @@ import com.google.common.collect.ImmutableList.Builder; */ public class AttachSessionResponse implements IRelayResponse { - /* enum + stream count, first half of a packet */ + /** + * Response size + * + * fStatus + fStreamsCount (first half of a packet) */ private static final int SIZE = (Integer.SIZE + Integer.SIZE) / 8; /** enum lttng_viewer_attach_return_code */ private final AttachReturnCode fStatus; diff --git a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/Command.java b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/Command.java index a4bb2c8549..4478ae6de6 100644 --- a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/Command.java +++ b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/Command.java @@ -39,7 +39,7 @@ public enum Command implements IBaseCommand { VIEWER_CREATE_SESSION(8); /** - * Command size + * Command size (fCode) */ public static final int SIZE = Integer.SIZE / 8; diff --git a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ConnectResponse.java b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ConnectResponse.java index 3a63ba5ce3..47ea94ea39 100644 --- a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ConnectResponse.java +++ b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ConnectResponse.java @@ -28,6 +28,8 @@ public class ConnectResponse implements IRelayResponse, IRelayCommand { /** * Response or command size + * + * fViewerSessionId + fMajor + fMinor + fType */ public static final int SIZE = (Long.SIZE + Integer.SIZE + Integer.SIZE + Integer.SIZE) / 8; /** session id, counts from 1 and increments by session */ diff --git a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/CreateSessionResponse.java b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/CreateSessionResponse.java index 5b9d5ba79d..97200f34b5 100644 --- a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/CreateSessionResponse.java +++ b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/CreateSessionResponse.java @@ -27,7 +27,7 @@ import java.nio.ByteOrder; public class CreateSessionResponse implements IRelayResponse { /** - * Response size + * Response size (fStatus) */ public static final int SIZE = Integer.SIZE / 8; diff --git a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetMetadata.java b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetMetadata.java index a89c9030b7..54ee517b09 100644 --- a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetMetadata.java +++ b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetMetadata.java @@ -25,7 +25,7 @@ import java.nio.ByteOrder; public class GetMetadata implements IRelayCommand { /** - * Command size + * Command size (fStreamId) */ public static final int SIZE = Long.SIZE / 8; diff --git a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetNextIndex.java b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetNextIndex.java index 72da00eeea..6a4e2fd1a3 100644 --- a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetNextIndex.java +++ b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetNextIndex.java @@ -25,7 +25,7 @@ import java.nio.ByteOrder; public class GetNextIndex implements IRelayCommand { /** - * Command size + * Command size (fStreamId) */ public static final int SIZE = Long.SIZE / 8; /** diff --git a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetPacket.java b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetPacket.java index df5bbcd810..172ca30a5b 100644 --- a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetPacket.java +++ b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/GetPacket.java @@ -26,6 +26,8 @@ public class GetPacket implements IRelayCommand { /** * Command size + * + * fStreamId + fOffset + fLength */ public static final int SIZE = (Long.SIZE + Long.SIZE + Integer.SIZE) / 8; /** the stream Id */ diff --git a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/IndexResponse.java b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/IndexResponse.java index 3f26b71c2f..503ef279c2 100644 --- a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/IndexResponse.java +++ b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/IndexResponse.java @@ -26,9 +26,12 @@ import java.nio.ByteOrder; */ public class IndexResponse implements IRelayResponse { - // Sum of the field sizes / 8 ( 7 longs and 2 ints) /** * Command size + * + * Sum of the field sizes / 8 ( 7 longs and 2 ints): + * fOffset + fPacketSize + fContentSize + fTimestampBegin + fTimestampEnd + + * fEventsDiscarded + fStreamId + fStatus + fFlags */ public final static int SIZE = (Long.SIZE * 7 + Integer.SIZE * 2) / 8; diff --git a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ListSessionsResponse.java b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ListSessionsResponse.java index 14b2b63a86..5a520912ce 100644 --- a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ListSessionsResponse.java +++ b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ListSessionsResponse.java @@ -31,7 +31,7 @@ import com.google.common.collect.ImmutableList.Builder; public class ListSessionsResponse implements IRelayResponse { /** - * Response size + * Response size (nbSessions) */ public static final int PACKET_FIXED_SIZE = Integer.SIZE / 8; diff --git a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/MetadataPacketResponse.java b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/MetadataPacketResponse.java index 7d46aa25e5..97345def93 100644 --- a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/MetadataPacketResponse.java +++ b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/MetadataPacketResponse.java @@ -26,6 +26,11 @@ import java.nio.ByteOrder; */ public class MetadataPacketResponse implements IRelayResponse { + /** + * Response size + * + * fData.length + fStatus + */ private static final int SIZE = (Long.SIZE + Integer.SIZE) / 8; /** status of the metadata request */ private final GetMetadataReturnCode fStatus; diff --git a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NewStreamsRequest.java b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NewStreamsRequest.java index 3e3392525d..21884c1458 100644 --- a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NewStreamsRequest.java +++ b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NewStreamsRequest.java @@ -25,7 +25,7 @@ import java.nio.ByteOrder; public class NewStreamsRequest implements IRelayCommand { /** - * Command size + * Command size (fSessionId) */ public static final int SIZE = Long.SIZE / 8; diff --git a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NewStreamsResponse.java b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NewStreamsResponse.java index eabb18f129..f107c1f51b 100644 --- a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NewStreamsResponse.java +++ b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/NewStreamsResponse.java @@ -29,6 +29,11 @@ import com.google.common.collect.ImmutableList; */ public class NewStreamsResponse implements IRelayResponse { + /** + * Response size + * + * fStatus + fNbStreams + */ private static final int SIZE = (Integer.SIZE + Integer.SIZE) / 8; /** status of the request */ private final NewStreamsReturnCode fStatus; diff --git a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/SeekCommand.java b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/SeekCommand.java index b84178c94b..8e90cf40b8 100644 --- a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/SeekCommand.java +++ b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/SeekCommand.java @@ -29,7 +29,7 @@ public enum SeekCommand implements IBaseCommand { private final int fCode; /** - * Size of the enum + * Command size (fCode) */ public static final int SIZE = Integer.SIZE / 8; diff --git a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/SessionResponse.java b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/SessionResponse.java index dc36e5c3c7..e91bbe3767 100644 --- a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/SessionResponse.java +++ b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/SessionResponse.java @@ -28,6 +28,8 @@ public class SessionResponse implements IRelayResponse { /** * Response size + * + * fHostname + fSessionName + fId + fLiveTimer + fClients + fStreams */ public static final int SIZE = LttngViewerCommands.LTTNG_VIEWER_HOST_NAME_MAX + LttngViewerCommands.LTTNG_VIEWER_NAME_MAX + (Long.SIZE + Integer.SIZE + Integer.SIZE + Integer.SIZE) / 8; diff --git a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/StreamResponse.java b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/StreamResponse.java index 6f124d807e..d19303cc1a 100644 --- a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/StreamResponse.java +++ b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/StreamResponse.java @@ -28,6 +28,8 @@ public class StreamResponse implements IRelayResponse { /** * Response size + * + * fId + fCtfTraceId + fMetadataFlag + fPathName + fChannelName */ public static final int SIZE = (Long.SIZE + Long.SIZE + Integer.SIZE) / 8 + LttngViewerCommands.LTTNG_VIEWER_PATH_MAX + LttngViewerCommands.LTTNG_VIEWER_NAME_MAX; diff --git a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/TracePacketResponse.java b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/TracePacketResponse.java index 8b8f88db39..719bb27b8f 100644 --- a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/TracePacketResponse.java +++ b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/TracePacketResponse.java @@ -26,7 +26,12 @@ import java.nio.ByteOrder; */ public class TracePacketResponse implements IRelayResponse { - private static final int SIZE = (Integer.SIZE + Integer.SIZE) / 8; + /** + * Command size + * + * fStatus + fData.length + fFlags + */ + private static final int SIZE = (Integer.SIZE + Integer.SIZE + Integer.SIZE) / 8; /** Enum lttng_viewer_get_packet_return_code */ private final GetPacketReturnCode fStatus; /** flags: is there new metadata or new streams? */ diff --git a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ViewerCommand.java b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ViewerCommand.java index 80d97061ab..c8c4f8d89a 100644 --- a/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ViewerCommand.java +++ b/org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/relayd/lttngviewerCommands/ViewerCommand.java @@ -26,8 +26,10 @@ public class ViewerCommand implements IRelayCommand { /** * Command size + * + * fDataSize + fCmdVersion + fCmd */ - public static final int SIZE = (Long.SIZE + Command.SIZE + Integer.SIZE) / 8; + public static final int SIZE = (Long.SIZE + Integer.SIZE) / 8 + Command.SIZE; /** * data size following this header, you normally attach a payload that one, * in bytes -- 2.34.1