X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=liblttng-ust-java-agent%2Fjava%2Flttng-ust-agent-common%2Forg%2Flttng%2Fust%2Fagent%2Fclient%2FSessiondCommand.java;h=8b04f4bb38e658d0907451f9c02ea8854c8372d0;hb=a9299d47744dac7a17940f93d478894e9da4788b;hp=ee191da19eae64edb311ea028188c4a9cf65fa70;hpb=1d193914f13dd604d60df9db680001c9a4af5f9d;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 index ee191da1..8b04f4bb 100644 --- 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 @@ -19,6 +19,7 @@ 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 @@ -29,16 +30,25 @@ import java.nio.ByteBuffer; */ abstract class SessiondCommand { - enum CommandType { + /** + * 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_ENABLE(2), + CMD_EVENT_ENABLE(2), /** Disable logger by name. */ - CMD_DISABLE(3), + CMD_EVENT_DISABLE(3), /** Registration done */ - CMD_REG_DONE(4); + CMD_REG_DONE(4), + /** Enable application context */ + CMD_APP_CTX_ENABLE(5), + /** Disable application context */ + CMD_APP_CTX_DISABLE(6); private int code; @@ -72,18 +82,18 @@ abstract class SessiondCommand { * formatted. */ protected static String readNextString(ByteBuffer buffer) { - int length = buffer.getInt(); - if (length < 0) { + int nbBytes = buffer.getInt(); + if (nbBytes < 0) { /* The string length should be positive */ return null; } - if (length == 0) { + if (nbBytes == 0) { /* The string is explicitly an empty string */ return ""; } - byte[] stringBytes = new byte[length]; + byte[] stringBytes = new byte[nbBytes]; buffer.get(stringBytes); - return new String(stringBytes).trim(); + return new String(stringBytes, SESSIOND_PROTOCOL_CHARSET).trim(); } }