projects
/
lttng-ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: Correctly compute Java agent list loggers response size
[lttng-ust.git]
/
liblttng-ust-java-agent
/
java
/
lttng-ust-agent-common
/
org
/
lttng
/
ust
/
agent
/
client
/
SessiondCommand.java
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 ee191da19eae64edb311ea028188c4a9cf65fa70..8b04f4bb38e658d0907451f9c02ea8854c8372d0 100644
(file)
--- 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;
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
/**
* 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 {
*/
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. */
/** List logger(s). */
CMD_LIST(1),
/** Enable logger by name. */
- CMD_ENABLE(2),
+ CMD_E
VENT_E
NABLE(2),
/** Disable logger by name. */
/** Disable logger by name. */
- CMD_DISABLE(3),
+ CMD_
EVENT_
DISABLE(3),
/** Registration done */
/** 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;
private int code;
@@
-72,18
+82,18
@@
abstract class SessiondCommand {
* formatted.
*/
protected static String readNextString(ByteBuffer buffer) {
* 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;
}
/* The string length should be positive */
return null;
}
- if (
length
== 0) {
+ if (
nbBytes
== 0) {
/* The string is explicitly an empty string */
return "";
}
/* The string is explicitly an empty string */
return "";
}
- byte[] stringBytes = new byte[
length
];
+ byte[] stringBytes = new byte[
nbBytes
];
buffer.get(stringBytes);
buffer.get(stringBytes);
- return new String(stringBytes).trim();
+ return new String(stringBytes
, SESSIOND_PROTOCOL_CHARSET
).trim();
}
}
}
}
This page took
0.025106 seconds
and
4
git commands to generate.