X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=liblttng-ust-java-agent%2Fjava%2Flttng-ust-agent-common%2Forg%2Flttng%2Fust%2Fagent%2Fclient%2FSessiondCommand.java;fp=liblttng-ust-java-agent%2Fjava%2Flttng-ust-agent-common%2Forg%2Flttng%2Fust%2Fagent%2Fclient%2FSessiondCommand.java;h=0000000000000000000000000000000000000000;hb=9d4c8b2d907edb9ebc9bfde55602598e7ba0832e;hp=27aba232601f9dabb991a42575803c991f91da55;hpb=6ba6fd60507f8e045bdc4f1be14e9d99c6a15f7f;p=lttng-ust.git diff --git a/liblttng-ust-java-agent/java/lttng-ust-agent-common/org/lttng/ust/agent/client/SessiondCommand.java b/liblttng-ust-java-agent/java/lttng-ust-agent-common/org/lttng/ust/agent/client/SessiondCommand.java deleted file mode 100644 index 27aba232..00000000 --- a/liblttng-ust-java-agent/java/lttng-ust-agent-common/org/lttng/ust/agent/client/SessiondCommand.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * SPDX-License-Identifier: LGPL-2.1-only - * - * Copyright (C) 2015-2016 EfficiOS Inc. - * Copyright (C) 2015-2016 Alexandre Montplaisir - * Copyright (C) 2013 David Goulet - */ - -package org.lttng.ust.agent.client; - -import java.nio.ByteBuffer; -import java.nio.charset.Charset; - -/** - * Base class to represent all commands sent from the session daemon to the Java - * agent. The agent is then expected to execute the command and provide a - * response. - * - * @author Alexandre Montplaisir - */ -abstract class SessiondCommand { - - /** - * Encoding that should be used for the strings in the sessiond agent - * protocol on the socket. - */ - protected static final Charset SESSIOND_PROTOCOL_CHARSET = Charset.forName("UTF-8"); - - enum CommandType { - /** List logger(s). */ - CMD_LIST(1), - /** Enable logger by name. */ - CMD_EVENT_ENABLE(2), - /** Disable logger by name. */ - CMD_EVENT_DISABLE(3), - /** Registration done */ - CMD_REG_DONE(4), - /** Enable application context */ - CMD_APP_CTX_ENABLE(5), - /** Disable application context */ - CMD_APP_CTX_DISABLE(6); - - private int code; - - private CommandType(int c) { - code = c; - } - - public int getCommandType() { - return code; - } - } - - /** - * Execute the command handler's action on the specified tracing agent. - * - * @param agent - * The agent on which to execute the command - * @return If the command completed successfully or not - */ - public abstract LttngAgentResponse execute(ILttngTcpClientListener agent); - - /** - * Utility method to read agent-protocol strings passed on the socket. The - * buffer will contain a 32-bit integer representing the length, immediately - * followed by the string itself. - * - * @param buffer - * The ByteBuffer from which to read. It should already be setup - * and positioned where the read should begin. - * @return The string that was read, or null if it was badly - * formatted. - */ - protected static String readNextString(ByteBuffer buffer) { - int nbBytes = buffer.getInt(); - if (nbBytes < 0) { - /* The string length should be positive */ - return null; - } - if (nbBytes == 0) { - /* The string is explicitly an empty string */ - return ""; - } - - byte[] stringBytes = new byte[nbBytes]; - buffer.get(stringBytes); - return new String(stringBytes, SESSIOND_PROTOCOL_CHARSET).trim(); - } -}