http://git-wip-us.apache.org/repos/asf/incubator-myriad/blob/16467f39/myriad-commons/src/main/java/org/apache/mesos/v1/agent/Protos.java
----------------------------------------------------------------------
diff --git a/myriad-commons/src/main/java/org/apache/mesos/v1/agent/Protos.java 
b/myriad-commons/src/main/java/org/apache/mesos/v1/agent/Protos.java
new file mode 100644
index 0000000..ca2ccd2
--- /dev/null
+++ b/myriad-commons/src/main/java/org/apache/mesos/v1/agent/Protos.java
@@ -0,0 +1,31858 @@
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+// source: mesos/v1/agent/agent.proto
+
+package org.apache.mesos.v1.agent;
+
+public final class Protos {
+  private Protos() {}
+  public static void registerAllExtensions(
+      com.google.protobuf.ExtensionRegistry registry) {
+  }
+  public interface CallOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
+
+    // optional .mesos.v1.agent.Call.Type type = 1;
+    /**
+     * <code>optional .mesos.v1.agent.Call.Type type = 1;</code>
+     */
+    boolean hasType();
+    /**
+     * <code>optional .mesos.v1.agent.Call.Type type = 1;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.Type getType();
+
+    // optional .mesos.v1.agent.Call.GetMetrics get_metrics = 2;
+    /**
+     * <code>optional .mesos.v1.agent.Call.GetMetrics get_metrics = 2;</code>
+     */
+    boolean hasGetMetrics();
+    /**
+     * <code>optional .mesos.v1.agent.Call.GetMetrics get_metrics = 2;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.GetMetrics getGetMetrics();
+    /**
+     * <code>optional .mesos.v1.agent.Call.GetMetrics get_metrics = 2;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.GetMetricsOrBuilder 
getGetMetricsOrBuilder();
+
+    // optional .mesos.v1.agent.Call.SetLoggingLevel set_logging_level = 3;
+    /**
+     * <code>optional .mesos.v1.agent.Call.SetLoggingLevel set_logging_level = 
3;</code>
+     */
+    boolean hasSetLoggingLevel();
+    /**
+     * <code>optional .mesos.v1.agent.Call.SetLoggingLevel set_logging_level = 
3;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel getSetLoggingLevel();
+    /**
+     * <code>optional .mesos.v1.agent.Call.SetLoggingLevel set_logging_level = 
3;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevelOrBuilder 
getSetLoggingLevelOrBuilder();
+
+    // optional .mesos.v1.agent.Call.ListFiles list_files = 4;
+    /**
+     * <code>optional .mesos.v1.agent.Call.ListFiles list_files = 4;</code>
+     */
+    boolean hasListFiles();
+    /**
+     * <code>optional .mesos.v1.agent.Call.ListFiles list_files = 4;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.ListFiles getListFiles();
+    /**
+     * <code>optional .mesos.v1.agent.Call.ListFiles list_files = 4;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.ListFilesOrBuilder 
getListFilesOrBuilder();
+
+    // optional .mesos.v1.agent.Call.ReadFile read_file = 5;
+    /**
+     * <code>optional .mesos.v1.agent.Call.ReadFile read_file = 5;</code>
+     */
+    boolean hasReadFile();
+    /**
+     * <code>optional .mesos.v1.agent.Call.ReadFile read_file = 5;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.ReadFile getReadFile();
+    /**
+     * <code>optional .mesos.v1.agent.Call.ReadFile read_file = 5;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.ReadFileOrBuilder 
getReadFileOrBuilder();
+
+    // optional .mesos.v1.agent.Call.LaunchNestedContainer 
launch_nested_container = 6;
+    /**
+     * <code>optional .mesos.v1.agent.Call.LaunchNestedContainer 
launch_nested_container = 6;</code>
+     */
+    boolean hasLaunchNestedContainer();
+    /**
+     * <code>optional .mesos.v1.agent.Call.LaunchNestedContainer 
launch_nested_container = 6;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.LaunchNestedContainer 
getLaunchNestedContainer();
+    /**
+     * <code>optional .mesos.v1.agent.Call.LaunchNestedContainer 
launch_nested_container = 6;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.LaunchNestedContainerOrBuilder 
getLaunchNestedContainerOrBuilder();
+
+    // optional .mesos.v1.agent.Call.WaitNestedContainer wait_nested_container 
= 7;
+    /**
+     * <code>optional .mesos.v1.agent.Call.WaitNestedContainer 
wait_nested_container = 7;</code>
+     */
+    boolean hasWaitNestedContainer();
+    /**
+     * <code>optional .mesos.v1.agent.Call.WaitNestedContainer 
wait_nested_container = 7;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.WaitNestedContainer 
getWaitNestedContainer();
+    /**
+     * <code>optional .mesos.v1.agent.Call.WaitNestedContainer 
wait_nested_container = 7;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.WaitNestedContainerOrBuilder 
getWaitNestedContainerOrBuilder();
+
+    // optional .mesos.v1.agent.Call.KillNestedContainer kill_nested_container 
= 8;
+    /**
+     * <code>optional .mesos.v1.agent.Call.KillNestedContainer 
kill_nested_container = 8;</code>
+     */
+    boolean hasKillNestedContainer();
+    /**
+     * <code>optional .mesos.v1.agent.Call.KillNestedContainer 
kill_nested_container = 8;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.KillNestedContainer 
getKillNestedContainer();
+    /**
+     * <code>optional .mesos.v1.agent.Call.KillNestedContainer 
kill_nested_container = 8;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.KillNestedContainerOrBuilder 
getKillNestedContainerOrBuilder();
+
+    // optional .mesos.v1.agent.Call.RemoveNestedContainer 
remove_nested_container = 12;
+    /**
+     * <code>optional .mesos.v1.agent.Call.RemoveNestedContainer 
remove_nested_container = 12;</code>
+     */
+    boolean hasRemoveNestedContainer();
+    /**
+     * <code>optional .mesos.v1.agent.Call.RemoveNestedContainer 
remove_nested_container = 12;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.RemoveNestedContainer 
getRemoveNestedContainer();
+    /**
+     * <code>optional .mesos.v1.agent.Call.RemoveNestedContainer 
remove_nested_container = 12;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.RemoveNestedContainerOrBuilder 
getRemoveNestedContainerOrBuilder();
+
+    // optional .mesos.v1.agent.Call.LaunchNestedContainerSession 
launch_nested_container_session = 9;
+    /**
+     * <code>optional .mesos.v1.agent.Call.LaunchNestedContainerSession 
launch_nested_container_session = 9;</code>
+     */
+    boolean hasLaunchNestedContainerSession();
+    /**
+     * <code>optional .mesos.v1.agent.Call.LaunchNestedContainerSession 
launch_nested_container_session = 9;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.LaunchNestedContainerSession 
getLaunchNestedContainerSession();
+    /**
+     * <code>optional .mesos.v1.agent.Call.LaunchNestedContainerSession 
launch_nested_container_session = 9;</code>
+     */
+    
org.apache.mesos.v1.agent.Protos.Call.LaunchNestedContainerSessionOrBuilder 
getLaunchNestedContainerSessionOrBuilder();
+
+    // optional .mesos.v1.agent.Call.AttachContainerInput 
attach_container_input = 10;
+    /**
+     * <code>optional .mesos.v1.agent.Call.AttachContainerInput 
attach_container_input = 10;</code>
+     */
+    boolean hasAttachContainerInput();
+    /**
+     * <code>optional .mesos.v1.agent.Call.AttachContainerInput 
attach_container_input = 10;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.AttachContainerInput 
getAttachContainerInput();
+    /**
+     * <code>optional .mesos.v1.agent.Call.AttachContainerInput 
attach_container_input = 10;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.AttachContainerInputOrBuilder 
getAttachContainerInputOrBuilder();
+
+    // optional .mesos.v1.agent.Call.AttachContainerOutput 
attach_container_output = 11;
+    /**
+     * <code>optional .mesos.v1.agent.Call.AttachContainerOutput 
attach_container_output = 11;</code>
+     */
+    boolean hasAttachContainerOutput();
+    /**
+     * <code>optional .mesos.v1.agent.Call.AttachContainerOutput 
attach_container_output = 11;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.AttachContainerOutput 
getAttachContainerOutput();
+    /**
+     * <code>optional .mesos.v1.agent.Call.AttachContainerOutput 
attach_container_output = 11;</code>
+     */
+    org.apache.mesos.v1.agent.Protos.Call.AttachContainerOutputOrBuilder 
getAttachContainerOutputOrBuilder();
+  }
+  /**
+   * Protobuf type {@code mesos.v1.agent.Call}
+   *
+   * <pre>
+   **
+   * Calls that can be sent to the v1 agent API.
+   *
+   * A call is described using the standard protocol buffer "union"
+   * trick, see
+   * https://developers.google.com/protocol-buffers/docs/techniques#union.
+   * </pre>
+   */
+  public static final class Call extends
+      com.google.protobuf.GeneratedMessage
+      implements CallOrBuilder {
+    // Use Call.newBuilder() to construct.
+    private Call(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+      super(builder);
+      this.unknownFields = builder.getUnknownFields();
+    }
+    private Call(boolean noInit) { this.unknownFields = 
com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+    private static final Call defaultInstance;
+    public static Call getDefaultInstance() {
+      return defaultInstance;
+    }
+
+    public Call getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+
+    private final com.google.protobuf.UnknownFieldSet unknownFields;
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet
+        getUnknownFields() {
+      return this.unknownFields;
+    }
+    private Call(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      initFields();
+      int mutable_bitField0_ = 0;
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              done = true;
+              break;
+            default: {
+              if (!parseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                done = true;
+              }
+              break;
+            }
+            case 8: {
+              int rawValue = input.readEnum();
+              org.apache.mesos.v1.agent.Protos.Call.Type value = 
org.apache.mesos.v1.agent.Protos.Call.Type.valueOf(rawValue);
+              if (value == null) {
+                unknownFields.mergeVarintField(1, rawValue);
+              } else {
+                bitField0_ |= 0x00000001;
+                type_ = value;
+              }
+              break;
+            }
+            case 18: {
+              org.apache.mesos.v1.agent.Protos.Call.GetMetrics.Builder 
subBuilder = null;
+              if (((bitField0_ & 0x00000002) == 0x00000002)) {
+                subBuilder = getMetrics_.toBuilder();
+              }
+              getMetrics_ = 
input.readMessage(org.apache.mesos.v1.agent.Protos.Call.GetMetrics.PARSER, 
extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(getMetrics_);
+                getMetrics_ = subBuilder.buildPartial();
+              }
+              bitField0_ |= 0x00000002;
+              break;
+            }
+            case 26: {
+              org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel.Builder 
subBuilder = null;
+              if (((bitField0_ & 0x00000004) == 0x00000004)) {
+                subBuilder = setLoggingLevel_.toBuilder();
+              }
+              setLoggingLevel_ = 
input.readMessage(org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel.PARSER, 
extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(setLoggingLevel_);
+                setLoggingLevel_ = subBuilder.buildPartial();
+              }
+              bitField0_ |= 0x00000004;
+              break;
+            }
+            case 34: {
+              org.apache.mesos.v1.agent.Protos.Call.ListFiles.Builder 
subBuilder = null;
+              if (((bitField0_ & 0x00000008) == 0x00000008)) {
+                subBuilder = listFiles_.toBuilder();
+              }
+              listFiles_ = 
input.readMessage(org.apache.mesos.v1.agent.Protos.Call.ListFiles.PARSER, 
extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(listFiles_);
+                listFiles_ = subBuilder.buildPartial();
+              }
+              bitField0_ |= 0x00000008;
+              break;
+            }
+            case 42: {
+              org.apache.mesos.v1.agent.Protos.Call.ReadFile.Builder 
subBuilder = null;
+              if (((bitField0_ & 0x00000010) == 0x00000010)) {
+                subBuilder = readFile_.toBuilder();
+              }
+              readFile_ = 
input.readMessage(org.apache.mesos.v1.agent.Protos.Call.ReadFile.PARSER, 
extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(readFile_);
+                readFile_ = subBuilder.buildPartial();
+              }
+              bitField0_ |= 0x00000010;
+              break;
+            }
+            case 50: {
+              
org.apache.mesos.v1.agent.Protos.Call.LaunchNestedContainer.Builder subBuilder 
= null;
+              if (((bitField0_ & 0x00000020) == 0x00000020)) {
+                subBuilder = launchNestedContainer_.toBuilder();
+              }
+              launchNestedContainer_ = 
input.readMessage(org.apache.mesos.v1.agent.Protos.Call.LaunchNestedContainer.PARSER,
 extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(launchNestedContainer_);
+                launchNestedContainer_ = subBuilder.buildPartial();
+              }
+              bitField0_ |= 0x00000020;
+              break;
+            }
+            case 58: {
+              
org.apache.mesos.v1.agent.Protos.Call.WaitNestedContainer.Builder subBuilder = 
null;
+              if (((bitField0_ & 0x00000040) == 0x00000040)) {
+                subBuilder = waitNestedContainer_.toBuilder();
+              }
+              waitNestedContainer_ = 
input.readMessage(org.apache.mesos.v1.agent.Protos.Call.WaitNestedContainer.PARSER,
 extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(waitNestedContainer_);
+                waitNestedContainer_ = subBuilder.buildPartial();
+              }
+              bitField0_ |= 0x00000040;
+              break;
+            }
+            case 66: {
+              
org.apache.mesos.v1.agent.Protos.Call.KillNestedContainer.Builder subBuilder = 
null;
+              if (((bitField0_ & 0x00000080) == 0x00000080)) {
+                subBuilder = killNestedContainer_.toBuilder();
+              }
+              killNestedContainer_ = 
input.readMessage(org.apache.mesos.v1.agent.Protos.Call.KillNestedContainer.PARSER,
 extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(killNestedContainer_);
+                killNestedContainer_ = subBuilder.buildPartial();
+              }
+              bitField0_ |= 0x00000080;
+              break;
+            }
+            case 74: {
+              
org.apache.mesos.v1.agent.Protos.Call.LaunchNestedContainerSession.Builder 
subBuilder = null;
+              if (((bitField0_ & 0x00000200) == 0x00000200)) {
+                subBuilder = launchNestedContainerSession_.toBuilder();
+              }
+              launchNestedContainerSession_ = 
input.readMessage(org.apache.mesos.v1.agent.Protos.Call.LaunchNestedContainerSession.PARSER,
 extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(launchNestedContainerSession_);
+                launchNestedContainerSession_ = subBuilder.buildPartial();
+              }
+              bitField0_ |= 0x00000200;
+              break;
+            }
+            case 82: {
+              
org.apache.mesos.v1.agent.Protos.Call.AttachContainerInput.Builder subBuilder = 
null;
+              if (((bitField0_ & 0x00000400) == 0x00000400)) {
+                subBuilder = attachContainerInput_.toBuilder();
+              }
+              attachContainerInput_ = 
input.readMessage(org.apache.mesos.v1.agent.Protos.Call.AttachContainerInput.PARSER,
 extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(attachContainerInput_);
+                attachContainerInput_ = subBuilder.buildPartial();
+              }
+              bitField0_ |= 0x00000400;
+              break;
+            }
+            case 90: {
+              
org.apache.mesos.v1.agent.Protos.Call.AttachContainerOutput.Builder subBuilder 
= null;
+              if (((bitField0_ & 0x00000800) == 0x00000800)) {
+                subBuilder = attachContainerOutput_.toBuilder();
+              }
+              attachContainerOutput_ = 
input.readMessage(org.apache.mesos.v1.agent.Protos.Call.AttachContainerOutput.PARSER,
 extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(attachContainerOutput_);
+                attachContainerOutput_ = subBuilder.buildPartial();
+              }
+              bitField0_ |= 0x00000800;
+              break;
+            }
+            case 98: {
+              
org.apache.mesos.v1.agent.Protos.Call.RemoveNestedContainer.Builder subBuilder 
= null;
+              if (((bitField0_ & 0x00000100) == 0x00000100)) {
+                subBuilder = removeNestedContainer_.toBuilder();
+              }
+              removeNestedContainer_ = 
input.readMessage(org.apache.mesos.v1.agent.Protos.Call.RemoveNestedContainer.PARSER,
 extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(removeNestedContainer_);
+                removeNestedContainer_ = subBuilder.buildPartial();
+              }
+              bitField0_ |= 0x00000100;
+              break;
+            }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e.getMessage()).setUnfinishedMessage(this);
+      } finally {
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return 
org.apache.mesos.v1.agent.Protos.internal_static_mesos_v1_agent_Call_descriptor;
+    }
+
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return 
org.apache.mesos.v1.agent.Protos.internal_static_mesos_v1_agent_Call_fieldAccessorTable
+          .ensureFieldAccessorsInitialized(
+              org.apache.mesos.v1.agent.Protos.Call.class, 
org.apache.mesos.v1.agent.Protos.Call.Builder.class);
+    }
+
+    public static com.google.protobuf.Parser<Call> PARSER =
+        new com.google.protobuf.AbstractParser<Call>() {
+      public Call parsePartialFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return new Call(input, extensionRegistry);
+      }
+    };
+
+    @java.lang.Override
+    public com.google.protobuf.Parser<Call> getParserForType() {
+      return PARSER;
+    }
+
+    /**
+     * Protobuf enum {@code mesos.v1.agent.Call.Type}
+     *
+     * <pre>
+     * If a call of type `Call::FOO` requires additional parameters they can be
+     * included in the corresponding `Call::Foo` message. Similarly, if a call
+     * receives a synchronous response it will be returned as a `Response`
+     * message of type `Response::FOO`; see 
`Call::LaunchNestedContainerSession`
+     * and `Call::AttachContainerOutput` for exceptions.
+     * </pre>
+     */
+    public enum Type
+        implements com.google.protobuf.ProtocolMessageEnum {
+      /**
+       * <code>UNKNOWN = 0;</code>
+       */
+      UNKNOWN(0, 0),
+      /**
+       * <code>GET_HEALTH = 1;</code>
+       *
+       * <pre>
+       * Retrieves the agent's health status.
+       * </pre>
+       */
+      GET_HEALTH(1, 1),
+      /**
+       * <code>GET_FLAGS = 2;</code>
+       *
+       * <pre>
+       * Retrieves the agent's flag configuration.
+       * </pre>
+       */
+      GET_FLAGS(2, 2),
+      /**
+       * <code>GET_VERSION = 3;</code>
+       *
+       * <pre>
+       * Retrieves the agent's version information.
+       * </pre>
+       */
+      GET_VERSION(3, 3),
+      /**
+       * <code>GET_METRICS = 4;</code>
+       *
+       * <pre>
+       * See 'GetMetrics' below.
+       * </pre>
+       */
+      GET_METRICS(4, 4),
+      /**
+       * <code>GET_LOGGING_LEVEL = 5;</code>
+       *
+       * <pre>
+       * Retrieves the agent's logging level.
+       * </pre>
+       */
+      GET_LOGGING_LEVEL(5, 5),
+      /**
+       * <code>SET_LOGGING_LEVEL = 6;</code>
+       *
+       * <pre>
+       * See 'SetLoggingLevel' below.
+       * </pre>
+       */
+      SET_LOGGING_LEVEL(6, 6),
+      /**
+       * <code>LIST_FILES = 7;</code>
+       */
+      LIST_FILES(7, 7),
+      /**
+       * <code>READ_FILE = 8;</code>
+       *
+       * <pre>
+       * See 'ReadFile' below.
+       * </pre>
+       */
+      READ_FILE(8, 8),
+      /**
+       * <code>GET_STATE = 9;</code>
+       */
+      GET_STATE(9, 9),
+      /**
+       * <code>GET_CONTAINERS = 10;</code>
+       */
+      GET_CONTAINERS(10, 10),
+      /**
+       * <code>GET_FRAMEWORKS = 11;</code>
+       *
+       * <pre>
+       * Retrieves the information about known frameworks.
+       * </pre>
+       */
+      GET_FRAMEWORKS(11, 11),
+      /**
+       * <code>GET_EXECUTORS = 12;</code>
+       *
+       * <pre>
+       * Retrieves the information about known executors.
+       * </pre>
+       */
+      GET_EXECUTORS(12, 12),
+      /**
+       * <code>GET_TASKS = 13;</code>
+       *
+       * <pre>
+       * Retrieves the information about known tasks.
+       * </pre>
+       */
+      GET_TASKS(13, 13),
+      /**
+       * <code>GET_AGENT = 20;</code>
+       *
+       * <pre>
+       * Retrieves the agent information.
+       * </pre>
+       */
+      GET_AGENT(14, 20),
+      /**
+       * <code>LAUNCH_NESTED_CONTAINER = 14;</code>
+       *
+       * <pre>
+       * Calls for managing nested containers underneath an executor's 
container.
+       * </pre>
+       */
+      LAUNCH_NESTED_CONTAINER(15, 14),
+      /**
+       * <code>WAIT_NESTED_CONTAINER = 15;</code>
+       *
+       * <pre>
+       * See 'WaitNestedContainer' below.
+       * </pre>
+       */
+      WAIT_NESTED_CONTAINER(16, 15),
+      /**
+       * <code>KILL_NESTED_CONTAINER = 16;</code>
+       *
+       * <pre>
+       * See 'KillNestedContainer' below.
+       * </pre>
+       */
+      KILL_NESTED_CONTAINER(17, 16),
+      /**
+       * <code>REMOVE_NESTED_CONTAINER = 21;</code>
+       *
+       * <pre>
+       * See 'RemoveNestedContainer' below.
+       * </pre>
+       */
+      REMOVE_NESTED_CONTAINER(18, 21),
+      /**
+       * <code>LAUNCH_NESTED_CONTAINER_SESSION = 17;</code>
+       *
+       * <pre>
+       * See 'LaunchNestedContainerSession' below.
+       * </pre>
+       */
+      LAUNCH_NESTED_CONTAINER_SESSION(19, 17),
+      /**
+       * <code>ATTACH_CONTAINER_INPUT = 18;</code>
+       *
+       * <pre>
+       * See 'AttachContainerInput' below.
+       * </pre>
+       */
+      ATTACH_CONTAINER_INPUT(20, 18),
+      /**
+       * <code>ATTACH_CONTAINER_OUTPUT = 19;</code>
+       *
+       * <pre>
+       * see 'AttachContainerOutput' below.
+       * </pre>
+       */
+      ATTACH_CONTAINER_OUTPUT(21, 19),
+      ;
+
+      /**
+       * <code>UNKNOWN = 0;</code>
+       */
+      public static final int UNKNOWN_VALUE = 0;
+      /**
+       * <code>GET_HEALTH = 1;</code>
+       *
+       * <pre>
+       * Retrieves the agent's health status.
+       * </pre>
+       */
+      public static final int GET_HEALTH_VALUE = 1;
+      /**
+       * <code>GET_FLAGS = 2;</code>
+       *
+       * <pre>
+       * Retrieves the agent's flag configuration.
+       * </pre>
+       */
+      public static final int GET_FLAGS_VALUE = 2;
+      /**
+       * <code>GET_VERSION = 3;</code>
+       *
+       * <pre>
+       * Retrieves the agent's version information.
+       * </pre>
+       */
+      public static final int GET_VERSION_VALUE = 3;
+      /**
+       * <code>GET_METRICS = 4;</code>
+       *
+       * <pre>
+       * See 'GetMetrics' below.
+       * </pre>
+       */
+      public static final int GET_METRICS_VALUE = 4;
+      /**
+       * <code>GET_LOGGING_LEVEL = 5;</code>
+       *
+       * <pre>
+       * Retrieves the agent's logging level.
+       * </pre>
+       */
+      public static final int GET_LOGGING_LEVEL_VALUE = 5;
+      /**
+       * <code>SET_LOGGING_LEVEL = 6;</code>
+       *
+       * <pre>
+       * See 'SetLoggingLevel' below.
+       * </pre>
+       */
+      public static final int SET_LOGGING_LEVEL_VALUE = 6;
+      /**
+       * <code>LIST_FILES = 7;</code>
+       */
+      public static final int LIST_FILES_VALUE = 7;
+      /**
+       * <code>READ_FILE = 8;</code>
+       *
+       * <pre>
+       * See 'ReadFile' below.
+       * </pre>
+       */
+      public static final int READ_FILE_VALUE = 8;
+      /**
+       * <code>GET_STATE = 9;</code>
+       */
+      public static final int GET_STATE_VALUE = 9;
+      /**
+       * <code>GET_CONTAINERS = 10;</code>
+       */
+      public static final int GET_CONTAINERS_VALUE = 10;
+      /**
+       * <code>GET_FRAMEWORKS = 11;</code>
+       *
+       * <pre>
+       * Retrieves the information about known frameworks.
+       * </pre>
+       */
+      public static final int GET_FRAMEWORKS_VALUE = 11;
+      /**
+       * <code>GET_EXECUTORS = 12;</code>
+       *
+       * <pre>
+       * Retrieves the information about known executors.
+       * </pre>
+       */
+      public static final int GET_EXECUTORS_VALUE = 12;
+      /**
+       * <code>GET_TASKS = 13;</code>
+       *
+       * <pre>
+       * Retrieves the information about known tasks.
+       * </pre>
+       */
+      public static final int GET_TASKS_VALUE = 13;
+      /**
+       * <code>GET_AGENT = 20;</code>
+       *
+       * <pre>
+       * Retrieves the agent information.
+       * </pre>
+       */
+      public static final int GET_AGENT_VALUE = 20;
+      /**
+       * <code>LAUNCH_NESTED_CONTAINER = 14;</code>
+       *
+       * <pre>
+       * Calls for managing nested containers underneath an executor's 
container.
+       * </pre>
+       */
+      public static final int LAUNCH_NESTED_CONTAINER_VALUE = 14;
+      /**
+       * <code>WAIT_NESTED_CONTAINER = 15;</code>
+       *
+       * <pre>
+       * See 'WaitNestedContainer' below.
+       * </pre>
+       */
+      public static final int WAIT_NESTED_CONTAINER_VALUE = 15;
+      /**
+       * <code>KILL_NESTED_CONTAINER = 16;</code>
+       *
+       * <pre>
+       * See 'KillNestedContainer' below.
+       * </pre>
+       */
+      public static final int KILL_NESTED_CONTAINER_VALUE = 16;
+      /**
+       * <code>REMOVE_NESTED_CONTAINER = 21;</code>
+       *
+       * <pre>
+       * See 'RemoveNestedContainer' below.
+       * </pre>
+       */
+      public static final int REMOVE_NESTED_CONTAINER_VALUE = 21;
+      /**
+       * <code>LAUNCH_NESTED_CONTAINER_SESSION = 17;</code>
+       *
+       * <pre>
+       * See 'LaunchNestedContainerSession' below.
+       * </pre>
+       */
+      public static final int LAUNCH_NESTED_CONTAINER_SESSION_VALUE = 17;
+      /**
+       * <code>ATTACH_CONTAINER_INPUT = 18;</code>
+       *
+       * <pre>
+       * See 'AttachContainerInput' below.
+       * </pre>
+       */
+      public static final int ATTACH_CONTAINER_INPUT_VALUE = 18;
+      /**
+       * <code>ATTACH_CONTAINER_OUTPUT = 19;</code>
+       *
+       * <pre>
+       * see 'AttachContainerOutput' below.
+       * </pre>
+       */
+      public static final int ATTACH_CONTAINER_OUTPUT_VALUE = 19;
+
+
+      public final int getNumber() { return value; }
+
+      public static Type valueOf(int value) {
+        switch (value) {
+          case 0: return UNKNOWN;
+          case 1: return GET_HEALTH;
+          case 2: return GET_FLAGS;
+          case 3: return GET_VERSION;
+          case 4: return GET_METRICS;
+          case 5: return GET_LOGGING_LEVEL;
+          case 6: return SET_LOGGING_LEVEL;
+          case 7: return LIST_FILES;
+          case 8: return READ_FILE;
+          case 9: return GET_STATE;
+          case 10: return GET_CONTAINERS;
+          case 11: return GET_FRAMEWORKS;
+          case 12: return GET_EXECUTORS;
+          case 13: return GET_TASKS;
+          case 20: return GET_AGENT;
+          case 14: return LAUNCH_NESTED_CONTAINER;
+          case 15: return WAIT_NESTED_CONTAINER;
+          case 16: return KILL_NESTED_CONTAINER;
+          case 21: return REMOVE_NESTED_CONTAINER;
+          case 17: return LAUNCH_NESTED_CONTAINER_SESSION;
+          case 18: return ATTACH_CONTAINER_INPUT;
+          case 19: return ATTACH_CONTAINER_OUTPUT;
+          default: return null;
+        }
+      }
+
+      public static com.google.protobuf.Internal.EnumLiteMap<Type>
+          internalGetValueMap() {
+        return internalValueMap;
+      }
+      private static com.google.protobuf.Internal.EnumLiteMap<Type>
+          internalValueMap =
+            new com.google.protobuf.Internal.EnumLiteMap<Type>() {
+              public Type findValueByNumber(int number) {
+                return Type.valueOf(number);
+              }
+            };
+
+      public final com.google.protobuf.Descriptors.EnumValueDescriptor
+          getValueDescriptor() {
+        return getDescriptor().getValues().get(index);
+      }
+      public final com.google.protobuf.Descriptors.EnumDescriptor
+          getDescriptorForType() {
+        return getDescriptor();
+      }
+      public static final com.google.protobuf.Descriptors.EnumDescriptor
+          getDescriptor() {
+        return 
org.apache.mesos.v1.agent.Protos.Call.getDescriptor().getEnumTypes().get(0);
+      }
+
+      private static final Type[] VALUES = values();
+
+      public static Type valueOf(
+          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+        if (desc.getType() != getDescriptor()) {
+          throw new java.lang.IllegalArgumentException(
+            "EnumValueDescriptor is not for this type.");
+        }
+        return VALUES[desc.getIndex()];
+      }
+
+      private final int index;
+      private final int value;
+
+      private Type(int index, int value) {
+        this.index = index;
+        this.value = value;
+      }
+
+      // @@protoc_insertion_point(enum_scope:mesos.v1.agent.Call.Type)
+    }
+
+    public interface GetMetricsOrBuilder
+        extends com.google.protobuf.MessageOrBuilder {
+
+      // optional .mesos.v1.DurationInfo timeout = 1;
+      /**
+       * <code>optional .mesos.v1.DurationInfo timeout = 1;</code>
+       *
+       * <pre>
+       * If set, `timeout` would be used to determines the maximum amount of 
time
+       * the API will take to respond. If the timeout is exceeded, some metrics
+       * may not be included in the response.
+       * </pre>
+       */
+      boolean hasTimeout();
+      /**
+       * <code>optional .mesos.v1.DurationInfo timeout = 1;</code>
+       *
+       * <pre>
+       * If set, `timeout` would be used to determines the maximum amount of 
time
+       * the API will take to respond. If the timeout is exceeded, some metrics
+       * may not be included in the response.
+       * </pre>
+       */
+      org.apache.mesos.v1.Protos.DurationInfo getTimeout();
+      /**
+       * <code>optional .mesos.v1.DurationInfo timeout = 1;</code>
+       *
+       * <pre>
+       * If set, `timeout` would be used to determines the maximum amount of 
time
+       * the API will take to respond. If the timeout is exceeded, some metrics
+       * may not be included in the response.
+       * </pre>
+       */
+      org.apache.mesos.v1.Protos.DurationInfoOrBuilder getTimeoutOrBuilder();
+    }
+    /**
+     * Protobuf type {@code mesos.v1.agent.Call.GetMetrics}
+     *
+     * <pre>
+     * Provides a snapshot of the current metrics tracked by the agent.
+     * </pre>
+     */
+    public static final class GetMetrics extends
+        com.google.protobuf.GeneratedMessage
+        implements GetMetricsOrBuilder {
+      // Use GetMetrics.newBuilder() to construct.
+      private GetMetrics(com.google.protobuf.GeneratedMessage.Builder<?> 
builder) {
+        super(builder);
+        this.unknownFields = builder.getUnknownFields();
+      }
+      private GetMetrics(boolean noInit) { this.unknownFields = 
com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+      private static final GetMetrics defaultInstance;
+      public static GetMetrics getDefaultInstance() {
+        return defaultInstance;
+      }
+
+      public GetMetrics getDefaultInstanceForType() {
+        return defaultInstance;
+      }
+
+      private final com.google.protobuf.UnknownFieldSet unknownFields;
+      @java.lang.Override
+      public final com.google.protobuf.UnknownFieldSet
+          getUnknownFields() {
+        return this.unknownFields;
+      }
+      private GetMetrics(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        initFields();
+        int mutable_bitField0_ = 0;
+        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+            com.google.protobuf.UnknownFieldSet.newBuilder();
+        try {
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              default: {
+                if (!parseUnknownField(input, unknownFields,
+                                       extensionRegistry, tag)) {
+                  done = true;
+                }
+                break;
+              }
+              case 10: {
+                org.apache.mesos.v1.Protos.DurationInfo.Builder subBuilder = 
null;
+                if (((bitField0_ & 0x00000001) == 0x00000001)) {
+                  subBuilder = timeout_.toBuilder();
+                }
+                timeout_ = 
input.readMessage(org.apache.mesos.v1.Protos.DurationInfo.PARSER, 
extensionRegistry);
+                if (subBuilder != null) {
+                  subBuilder.mergeFrom(timeout_);
+                  timeout_ = subBuilder.buildPartial();
+                }
+                bitField0_ |= 0x00000001;
+                break;
+              }
+            }
+          }
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(this);
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(
+              e.getMessage()).setUnfinishedMessage(this);
+        } finally {
+          this.unknownFields = unknownFields.build();
+          makeExtensionsImmutable();
+        }
+      }
+      public static final com.google.protobuf.Descriptors.Descriptor
+          getDescriptor() {
+        return 
org.apache.mesos.v1.agent.Protos.internal_static_mesos_v1_agent_Call_GetMetrics_descriptor;
+      }
+
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+          internalGetFieldAccessorTable() {
+        return 
org.apache.mesos.v1.agent.Protos.internal_static_mesos_v1_agent_Call_GetMetrics_fieldAccessorTable
+            .ensureFieldAccessorsInitialized(
+                org.apache.mesos.v1.agent.Protos.Call.GetMetrics.class, 
org.apache.mesos.v1.agent.Protos.Call.GetMetrics.Builder.class);
+      }
+
+      public static com.google.protobuf.Parser<GetMetrics> PARSER =
+          new com.google.protobuf.AbstractParser<GetMetrics>() {
+        public GetMetrics parsePartialFrom(
+            com.google.protobuf.CodedInputStream input,
+            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+            throws com.google.protobuf.InvalidProtocolBufferException {
+          return new GetMetrics(input, extensionRegistry);
+        }
+      };
+
+      @java.lang.Override
+      public com.google.protobuf.Parser<GetMetrics> getParserForType() {
+        return PARSER;
+      }
+
+      private int bitField0_;
+      // optional .mesos.v1.DurationInfo timeout = 1;
+      public static final int TIMEOUT_FIELD_NUMBER = 1;
+      private org.apache.mesos.v1.Protos.DurationInfo timeout_;
+      /**
+       * <code>optional .mesos.v1.DurationInfo timeout = 1;</code>
+       *
+       * <pre>
+       * If set, `timeout` would be used to determines the maximum amount of 
time
+       * the API will take to respond. If the timeout is exceeded, some metrics
+       * may not be included in the response.
+       * </pre>
+       */
+      public boolean hasTimeout() {
+        return ((bitField0_ & 0x00000001) == 0x00000001);
+      }
+      /**
+       * <code>optional .mesos.v1.DurationInfo timeout = 1;</code>
+       *
+       * <pre>
+       * If set, `timeout` would be used to determines the maximum amount of 
time
+       * the API will take to respond. If the timeout is exceeded, some metrics
+       * may not be included in the response.
+       * </pre>
+       */
+      public org.apache.mesos.v1.Protos.DurationInfo getTimeout() {
+        return timeout_;
+      }
+      /**
+       * <code>optional .mesos.v1.DurationInfo timeout = 1;</code>
+       *
+       * <pre>
+       * If set, `timeout` would be used to determines the maximum amount of 
time
+       * the API will take to respond. If the timeout is exceeded, some metrics
+       * may not be included in the response.
+       * </pre>
+       */
+      public org.apache.mesos.v1.Protos.DurationInfoOrBuilder 
getTimeoutOrBuilder() {
+        return timeout_;
+      }
+
+      private void initFields() {
+        timeout_ = 
org.apache.mesos.v1.Protos.DurationInfo.getDefaultInstance();
+      }
+      private byte memoizedIsInitialized = -1;
+      public final boolean isInitialized() {
+        byte isInitialized = memoizedIsInitialized;
+        if (isInitialized != -1) return isInitialized == 1;
+
+        if (hasTimeout()) {
+          if (!getTimeout().isInitialized()) {
+            memoizedIsInitialized = 0;
+            return false;
+          }
+        }
+        memoizedIsInitialized = 1;
+        return true;
+      }
+
+      public void writeTo(com.google.protobuf.CodedOutputStream output)
+                          throws java.io.IOException {
+        getSerializedSize();
+        if (((bitField0_ & 0x00000001) == 0x00000001)) {
+          output.writeMessage(1, timeout_);
+        }
+        getUnknownFields().writeTo(output);
+      }
+
+      private int memoizedSerializedSize = -1;
+      public int getSerializedSize() {
+        int size = memoizedSerializedSize;
+        if (size != -1) return size;
+
+        size = 0;
+        if (((bitField0_ & 0x00000001) == 0x00000001)) {
+          size += com.google.protobuf.CodedOutputStream
+            .computeMessageSize(1, timeout_);
+        }
+        size += getUnknownFields().getSerializedSize();
+        memoizedSerializedSize = size;
+        return size;
+      }
+
+      private static final long serialVersionUID = 0L;
+      @java.lang.Override
+      protected java.lang.Object writeReplace()
+          throws java.io.ObjectStreamException {
+        return super.writeReplace();
+      }
+
+      public static org.apache.mesos.v1.agent.Protos.Call.GetMetrics parseFrom(
+          com.google.protobuf.ByteString data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+      public static org.apache.mesos.v1.agent.Protos.Call.GetMetrics parseFrom(
+          com.google.protobuf.ByteString data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+      public static org.apache.mesos.v1.agent.Protos.Call.GetMetrics 
parseFrom(byte[] data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+      public static org.apache.mesos.v1.agent.Protos.Call.GetMetrics parseFrom(
+          byte[] data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+      public static org.apache.mesos.v1.agent.Protos.Call.GetMetrics 
parseFrom(java.io.InputStream input)
+          throws java.io.IOException {
+        return PARSER.parseFrom(input);
+      }
+      public static org.apache.mesos.v1.agent.Protos.Call.GetMetrics parseFrom(
+          java.io.InputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        return PARSER.parseFrom(input, extensionRegistry);
+      }
+      public static org.apache.mesos.v1.agent.Protos.Call.GetMetrics 
parseDelimitedFrom(java.io.InputStream input)
+          throws java.io.IOException {
+        return PARSER.parseDelimitedFrom(input);
+      }
+      public static org.apache.mesos.v1.agent.Protos.Call.GetMetrics 
parseDelimitedFrom(
+          java.io.InputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        return PARSER.parseDelimitedFrom(input, extensionRegistry);
+      }
+      public static org.apache.mesos.v1.agent.Protos.Call.GetMetrics parseFrom(
+          com.google.protobuf.CodedInputStream input)
+          throws java.io.IOException {
+        return PARSER.parseFrom(input);
+      }
+      public static org.apache.mesos.v1.agent.Protos.Call.GetMetrics parseFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        return PARSER.parseFrom(input, extensionRegistry);
+      }
+
+      public static Builder newBuilder() { return Builder.create(); }
+      public Builder newBuilderForType() { return newBuilder(); }
+      public static Builder 
newBuilder(org.apache.mesos.v1.agent.Protos.Call.GetMetrics prototype) {
+        return newBuilder().mergeFrom(prototype);
+      }
+      public Builder toBuilder() { return newBuilder(this); }
+
+      @java.lang.Override
+      protected Builder newBuilderForType(
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        Builder builder = new Builder(parent);
+        return builder;
+      }
+      /**
+       * Protobuf type {@code mesos.v1.agent.Call.GetMetrics}
+       *
+       * <pre>
+       * Provides a snapshot of the current metrics tracked by the agent.
+       * </pre>
+       */
+      public static final class Builder extends
+          com.google.protobuf.GeneratedMessage.Builder<Builder>
+         implements org.apache.mesos.v1.agent.Protos.Call.GetMetricsOrBuilder {
+        public static final com.google.protobuf.Descriptors.Descriptor
+            getDescriptor() {
+          return 
org.apache.mesos.v1.agent.Protos.internal_static_mesos_v1_agent_Call_GetMetrics_descriptor;
+        }
+
+        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+            internalGetFieldAccessorTable() {
+          return 
org.apache.mesos.v1.agent.Protos.internal_static_mesos_v1_agent_Call_GetMetrics_fieldAccessorTable
+              .ensureFieldAccessorsInitialized(
+                  org.apache.mesos.v1.agent.Protos.Call.GetMetrics.class, 
org.apache.mesos.v1.agent.Protos.Call.GetMetrics.Builder.class);
+        }
+
+        // Construct using 
org.apache.mesos.v1.agent.Protos.Call.GetMetrics.newBuilder()
+        private Builder() {
+          maybeForceBuilderInitialization();
+        }
+
+        private Builder(
+            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+          super(parent);
+          maybeForceBuilderInitialization();
+        }
+        private void maybeForceBuilderInitialization() {
+          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+            getTimeoutFieldBuilder();
+          }
+        }
+        private static Builder create() {
+          return new Builder();
+        }
+
+        public Builder clear() {
+          super.clear();
+          if (timeoutBuilder_ == null) {
+            timeout_ = 
org.apache.mesos.v1.Protos.DurationInfo.getDefaultInstance();
+          } else {
+            timeoutBuilder_.clear();
+          }
+          bitField0_ = (bitField0_ & ~0x00000001);
+          return this;
+        }
+
+        public Builder clone() {
+          return create().mergeFrom(buildPartial());
+        }
+
+        public com.google.protobuf.Descriptors.Descriptor
+            getDescriptorForType() {
+          return 
org.apache.mesos.v1.agent.Protos.internal_static_mesos_v1_agent_Call_GetMetrics_descriptor;
+        }
+
+        public org.apache.mesos.v1.agent.Protos.Call.GetMetrics 
getDefaultInstanceForType() {
+          return 
org.apache.mesos.v1.agent.Protos.Call.GetMetrics.getDefaultInstance();
+        }
+
+        public org.apache.mesos.v1.agent.Protos.Call.GetMetrics build() {
+          org.apache.mesos.v1.agent.Protos.Call.GetMetrics result = 
buildPartial();
+          if (!result.isInitialized()) {
+            throw newUninitializedMessageException(result);
+          }
+          return result;
+        }
+
+        public org.apache.mesos.v1.agent.Protos.Call.GetMetrics buildPartial() 
{
+          org.apache.mesos.v1.agent.Protos.Call.GetMetrics result = new 
org.apache.mesos.v1.agent.Protos.Call.GetMetrics(this);
+          int from_bitField0_ = bitField0_;
+          int to_bitField0_ = 0;
+          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+            to_bitField0_ |= 0x00000001;
+          }
+          if (timeoutBuilder_ == null) {
+            result.timeout_ = timeout_;
+          } else {
+            result.timeout_ = timeoutBuilder_.build();
+          }
+          result.bitField0_ = to_bitField0_;
+          onBuilt();
+          return result;
+        }
+
+        public Builder mergeFrom(com.google.protobuf.Message other) {
+          if (other instanceof 
org.apache.mesos.v1.agent.Protos.Call.GetMetrics) {
+            return 
mergeFrom((org.apache.mesos.v1.agent.Protos.Call.GetMetrics)other);
+          } else {
+            super.mergeFrom(other);
+            return this;
+          }
+        }
+
+        public Builder 
mergeFrom(org.apache.mesos.v1.agent.Protos.Call.GetMetrics other) {
+          if (other == 
org.apache.mesos.v1.agent.Protos.Call.GetMetrics.getDefaultInstance()) return 
this;
+          if (other.hasTimeout()) {
+            mergeTimeout(other.getTimeout());
+          }
+          this.mergeUnknownFields(other.getUnknownFields());
+          return this;
+        }
+
+        public final boolean isInitialized() {
+          if (hasTimeout()) {
+            if (!getTimeout().isInitialized()) {
+              
+              return false;
+            }
+          }
+          return true;
+        }
+
+        public Builder mergeFrom(
+            com.google.protobuf.CodedInputStream input,
+            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+            throws java.io.IOException {
+          org.apache.mesos.v1.agent.Protos.Call.GetMetrics parsedMessage = 
null;
+          try {
+            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+            parsedMessage = (org.apache.mesos.v1.agent.Protos.Call.GetMetrics) 
e.getUnfinishedMessage();
+            throw e;
+          } finally {
+            if (parsedMessage != null) {
+              mergeFrom(parsedMessage);
+            }
+          }
+          return this;
+        }
+        private int bitField0_;
+
+        // optional .mesos.v1.DurationInfo timeout = 1;
+        private org.apache.mesos.v1.Protos.DurationInfo timeout_ = 
org.apache.mesos.v1.Protos.DurationInfo.getDefaultInstance();
+        private com.google.protobuf.SingleFieldBuilder<
+            org.apache.mesos.v1.Protos.DurationInfo, 
org.apache.mesos.v1.Protos.DurationInfo.Builder, 
org.apache.mesos.v1.Protos.DurationInfoOrBuilder> timeoutBuilder_;
+        /**
+         * <code>optional .mesos.v1.DurationInfo timeout = 1;</code>
+         *
+         * <pre>
+         * If set, `timeout` would be used to determines the maximum amount of 
time
+         * the API will take to respond. If the timeout is exceeded, some 
metrics
+         * may not be included in the response.
+         * </pre>
+         */
+        public boolean hasTimeout() {
+          return ((bitField0_ & 0x00000001) == 0x00000001);
+        }
+        /**
+         * <code>optional .mesos.v1.DurationInfo timeout = 1;</code>
+         *
+         * <pre>
+         * If set, `timeout` would be used to determines the maximum amount of 
time
+         * the API will take to respond. If the timeout is exceeded, some 
metrics
+         * may not be included in the response.
+         * </pre>
+         */
+        public org.apache.mesos.v1.Protos.DurationInfo getTimeout() {
+          if (timeoutBuilder_ == null) {
+            return timeout_;
+          } else {
+            return timeoutBuilder_.getMessage();
+          }
+        }
+        /**
+         * <code>optional .mesos.v1.DurationInfo timeout = 1;</code>
+         *
+         * <pre>
+         * If set, `timeout` would be used to determines the maximum amount of 
time
+         * the API will take to respond. If the timeout is exceeded, some 
metrics
+         * may not be included in the response.
+         * </pre>
+         */
+        public Builder setTimeout(org.apache.mesos.v1.Protos.DurationInfo 
value) {
+          if (timeoutBuilder_ == null) {
+            if (value == null) {
+              throw new NullPointerException();
+            }
+            timeout_ = value;
+            onChanged();
+          } else {
+            timeoutBuilder_.setMessage(value);
+          }
+          bitField0_ |= 0x00000001;
+          return this;
+        }
+        /**
+         * <code>optional .mesos.v1.DurationInfo timeout = 1;</code>
+         *
+         * <pre>
+         * If set, `timeout` would be used to determines the maximum amount of 
time
+         * the API will take to respond. If the timeout is exceeded, some 
metrics
+         * may not be included in the response.
+         * </pre>
+         */
+        public Builder setTimeout(
+            org.apache.mesos.v1.Protos.DurationInfo.Builder builderForValue) {
+          if (timeoutBuilder_ == null) {
+            timeout_ = builderForValue.build();
+            onChanged();
+          } else {
+            timeoutBuilder_.setMessage(builderForValue.build());
+          }
+          bitField0_ |= 0x00000001;
+          return this;
+        }
+        /**
+         * <code>optional .mesos.v1.DurationInfo timeout = 1;</code>
+         *
+         * <pre>
+         * If set, `timeout` would be used to determines the maximum amount of 
time
+         * the API will take to respond. If the timeout is exceeded, some 
metrics
+         * may not be included in the response.
+         * </pre>
+         */
+        public Builder mergeTimeout(org.apache.mesos.v1.Protos.DurationInfo 
value) {
+          if (timeoutBuilder_ == null) {
+            if (((bitField0_ & 0x00000001) == 0x00000001) &&
+                timeout_ != 
org.apache.mesos.v1.Protos.DurationInfo.getDefaultInstance()) {
+              timeout_ =
+                
org.apache.mesos.v1.Protos.DurationInfo.newBuilder(timeout_).mergeFrom(value).buildPartial();
+            } else {
+              timeout_ = value;
+            }
+            onChanged();
+          } else {
+            timeoutBuilder_.mergeFrom(value);
+          }
+          bitField0_ |= 0x00000001;
+          return this;
+        }
+        /**
+         * <code>optional .mesos.v1.DurationInfo timeout = 1;</code>
+         *
+         * <pre>
+         * If set, `timeout` would be used to determines the maximum amount of 
time
+         * the API will take to respond. If the timeout is exceeded, some 
metrics
+         * may not be included in the response.
+         * </pre>
+         */
+        public Builder clearTimeout() {
+          if (timeoutBuilder_ == null) {
+            timeout_ = 
org.apache.mesos.v1.Protos.DurationInfo.getDefaultInstance();
+            onChanged();
+          } else {
+            timeoutBuilder_.clear();
+          }
+          bitField0_ = (bitField0_ & ~0x00000001);
+          return this;
+        }
+        /**
+         * <code>optional .mesos.v1.DurationInfo timeout = 1;</code>
+         *
+         * <pre>
+         * If set, `timeout` would be used to determines the maximum amount of 
time
+         * the API will take to respond. If the timeout is exceeded, some 
metrics
+         * may not be included in the response.
+         * </pre>
+         */
+        public org.apache.mesos.v1.Protos.DurationInfo.Builder 
getTimeoutBuilder() {
+          bitField0_ |= 0x00000001;
+          onChanged();
+          return getTimeoutFieldBuilder().getBuilder();
+        }
+        /**
+         * <code>optional .mesos.v1.DurationInfo timeout = 1;</code>
+         *
+         * <pre>
+         * If set, `timeout` would be used to determines the maximum amount of 
time
+         * the API will take to respond. If the timeout is exceeded, some 
metrics
+         * may not be included in the response.
+         * </pre>
+         */
+        public org.apache.mesos.v1.Protos.DurationInfoOrBuilder 
getTimeoutOrBuilder() {
+          if (timeoutBuilder_ != null) {
+            return timeoutBuilder_.getMessageOrBuilder();
+          } else {
+            return timeout_;
+          }
+        }
+        /**
+         * <code>optional .mesos.v1.DurationInfo timeout = 1;</code>
+         *
+         * <pre>
+         * If set, `timeout` would be used to determines the maximum amount of 
time
+         * the API will take to respond. If the timeout is exceeded, some 
metrics
+         * may not be included in the response.
+         * </pre>
+         */
+        private com.google.protobuf.SingleFieldBuilder<
+            org.apache.mesos.v1.Protos.DurationInfo, 
org.apache.mesos.v1.Protos.DurationInfo.Builder, 
org.apache.mesos.v1.Protos.DurationInfoOrBuilder> 
+            getTimeoutFieldBuilder() {
+          if (timeoutBuilder_ == null) {
+            timeoutBuilder_ = new com.google.protobuf.SingleFieldBuilder<
+                org.apache.mesos.v1.Protos.DurationInfo, 
org.apache.mesos.v1.Protos.DurationInfo.Builder, 
org.apache.mesos.v1.Protos.DurationInfoOrBuilder>(
+                    timeout_,
+                    getParentForChildren(),
+                    isClean());
+            timeout_ = null;
+          }
+          return timeoutBuilder_;
+        }
+
+        // 
@@protoc_insertion_point(builder_scope:mesos.v1.agent.Call.GetMetrics)
+      }
+
+      static {
+        defaultInstance = new GetMetrics(true);
+        defaultInstance.initFields();
+      }
+
+      // @@protoc_insertion_point(class_scope:mesos.v1.agent.Call.GetMetrics)
+    }
+
+    public interface SetLoggingLevelOrBuilder
+        extends com.google.protobuf.MessageOrBuilder {
+
+      // required uint32 level = 1;
+      /**
+       * <code>required uint32 level = 1;</code>
+       *
+       * <pre>
+       * The verbosity level.
+       * </pre>
+       */
+      boolean hasLevel();
+      /**
+       * <code>required uint32 level = 1;</code>
+       *
+       * <pre>
+       * The verbosity level.
+       * </pre>
+       */
+      int getLevel();
+
+      // required .mesos.v1.DurationInfo duration = 2;
+      /**
+       * <code>required .mesos.v1.DurationInfo duration = 2;</code>
+       *
+       * <pre>
+       * The duration to keep verbosity level toggled. After this duration, the
+       * verbosity level of log would revert to the original level.
+       * </pre>
+       */
+      boolean hasDuration();
+      /**
+       * <code>required .mesos.v1.DurationInfo duration = 2;</code>
+       *
+       * <pre>
+       * The duration to keep verbosity level toggled. After this duration, the
+       * verbosity level of log would revert to the original level.
+       * </pre>
+       */
+      org.apache.mesos.v1.Protos.DurationInfo getDuration();
+      /**
+       * <code>required .mesos.v1.DurationInfo duration = 2;</code>
+       *
+       * <pre>
+       * The duration to keep verbosity level toggled. After this duration, the
+       * verbosity level of log would revert to the original level.
+       * </pre>
+       */
+      org.apache.mesos.v1.Protos.DurationInfoOrBuilder getDurationOrBuilder();
+    }
+    /**
+     * Protobuf type {@code mesos.v1.agent.Call.SetLoggingLevel}
+     *
+     * <pre>
+     * Sets the logging verbosity level for a specified duration. Mesos uses
+     * [glog](https://github.com/google/glog) for logging. The library only 
uses
+     * verbose logging which means nothing will be output unless the verbosity
+     * level is set (by default it's 0, libprocess uses levels 1, 2, and 3).
+     * </pre>
+     */
+    public static final class SetLoggingLevel extends
+        com.google.protobuf.GeneratedMessage
+        implements SetLoggingLevelOrBuilder {
+      // Use SetLoggingLevel.newBuilder() to construct.
+      private SetLoggingLevel(com.google.protobuf.GeneratedMessage.Builder<?> 
builder) {
+        super(builder);
+        this.unknownFields = builder.getUnknownFields();
+      }
+      private SetLoggingLevel(boolean noInit) { this.unknownFields = 
com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+      private static final SetLoggingLevel defaultInstance;
+      public static SetLoggingLevel getDefaultInstance() {
+        return defaultInstance;
+      }
+
+      public SetLoggingLevel getDefaultInstanceForType() {
+        return defaultInstance;
+      }
+
+      private final com.google.protobuf.UnknownFieldSet unknownFields;
+      @java.lang.Override
+      public final com.google.protobuf.UnknownFieldSet
+          getUnknownFields() {
+        return this.unknownFields;
+      }
+      private SetLoggingLevel(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        initFields();
+        int mutable_bitField0_ = 0;
+        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+            com.google.protobuf.UnknownFieldSet.newBuilder();
+        try {
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              default: {
+                if (!parseUnknownField(input, unknownFields,
+                                       extensionRegistry, tag)) {
+                  done = true;
+                }
+                break;
+              }
+              case 8: {
+                bitField0_ |= 0x00000001;
+                level_ = input.readUInt32();
+                break;
+              }
+              case 18: {
+                org.apache.mesos.v1.Protos.DurationInfo.Builder subBuilder = 
null;
+                if (((bitField0_ & 0x00000002) == 0x00000002)) {
+                  subBuilder = duration_.toBuilder();
+                }
+                duration_ = 
input.readMessage(org.apache.mesos.v1.Protos.DurationInfo.PARSER, 
extensionRegistry);
+                if (subBuilder != null) {
+                  subBuilder.mergeFrom(duration_);
+                  duration_ = subBuilder.buildPartial();
+                }
+                bitField0_ |= 0x00000002;
+                break;
+              }
+            }
+          }
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(this);
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(
+              e.getMessage()).setUnfinishedMessage(this);
+        } finally {
+          this.unknownFields = unknownFields.build();
+          makeExtensionsImmutable();
+        }
+      }
+      public static final com.google.protobuf.Descriptors.Descriptor
+          getDescriptor() {
+        return 
org.apache.mesos.v1.agent.Protos.internal_static_mesos_v1_agent_Call_SetLoggingLevel_descriptor;
+      }
+
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+          internalGetFieldAccessorTable() {
+        return 
org.apache.mesos.v1.agent.Protos.internal_static_mesos_v1_agent_Call_SetLoggingLevel_fieldAccessorTable
+            .ensureFieldAccessorsInitialized(
+                org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel.class, 
org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel.Builder.class);
+      }
+
+      public static com.google.protobuf.Parser<SetLoggingLevel> PARSER =
+          new com.google.protobuf.AbstractParser<SetLoggingLevel>() {
+        public SetLoggingLevel parsePartialFrom(
+            com.google.protobuf.CodedInputStream input,
+            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+            throws com.google.protobuf.InvalidProtocolBufferException {
+          return new SetLoggingLevel(input, extensionRegistry);
+        }
+      };
+
+      @java.lang.Override
+      public com.google.protobuf.Parser<SetLoggingLevel> getParserForType() {
+        return PARSER;
+      }
+
+      private int bitField0_;
+      // required uint32 level = 1;
+      public static final int LEVEL_FIELD_NUMBER = 1;
+      private int level_;
+      /**
+       * <code>required uint32 level = 1;</code>
+       *
+       * <pre>
+       * The verbosity level.
+       * </pre>
+       */
+      public boolean hasLevel() {
+        return ((bitField0_ & 0x00000001) == 0x00000001);
+      }
+      /**
+       * <code>required uint32 level = 1;</code>
+       *
+       * <pre>
+       * The verbosity level.
+       * </pre>
+       */
+      public int getLevel() {
+        return level_;
+      }
+
+      // required .mesos.v1.DurationInfo duration = 2;
+      public static final int DURATION_FIELD_NUMBER = 2;
+      private org.apache.mesos.v1.Protos.DurationInfo duration_;
+      /**
+       * <code>required .mesos.v1.DurationInfo duration = 2;</code>
+       *
+       * <pre>
+       * The duration to keep verbosity level toggled. After this duration, the
+       * verbosity level of log would revert to the original level.
+       * </pre>
+       */
+      public boolean hasDuration() {
+        return ((bitField0_ & 0x00000002) == 0x00000002);
+      }
+      /**
+       * <code>required .mesos.v1.DurationInfo duration = 2;</code>
+       *
+       * <pre>
+       * The duration to keep verbosity level toggled. After this duration, the
+       * verbosity level of log would revert to the original level.
+       * </pre>
+       */
+      public org.apache.mesos.v1.Protos.DurationInfo getDuration() {
+        return duration_;
+      }
+      /**
+       * <code>required .mesos.v1.DurationInfo duration = 2;</code>
+       *
+       * <pre>
+       * The duration to keep verbosity level toggled. After this duration, the
+       * verbosity level of log would revert to the original level.
+       * </pre>
+       */
+      public org.apache.mesos.v1.Protos.DurationInfoOrBuilder 
getDurationOrBuilder() {
+        return duration_;
+      }
+
+      private void initFields() {
+        level_ = 0;
+        duration_ = 
org.apache.mesos.v1.Protos.DurationInfo.getDefaultInstance();
+      }
+      private byte memoizedIsInitialized = -1;
+      public final boolean isInitialized() {
+        byte isInitialized = memoizedIsInitialized;
+        if (isInitialized != -1) return isInitialized == 1;
+
+        if (!hasLevel()) {
+          memoizedIsInitialized = 0;
+          return false;
+        }
+        if (!hasDuration()) {
+          memoizedIsInitialized = 0;
+          return false;
+        }
+        if (!getDuration().isInitialized()) {
+          memoizedIsInitialized = 0;
+          return false;
+        }
+        memoizedIsInitialized = 1;
+        return true;
+      }
+
+      public void writeTo(com.google.protobuf.CodedOutputStream output)
+                          throws java.io.IOException {
+        getSerializedSize();
+        if (((bitField0_ & 0x00000001) == 0x00000001)) {
+          output.writeUInt32(1, level_);
+        }
+        if (((bitField0_ & 0x00000002) == 0x00000002)) {
+          output.writeMessage(2, duration_);
+        }
+        getUnknownFields().writeTo(output);
+      }
+
+      private int memoizedSerializedSize = -1;
+      public int getSerializedSize() {
+        int size = memoizedSerializedSize;
+        if (size != -1) return size;
+
+        size = 0;
+        if (((bitField0_ & 0x00000001) == 0x00000001)) {
+          size += com.google.protobuf.CodedOutputStream
+            .computeUInt32Size(1, level_);
+        }
+        if (((bitField0_ & 0x00000002) == 0x00000002)) {
+          size += com.google.protobuf.CodedOutputStream
+            .computeMessageSize(2, duration_);
+        }
+        size += getUnknownFields().getSerializedSize();
+        memoizedSerializedSize = size;
+        return size;
+      }
+
+      private static final long serialVersionUID = 0L;
+      @java.lang.Override
+      protected java.lang.Object writeReplace()
+          throws java.io.ObjectStreamException {
+        return super.writeReplace();
+      }
+
+      public static org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel 
parseFrom(
+          com.google.protobuf.ByteString data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+      public static org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel 
parseFrom(
+          com.google.protobuf.ByteString data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+      public static org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel 
parseFrom(byte[] data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data);
+      }
+      public static org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel 
parseFrom(
+          byte[] data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return PARSER.parseFrom(data, extensionRegistry);
+      }
+      public static org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel 
parseFrom(java.io.InputStream input)
+          throws java.io.IOException {
+        return PARSER.parseFrom(input);
+      }
+      public static org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel 
parseFrom(
+          java.io.InputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        return PARSER.parseFrom(input, extensionRegistry);
+      }
+      public static org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel 
parseDelimitedFrom(java.io.InputStream input)
+          throws java.io.IOException {
+        return PARSER.parseDelimitedFrom(input);
+      }
+      public static org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel 
parseDelimitedFrom(
+          java.io.InputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        return PARSER.parseDelimitedFrom(input, extensionRegistry);
+      }
+      public static org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel 
parseFrom(
+          com.google.protobuf.CodedInputStream input)
+          throws java.io.IOException {
+        return PARSER.parseFrom(input);
+      }
+      public static org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel 
parseFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        return PARSER.parseFrom(input, extensionRegistry);
+      }
+
+      public static Builder newBuilder() { return Builder.create(); }
+      public Builder newBuilderForType() { return newBuilder(); }
+      public static Builder 
newBuilder(org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel prototype) {
+        return newBuilder().mergeFrom(prototype);
+      }
+      public Builder toBuilder() { return newBuilder(this); }
+
+      @java.lang.Override
+      protected Builder newBuilderForType(
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        Builder builder = new Builder(parent);
+        return builder;
+      }
+      /**
+       * Protobuf type {@code mesos.v1.agent.Call.SetLoggingLevel}
+       *
+       * <pre>
+       * Sets the logging verbosity level for a specified duration. Mesos uses
+       * [glog](https://github.com/google/glog) for logging. The library only 
uses
+       * verbose logging which means nothing will be output unless the 
verbosity
+       * level is set (by default it's 0, libprocess uses levels 1, 2, and 3).
+       * </pre>
+       */
+      public static final class Builder extends
+          com.google.protobuf.GeneratedMessage.Builder<Builder>
+         implements 
org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevelOrBuilder {
+        public static final com.google.protobuf.Descriptors.Descriptor
+            getDescriptor() {
+          return 
org.apache.mesos.v1.agent.Protos.internal_static_mesos_v1_agent_Call_SetLoggingLevel_descriptor;
+        }
+
+        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+            internalGetFieldAccessorTable() {
+          return 
org.apache.mesos.v1.agent.Protos.internal_static_mesos_v1_agent_Call_SetLoggingLevel_fieldAccessorTable
+              .ensureFieldAccessorsInitialized(
+                  org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel.class, 
org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel.Builder.class);
+        }
+
+        // Construct using 
org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel.newBuilder()
+        private Builder() {
+          maybeForceBuilderInitialization();
+        }
+
+        private Builder(
+            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+          super(parent);
+          maybeForceBuilderInitialization();
+        }
+        private void maybeForceBuilderInitialization() {
+          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+            getDurationFieldBuilder();
+          }
+        }
+        private static Builder create() {
+          return new Builder();
+        }
+
+        public Builder clear() {
+          super.clear();
+          level_ = 0;
+          bitField0_ = (bitField0_ & ~0x00000001);
+          if (durationBuilder_ == null) {
+            duration_ = 
org.apache.mesos.v1.Protos.DurationInfo.getDefaultInstance();
+          } else {
+            durationBuilder_.clear();
+          }
+          bitField0_ = (bitField0_ & ~0x00000002);
+          return this;
+        }
+
+        public Builder clone() {
+          return create().mergeFrom(buildPartial());
+        }
+
+        public com.google.protobuf.Descriptors.Descriptor
+            getDescriptorForType() {
+          return 
org.apache.mesos.v1.agent.Protos.internal_static_mesos_v1_agent_Call_SetLoggingLevel_descriptor;
+        }
+
+        public org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel 
getDefaultInstanceForType() {
+          return 
org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel.getDefaultInstance();
+        }
+
+        public org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel build() {
+          org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel result = 
buildPartial();
+          if (!result.isInitialized()) {
+            throw newUninitializedMessageException(result);
+          }
+          return result;
+        }
+
+        public org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel 
buildPartial() {
+          org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel result = new 
org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel(this);
+          int from_bitField0_ = bitField0_;
+          int to_bitField0_ = 0;
+          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+            to_bitField0_ |= 0x00000001;
+          }
+          result.level_ = level_;
+          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+            to_bitField0_ |= 0x00000002;
+          }
+          if (durationBuilder_ == null) {
+            result.duration_ = duration_;
+          } else {
+            result.duration_ = durationBuilder_.build();
+          }
+          result.bitField0_ = to_bitField0_;
+          onBuilt();
+          return result;
+        }
+
+        public Builder mergeFrom(com.google.protobuf.Message other) {
+          if (other instanceof 
org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel) {
+            return 
mergeFrom((org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel)other);
+          } else {
+            super.mergeFrom(other);
+            return this;
+          }
+        }
+
+        public Builder 
mergeFrom(org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel other) {
+          if (other == 
org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel.getDefaultInstance()) 
return this;
+          if (other.hasLevel()) {
+            setLevel(other.getLevel());
+          }
+          if (other.hasDuration()) {
+            mergeDuration(other.getDuration());
+          }
+          this.mergeUnknownFields(other.getUnknownFields());
+          return this;
+        }
+
+        public final boolean isInitialized() {
+          if (!hasLevel()) {
+            
+            return false;
+          }
+          if (!hasDuration()) {
+            
+            return false;
+          }
+          if (!getDuration().isInitialized()) {
+            
+            return false;
+          }
+          return true;
+        }
+
+        public Builder mergeFrom(
+            com.google.protobuf.CodedInputStream input,
+            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+            throws java.io.IOException {
+          org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel parsedMessage 
= null;
+          try {
+            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+            parsedMessage = 
(org.apache.mesos.v1.agent.Protos.Call.SetLoggingLevel) 
e.getUnfinishedMessage();
+            throw e;
+          } finally {
+            if (parsedMessage != null) {
+              mergeFrom(parsedMessage);
+            }
+          }
+          return this;
+        }
+        private int bitField0_;
+
+        // required uint32 level = 1;
+        private int level_ ;
+        /**
+         * <code>required uint32 level = 1;</code>
+         *
+         * <pre>
+         * The verbosity level.
+         * </pre>
+         */
+        public boolean hasLevel() {
+          return ((bitField0_ & 0x00000001) == 0x00000001);
+        }
+        /**
+         * <code>required uint32 level = 1;</code>
+         *
+         * <pre>
+         * The verbosity level.
+         * </pre>
+         */
+        public int getLevel() {
+          return level_;
+        }
+        /**
+         * <code>required uint32 level = 1;</code>
+         *
+         * <pre>
+         * The verbosity level.
+         * </pre>
+         */
+        public Builder setLevel(int value) {
+          bitField0_ |= 0x00000001;
+          level_ = value;
+          onChanged();
+          return this;
+        }
+        /**
+         * <code>required uint32 level = 1;</code>
+         *
+         * <pre>
+         * The verbosity level.
+         * </pre>
+         */
+        public Builder clearLevel() {
+          bitField0_ = (bitField0_ & ~0x00000001);
+          level_ = 0;
+          onChanged();
+          return this;
+        }
+
+        // required .mesos.v1.DurationInfo duration = 2;
+        private org.apache.mesos.v1.Protos.DurationInfo duration_ = 
org.apache.mesos.v1.Protos.DurationInfo.getDefaultInstance();
+        private com.google.protobuf.SingleFieldBuilder<
+            org.apache.mesos.v1.Protos.DurationInfo, 
org.apache.mesos.v1.Protos.DurationInfo.Builder, 
org.apache.mesos.v1.Protos.DurationInfoOrBuilder> durationBuilder_;
+        /**
+         * <code>required .mesos.v1.DurationInfo duration = 2;</code>
+         *
+         * <pre>
+         * The duration to keep verbosity level toggled. After this duration, 
the
+         * verbosity level of log would revert to the original level.
+         * </pre>
+         */
+        public boolean hasDuration() {
+          return ((bitField0_ & 0x00000002) == 0x00000002);
+        }
+        /**
+         * <code>required .mesos.v1.DurationInfo duration = 2;</code>
+         *
+         * <pre>
+         * The duration to keep verbosity level toggled. After this duration, 
the
+         * verbosity level of log would revert to the original level.
+         * </pre>
+         */
+        public org.apache.mesos.v1.Protos.DurationInfo getDuration() {
+          if (durationBuilder_ == null) {
+            return duration_;
+          } else {
+            return durationBuilder_.getMessage();
+          }
+        }
+        /**
+         * <code>required .mesos.v1.DurationInfo duration = 2;</code>
+         *
+         * <pre>
+         * The duration to keep verbosity level toggled. After this duration, 
the
+         * verbosity level of log would revert to the original level.
+         * </pre>
+         */
+        public Builder setDuration(org.apache.mesos.v1.Protos.DurationInfo 
value) {
+          if (durationBuilder_ == null) {
+            if (value == null) {
+              throw new NullPointerException();
+            }
+            duration_ = value;
+            onChanged();
+          } else {
+            durationBuilder_.setMessage(value);
+          }
+          bitField0_ |= 0x00000002;
+          return this;
+        }
+        /**
+         * <code>required .mesos.v1.DurationInfo duration = 2;</code>
+         *
+         * <pre>
+         * The duration to keep verbosity level toggled. After this duration, 
the
+         * verbosity level of log would revert to the original level.
+         * </pre>
+         */
+        public Builder setDuration(
+            org.apache.mesos.v1.Protos.DurationInfo.Builder builderForValue) {
+          if (durationBuilder_ == null) {
+            duration_ = builderForValue.build();
+            onChanged();
+          } else {
+            durationBuilder_.setMessage(builderForValue.build());
+          }
+          bitField0_ |= 0x00000002;
+          return this;
+        }
+        /**
+         * <code>required .mesos.v1.DurationInfo duration = 2;</code>
+         *
+         * <pre>
+         * The duration to keep verbosity level toggled. After this duration, 
the
+         * verbosity level of log would revert to the original level.
+         * </pre>
+         */
+        public Builder mergeDuration(org.apache.mesos.v1.Protos.DurationInfo 
value) {
+          if (durationBuilder_ == null) {
+            if (((bitField0_ & 0x00000002) == 0x00000002) &&
+                duration_ != 
org.apache.mesos.v1.Protos.DurationInfo.getDefaultInstance()) {
+              duration_ =
+                
org.apache.mesos.v1.Protos.DurationInfo.newBuilder(duration_).mergeFrom(value).buildPartial();
+            } else {
+              duration_ = value;
+            }
+            onChanged();
+          } else {
+            durationBuilder_.mergeFrom(value);
+          }
+          bitField0_ |= 0x00000002;
+          return this;
+        }
+        /**
+         * <code>required .mesos.v1.DurationInfo duration = 2;</code>
+         *
+         * <pre>
+         * The duration to keep verbosity level toggled. After this duration, 
the
+         * verbosity level of log would revert to the original level.
+         * </pre>
+         */
+        public Builder clearDuration() {
+          if (durationBuilder_ == null) {
+            duration_ = 
org.apache.mesos.v1.Protos.DurationInfo.getDefaultInstance();
+            onChanged();
+          } else {
+            durationBuilder_.clear();
+          }
+          bitField0_ = (bitField0_ & ~0x00000002);
+          return this;
+        }
+        /**
+         * <code>required .mesos.v1.DurationInfo duration = 2;</code>
+         *
+         * <pre>
+         * The duration to keep verbosity level toggled. After this duration, 
the
+         * verbosity level of log would revert to the original level.
+         * </pre>
+         */
+        public org.apache.mesos.v1.Protos.DurationInfo.Builder 
getDurationBuilder() {
+          bitField0_ |= 0x00000002;
+          onChanged();
+          return getDurationFieldBuilder().getBuilder();
+        }
+        /**
+         * <code>required .mesos.v1.DurationInfo duration = 2;</code>
+         *
+         * <pre>
+         * The duration to keep verbosity level toggled. After this duration, 
the
+         * verbosity level of log would revert to the original level.
+         * </pre>
+         */
+        public org.apache.mesos.v1.Protos.DurationInfoOrBuilder 
getDurationOrBuilder() {
+          if (durationBuilder_ != null) {
+            return durationBuilder_.getMessageOrBuilder();
+          } else {
+            return duration_;
+          }
+        }
+        /**
+         * <code>required .mesos.v1.DurationInfo duration = 2;</code>
+         *
+         * <pre>
+         * The duration to keep verbosity level toggled. After this duration, 
the
+         * verbosity level of log would revert to the original level.
+         * </pre>
+         */
+        private com.google.protobuf.SingleFieldBuilder<
+            org.apache.mesos.v1.Protos.DurationInfo, 
org.apache.mesos.v1.Protos.DurationInfo.Builder, 
org.apache.mesos.v1.Protos.DurationInfoOrBuilder> 
+            getDurationFieldBuilder() {
+          if (durationBuilder_ == null) {
+            durationBuilder_ = new com.google.protobuf.SingleFieldBuilder<
+                org.apache.mesos.v1.Protos.DurationInfo, 
org.apache.mesos.v1.Protos.DurationInfo.Builder, 
org.apache.mesos.v1.Protos.DurationInfoOrBuilder>(
+                    duration_,
+                    getParentForChildren(),
+                    isClean());
+            duration_ = null;
+          }
+          return durationBuilder_;
+        }
+
+        // 
@@protoc_insertion_point(builder_scope:mesos.v1.agent.Call.SetLoggingLevel)
+      }
+
+      static {
+        defaultInstance = new SetLoggingLevel(true);
+        defaultInstance.initFields();
+      }
+
+      // 
@@protoc_insertion_point(class_scope:mesos.v1.agent.Call.SetLoggingLevel)
+    }
+
+    public interface ListFilesOrBuilder
+        extends com.google.protobuf.MessageOrBuilder {
+
+      // required string path = 1;
+      /**
+       * <code>required string path = 1;</code>
+       */
+      boolean hasPath();
+      /**
+       * <code>required string path = 1;</code>
+       */
+      java.lang.String getPath();
+      /**
+       * <code>required string path = 1;</code>
+       */
+      com.google.protobuf.ByteString
+          getPathBytes();
+    }
+    /**
+     * Protobuf type {@code mesos.v1.agent.Call.ListFiles}
+     *
+     * <pre>
+     * Provides the file listing for a directory.
+     * </pre>
+     */
+    public static final class ListFiles extends
+        com.google.protobuf.GeneratedMessage
+        implements ListFilesOrBuilder {
+      // Use ListFiles.newBuilder() to construct.
+      private ListFiles(com.google.protobuf.GeneratedMessage.Builder<?> 
builder) {
+        super(builder);
+        this.unknownFields = builder.getUnknownFields();
+      }
+      private ListFiles(boolean noInit) { this.unknownFields = 
com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+      private static final ListFiles defaultInstance;
+      public static ListFiles getDefaultInstance() {
+        return defaultInstance;
+      }
+
+      public ListFiles getDefaultInstanceForType() {
+        return defaultInstance;
+      }
+
+      private final com.google.protobuf.UnknownFieldSet unknownFields;
+      @java.lang.Override
+      public final com.google.protobuf.UnknownFieldSet
+          getUnknownFields() {
+        return this.unknownFields;
+      }
+      private ListFiles(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        initFields();
+        int mutable_bitField0_ = 0;
+        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+            com.google.protobuf.UnknownFieldSet.newBuilder();
+        try {
+          boolean done = false;
+          while (!done) {
+            int tag = input.readTag();
+            switch (tag) {
+              case 0:
+                done = true;
+                break;
+              default: {
+                if (!parseUnknownField(input, unknownFields,
+                                       extensionRegistry, tag)) {
+                  done = true;
+                }
+                break;
+              }
+              case 10: {
+                bitField0_ |= 0x00000001;
+                path_ = input.readBytes();
+                break;
+              }
+            }
+          }
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          throw e.setUnfinishedMessage(this);
+        } catch (java.io.IOException e) {
+          throw new com.google.protobuf.InvalidProtocolBufferException(
+              e.getMessage()).setUnfinishedMessage(this);
+        } finally {
+          this.unknownFields = unknownFields.build();
+          makeExtensionsImmutable();
+        }
+      }
+      public static final com.google.protobuf.Descriptors.Descriptor
+          getDescriptor() {
+        return 
org.apache.mesos.v1.agent.Protos.internal_static_mesos_v1_agent_Call_ListFiles_descriptor;
+      }
+
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+          internalGetFieldAccessorTable() {
+        return 
org.apache.mesos.v1.agent.Protos.internal_static_mesos_v1_agent_Call_ListFiles_fieldAccessorTable
+            .ensureFieldAccessorsInitialized(
+                org.apache.mesos.v1.agent.Protos.Call.ListFiles.class, 
org.apache.mesos.v1.agent.Protos.Call.ListFiles.Builder.class);
+      }
+
+      public static com.google.protobuf.Parser<ListFiles> PARSER =
+          new com.google.protobuf.AbstractParser<ListFiles>() {
+        public ListFiles parsePartialFrom(
+            com.google.protobuf.CodedInputStream input,
+            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+            throws com.google.protobuf.InvalidProtocolBufferException {
+          return new ListFiles(input, extensionRegistry);
+        }
+      };
+
+      @java.lang.Override
+      public com.google.protobuf.Parser<ListFiles> getParserForType() {
+        return PARSER;
+      }
+
+      private int bitField0_;
+      // required string path = 1;
+      public static final int PATH_FIELD_NUMBER = 1;
+      private java.lang.Object path_;
+      /**
+       * <code>required string path = 1;</code>
+       */
+      public boolean hasPath() {
+        return ((bitField0_ & 0x00000001) == 0x00000001);
+      }
+      /**
+       * <code>required string path = 1;</code>
+       */
+      public java.lang.String getPath() {
+        java.lang.Object ref = path_;
+        if (ref instanceof java.lang.String) {
+          return (java.lang.String) ref;
+        } else {
+          com.google.protobuf.ByteString bs = 
+              (com.google.protobuf.ByteString) ref;
+          java.lang.String s = bs.toSt

<TRUNCATED>

Reply via email to