code: public void frameworkMessage(ExecutorID executorId, AgentID agentId, byte[] data) {
      Builder message = build()
          .setMessage(Message.newBuilder().setAgentId(agentId).setExecutorId(executorId).setData(ByteString.copyFrom(data)));
      sendCall(message, Type.MESSAGE);
    }
docs: Sent by the scheduler to send arbitrary binary data to the executor. Mesos neither interprets this data nor
  makes any guarantees about the delivery of this message to the executor. data is raw bytes encoded in Base64.
  
  @param executorId
  @param agentId
  @param data