Skip to content
Snippets Groups Projects
Commit c58b5e19 authored by Steven Murray's avatar Steven Murray
Browse files

Improved the archive logic - still a long way to go.

parent 102fd504
Branches
Tags
No related merge requests found
......@@ -964,8 +964,7 @@ void cta::MockSchedulerDatabase::createArchivalRoute(
void cta::MockSchedulerDatabase::assertTapePoolIsNotAlreadyADestination(
const std::list<ArchivalRoute> &routes,
const std::string &tapePoolName) const {
for(std::list<ArchivalRoute>::const_iterator itor = routes.begin();
itor != routes.end(); itor++) {
for(auto itor = routes.begin(); itor != routes.end(); itor++) {
if(tapePoolName == itor->getTapePoolName()) {
std::ostringstream message;
message << "Tape pool " << tapePoolName << " is already an archival"
......
......@@ -21,6 +21,7 @@
#include "nameserver/NameServer.hpp"
#include "scheduler/AdminHost.hpp"
#include "scheduler/AdminUser.hpp"
#include "scheduler/ArchivalFileTransfer.hpp"
#include "scheduler/ArchivalJob.hpp"
#include "scheduler/ArchivalRoute.hpp"
#include "scheduler/ArchiveToDirRequest.hpp"
......@@ -481,7 +482,7 @@ void cta::Scheduler::queueArchiveToDirRequest(
/*
for(int i = 1; i <= storageClass.getNbCopies(); i++) {
cta::ArchivalRoute route = m_db.getArchivalRouteOfStorageClass(storageClassName, i);
for(std::list<std::string>::const_iterator itor = srcUrls.begin(); itor != srcUrls.end(); itor++) {
for(auto itor = srcUrls.begin(); itor != srcUrls.end(); itor++) {
const std::string &srcFileName = *itor;
std::string dstPathname;
if(dstDir.at(dstDir.length()-1) == '/') {
......@@ -496,7 +497,7 @@ void cta::Scheduler::queueArchiveToDirRequest(
const std::list<std::string> dstFileNames = Utils::getEnclosedNames(srcUrls);
for(std::list<std::string>::const_iterator itor = dstFileNames.begin(); itor != dstFileNames.end(); itor++) {
for(auto itor = dstFileNames.begin(); itor != dstFileNames.end(); itor++) {
const std::string &dstFileName = *itor;
std::string dstPathname;
if(dstDir.at(dstDir.length()-1) == '/') {
......@@ -534,12 +535,14 @@ void cta::Scheduler::queueArchiveToFileRequest(
const std::string enclosingPath = Utils::getEnclosingPath(archiveFile);
const std::string storageClassName = m_ns.getDirStorageClass(requester,
enclosingPath);
cta::StorageClass storageClass = m_db.getStorageClass(storageClassName);
const StorageClass storageClass = m_db.getStorageClass(storageClassName);
assertStorageClassHasAtLeastOneCopy(storageClass);
/*
const std::list<ArchivalRoute> routes =
m_db.getArchivalRoutes(storageClassName);
createFileTransfers(routes);
/*
for(int i=1; i<=storageClass.getNbCopies(); i++) {
const ArchivalRoute route = m_db.getArchivalRouteOfStorageClass(storageClassName, i);
......@@ -549,3 +552,8 @@ void cta::Scheduler::queueArchiveToFileRequest(
m_ns.createFile(requester, dstFile, 0666);
*/
}
std::list<cta::ArchivalFileTransfer> cta::Scheduler::createFileTransfers(
const std::list<ArchivalRoute> &routes) {
return std::list<cta::ArchivalFileTransfer>();
}
......@@ -28,6 +28,7 @@ namespace cta {
// Forward declarations for opaque references.
class AdminHost;
class AdminUser;
class ArchivalFileTransfer;
class ArchivalJob;
class ArchivalRoute;
class ArchiveToDirRequest;
......@@ -557,6 +558,9 @@ private:
const std::string &remoteFile,
const std::string &archiveFile);
std::list<ArchivalFileTransfer> createFileTransfers(
const std::list<ArchivalRoute> &routes);
/**
* Queues the specified request.
*
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment