+++ /dev/null
-/*
- * SPDX-License-Identifier: LGPL-2.1-only
- *
- * Copyright (C) 2015 EfficiOS Inc.
- * Copyright (C) 2015 Alexandre Montplaisir <alexmonthy@efficios.com>
- * Copyright (C) 2013 David Goulet <dgoulet@efficios.com>
- */
-
-package org.lttng.ust.agent.client;
-
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.util.Collection;
-
-/**
- * Session daemon command asking the Java agent to list its registered loggers,
- * which corresponds to event names in the tracing session.
- *
- * @author Alexandre Montplaisir
- * @author David Goulet
- */
-class SessiondListLoggersCommand extends SessiondCommand {
-
- @Override
- public LttngAgentResponse execute(ILttngTcpClientListener agent) {
- final Collection<String> loggerList = agent.listAvailableEvents();
- return new SessiondListLoggersResponse(loggerList);
- }
-
- private static class SessiondListLoggersResponse extends LttngAgentResponse {
-
- private final static int SIZE = 12;
-
- private final Collection<String> loggers;
-
- public SessiondListLoggersResponse(Collection<String> loggers) {
- this.loggers = loggers;
- }
-
- @Override
- public ReturnCode getReturnCode() {
- /* This command can't really fail */
- return ReturnCode.CODE_SUCCESS_CMD;
- }
-
- @Override
- public byte[] getBytes() {
- /*
- * Compute the data size, which is the number of bytes of each
- * encoded string, +1 per string for the \0
- */
- int dataSize = 0;
- for (String logger : loggers) {
- dataSize += logger.getBytes(SESSIOND_PROTOCOL_CHARSET).length + 1;
- }
-
- /* Prepare the buffer */
- byte data[] = new byte[SIZE + dataSize];
- ByteBuffer buf = ByteBuffer.wrap(data);
- buf.order(ByteOrder.BIG_ENDIAN);
-
- /* Write the header section of the response */
- buf.putInt(getReturnCode().getCode());
- buf.putInt(dataSize);
- buf.putInt(loggers.size());
-
- /* Write the payload */
- for (String logger : loggers) {
- buf.put(logger.getBytes(SESSIOND_PROTOCOL_CHARSET));
- /* NULL terminated byte after the logger name. */
- buf.put((byte) 0x0);
- }
- return data;
- }
- }
-
-}