import java.util.List;
import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.ILttngRelaydConnector;
-import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.LttngRelaydConnectorFactory;
import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.commands.AttachSessionResponse;
import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.commands.Command;
import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.commands.ConnectResponse;
import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.commands.SessionResponse;
import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.commands.StreamResponse;
import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.commands.ViewerCommand;
+import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.impl.LttngRelaydConnectorFactory;
import org.junit.Test;
/**
+++ /dev/null
-/**********************************************************************
- * Copyright (c) 2014 Ericsson
- *
- * 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:
- * Matthew Khouzam - Initial implementation
- **********************************************************************/
-
-package org.eclipse.tracecompass.internal.lttng2.control.core.relayd;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.net.Socket;
-
-import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.commands.Command;
-import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.commands.ConnectResponse;
-import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.commands.ConnectionType;
-import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.commands.ViewerCommand;
-import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.impl.LttngRelaydConnector_2_4;
-import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.impl.LttngRelaydConnector_Unsupported;
-
-/**
- * LTTng RelayD connector factory
- *
- * @author Matthew Khouzam
- */
-public final class LttngRelaydConnectorFactory {
-
- private LttngRelaydConnectorFactory() {
- }
-
- /**
- * Create a connection to a relayd
- *
- * @param myConnection
- * a connection to the relayd
- *
- * @return A relayd connector
- * @throws IOException
- * caused by invalid sockets
- */
- public static ILttngRelaydConnector getNewConnector(Socket myConnection) throws IOException {
- DataOutputStream outNet = new DataOutputStream(myConnection.getOutputStream());
- DataInputStream inNet = new DataInputStream(myConnection.getInputStream());
-
- ViewerCommand connectCommand = new ViewerCommand(Command.VIEWER_CONNECT, ConnectResponse.SIZE, 0);
-
- outNet.write(connectCommand.serialize());
- outNet.flush();
-
- ConnectResponse payload = new ConnectResponse(0, 2, 4, ConnectionType.VIEWER_CLIENT_COMMAND);
- outNet.write(payload.serialize());
- outNet.flush();
-
- ConnectResponse connectReply = new ConnectResponse(inNet);
- switch (connectReply.getMajor()) {
- case 2:
- switch (connectReply.getMinor()) {
- case 0:
- case 1:
- case 2:
- case 3:
- return new LttngRelaydConnector_Unsupported();
- case 4:
- default:
- return new LttngRelaydConnector_2_4(inNet, outNet);
- }
- default:
- return new LttngRelaydConnector_Unsupported();
- }
- }
-}
--- /dev/null
+/**********************************************************************
+ * Copyright (c) 2014 Ericsson
+ *
+ * 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:
+ * Matthew Khouzam - Initial implementation
+ **********************************************************************/
+
+package org.eclipse.tracecompass.internal.lttng2.control.core.relayd.impl;
+
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.net.Socket;
+
+import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.ILttngRelaydConnector;
+import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.commands.Command;
+import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.commands.ConnectResponse;
+import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.commands.ConnectionType;
+import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.commands.ViewerCommand;
+
+/**
+ * LTTng RelayD connector factory
+ *
+ * @author Matthew Khouzam
+ */
+public final class LttngRelaydConnectorFactory {
+
+ private LttngRelaydConnectorFactory() {
+ }
+
+ /**
+ * Create a connection to a relayd
+ *
+ * @param myConnection
+ * a connection to the relayd
+ *
+ * @return A relayd connector
+ * @throws IOException
+ * caused by invalid sockets
+ */
+ public static ILttngRelaydConnector getNewConnector(Socket myConnection) throws IOException {
+ DataOutputStream outNet = new DataOutputStream(myConnection.getOutputStream());
+ DataInputStream inNet = new DataInputStream(myConnection.getInputStream());
+
+ ViewerCommand connectCommand = new ViewerCommand(Command.VIEWER_CONNECT, ConnectResponse.SIZE, 0);
+
+ outNet.write(connectCommand.serialize());
+ outNet.flush();
+
+ ConnectResponse payload = new ConnectResponse(0, 2, 4, ConnectionType.VIEWER_CLIENT_COMMAND);
+ outNet.write(payload.serialize());
+ outNet.flush();
+
+ ConnectResponse connectReply = new ConnectResponse(inNet);
+ switch (connectReply.getMajor()) {
+ case 2:
+ switch (connectReply.getMinor()) {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ return new LttngRelaydConnector_Unsupported();
+ case 4:
+ default:
+ return new LttngRelaydConnector_2_4(inNet, outNet);
+ }
+ default:
+ return new LttngRelaydConnector_Unsupported();
+ }
+ }
+}
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.ILttngRelaydConnector;
-import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.LttngRelaydConnectorFactory;
import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.commands.AttachReturnCode;
import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.commands.AttachSessionResponse;
import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.commands.CreateSessionResponse;
import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.commands.NextIndexReturnCode;
import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.commands.SessionResponse;
import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.commands.StreamResponse;
+import org.eclipse.tracecompass.internal.lttng2.control.core.relayd.impl.LttngRelaydConnectorFactory;
import org.eclipse.tracecompass.internal.lttng2.control.ui.Activator;
import org.eclipse.tracecompass.tmf.core.signal.TmfTraceRangeUpdatedSignal;
import org.eclipse.tracecompass.tmf.core.timestamp.TmfNanoTimestamp;