Commit 505874f4 authored by Daniele Kruse's avatar Daniele Kruse
Browse files

removed the minqueued bytes and files from mountgroup and mountpolicy. added...

removed the minqueued bytes and files from mountgroup and mountpolicy. added minqueued bytes to logical library
parent c1fd16c5
......@@ -108,10 +108,12 @@ public:
virtual void modifyArchiveRouteTapePoolName(const cta::common::dataStructures::SecurityIdentity &cliIdentity, const std::string &storageClassName, const uint64_t copyNb, const std::string &tapePoolName) = 0;
virtual void modifyArchiveRouteComment(const cta::common::dataStructures::SecurityIdentity &cliIdentity, const std::string &storageClassName, const uint64_t copyNb, const std::string &comment) = 0;
virtual void createLogicalLibrary(const cta::common::dataStructures::SecurityIdentity &cliIdentity, const std::string &name, const std::string &comment) = 0;
virtual void createLogicalLibrary(const cta::common::dataStructures::SecurityIdentity &cliIdentity, const std::string &name, const uint64_t minarchivebytesqueued, const uint64_t minretrievebytesqueued, const std::string &comment) = 0;
virtual void deleteLogicalLibrary(const std::string &name) = 0;
virtual std::list<cta::common::dataStructures::LogicalLibrary> getLogicalLibraries() const = 0;
virtual void modifyLogicalLibraryComment(const cta::common::dataStructures::SecurityIdentity &cliIdentity, const std::string &name, const std::string &comment) = 0;
virtual void modifyLogicalLibraryMinArchiveBytesQueued(const cta::common::dataStructures::SecurityIdentity &cliIdentity, const std::string &name, uint64_t const minarchivebytesqueued) = 0;
virtual void modifyLogicalLibraryMinRetrieveBytesQueued(const cta::common::dataStructures::SecurityIdentity &cliIdentity, const std::string &name, uint64_t const minretrievebytesqueued) = 0;
virtual void createTape(const cta::common::dataStructures::SecurityIdentity &cliIdentity, const std::string &vid, const std::string &logicalLibraryName, const std::string &tapePoolName,
const std::string &encryptionKey, const uint64_t capacityInBytes, const bool disabledValue, const bool fullValue, const std::string &comment) = 0;
......
......@@ -979,6 +979,8 @@ void cta::catalogue::SqliteCatalogue::modifyArchiveRouteComment(const common::da
void cta::catalogue::SqliteCatalogue::createLogicalLibrary(
const common::dataStructures::SecurityIdentity &cliIdentity,
const std::string &name,
const uint64_t minarchivebytesqueued,
const uint64_t minretrievebytesqueued,
const std::string &comment) {
const time_t now = time(NULL);
const char *const sql =
......@@ -1096,6 +1098,16 @@ std::list<cta::common::dataStructures::LogicalLibrary>
//------------------------------------------------------------------------------
void cta::catalogue::SqliteCatalogue::modifyLogicalLibraryComment(const common::dataStructures::SecurityIdentity &cliIdentity, const std::string &name, const std::string &comment) {}
//------------------------------------------------------------------------------
// modifyLogicalLibraryComment
//------------------------------------------------------------------------------
void cta::catalogue::SqliteCatalogue::modifyLogicalLibraryMinArchiveBytesQueued(const cta::common::dataStructures::SecurityIdentity &cliIdentity, const std::string &name, uint64_t const minarchivebytesqueued) {}
//------------------------------------------------------------------------------
// modifyLogicalLibraryComment
//------------------------------------------------------------------------------
void cta::catalogue::SqliteCatalogue::modifyLogicalLibraryMinRetrieveBytesQueued(const cta::common::dataStructures::SecurityIdentity &cliIdentity, const std::string &name, uint64_t const minretrievebytesqueued) {}
//------------------------------------------------------------------------------
// createTape
//------------------------------------------------------------------------------
......
......@@ -72,10 +72,12 @@ public:
virtual void modifyArchiveRouteTapePoolName(const cta::common::dataStructures::SecurityIdentity &cliIdentity, const std::string &storageClassName, const uint64_t copyNb, const std::string &tapePoolName);
virtual void modifyArchiveRouteComment(const cta::common::dataStructures::SecurityIdentity &cliIdentity, const std::string &storageClassName, const uint64_t copyNb, const std::string &comment);
virtual void createLogicalLibrary(const cta::common::dataStructures::SecurityIdentity &cliIdentity, const std::string &name, const std::string &comment);
virtual void createLogicalLibrary(const cta::common::dataStructures::SecurityIdentity &cliIdentity, const std::string &name, const uint64_t minarchivebytesqueued, const uint64_t minretrievebytesqueued, const std::string &comment);
virtual void deleteLogicalLibrary(const std::string &name);
virtual std::list<cta::common::dataStructures::LogicalLibrary> getLogicalLibraries() const;
virtual void modifyLogicalLibraryComment(const cta::common::dataStructures::SecurityIdentity &cliIdentity, const std::string &name, const std::string &comment);
virtual void modifyLogicalLibraryComment(const cta::common::dataStructures::SecurityIdentity &cliIdentity, const std::string &name, const std::string &comment);
virtual void modifyLogicalLibraryMinArchiveBytesQueued(const cta::common::dataStructures::SecurityIdentity &cliIdentity, const std::string &name, uint64_t const minarchivebytesqueued);
virtual void modifyLogicalLibraryMinRetrieveBytesQueued(const cta::common::dataStructures::SecurityIdentity &cliIdentity, const std::string &name, uint64_t const minretrievebytesqueued);
virtual void createTape(const cta::common::dataStructures::SecurityIdentity &cliIdentity, const std::string &vid, const std::string &logicalLibraryName, const std::string &tapePoolName,
const std::string &encryptionKey, const uint64_t capacityInBytes, const bool disabledValue, const bool fullValue, const std::string &comment);
......
......@@ -536,7 +536,9 @@ TEST_F(cta_catalogue_SqliteCatalogueTest, createLogicalLibrary) {
const std::string logicalLibraryName = "logical_library";
const std::string comment = "create logical library";
catalogue.createLogicalLibrary(m_cliSI, logicalLibraryName, comment);
const uint64_t minArchiveBytesQueued = 1;
const uint64_t minRetrieveBytesQueued = 2;
catalogue.createLogicalLibrary(m_cliSI, logicalLibraryName, minArchiveBytesQueued, minRetrieveBytesQueued, comment);
const std::list<common::dataStructures::LogicalLibrary> libs =
catalogue.getLogicalLibraries();
......@@ -546,6 +548,8 @@ TEST_F(cta_catalogue_SqliteCatalogueTest, createLogicalLibrary) {
const common::dataStructures::LogicalLibrary lib = libs.front();
ASSERT_EQ(logicalLibraryName, lib.name);
ASSERT_EQ(comment, lib.comment);
ASSERT_EQ(minArchiveBytesQueued, lib.archive_minBytesQueued);
ASSERT_EQ(minRetrieveBytesQueued, lib.retrieve_minBytesQueued);
const common::dataStructures::EntryLog creationLog = lib.creationLog;
ASSERT_EQ(m_cliSI.user.name, creationLog.user.name);
......@@ -564,9 +568,11 @@ TEST_F(cta_catalogue_SqliteCatalogueTest, createLogicalLibrary_same_twice) {
const std::string logicalLibraryName = "logical_library";
const std::string comment = "create logical library";
catalogue.createLogicalLibrary(m_cliSI, logicalLibraryName, comment);
const uint64_t minArchiveBytesQueued = 1;
const uint64_t minRetrieveBytesQueued = 2;
catalogue.createLogicalLibrary(m_cliSI, logicalLibraryName, minArchiveBytesQueued, minRetrieveBytesQueued, comment);
ASSERT_THROW(catalogue.createLogicalLibrary(m_cliSI,
logicalLibraryName, comment),
logicalLibraryName, minArchiveBytesQueued, minRetrieveBytesQueued, comment),
exception::Exception);
}
......@@ -586,7 +592,7 @@ TEST_F(cta_catalogue_SqliteCatalogueTest, createTape) {
const bool fullValue = false;
const std::string comment = "create tape";
catalogue.createLogicalLibrary(m_cliSI, logicalLibraryName,
catalogue.createLogicalLibrary(m_cliSI, logicalLibraryName, 1, 2,
"create logical library");
catalogue.createTapePool(m_cliSI, tapePoolName, 2, true, "create tape pool");
catalogue.createTape(m_cliSI, vid, logicalLibraryName, tapePoolName,
......@@ -632,7 +638,7 @@ TEST_F(cta_catalogue_SqliteCatalogueTest, createTape_same_twice) {
const bool fullValue = false;
const std::string comment = "create tape";
catalogue.createLogicalLibrary(m_cliSI, logicalLibraryName,
catalogue.createLogicalLibrary(m_cliSI, logicalLibraryName, 1, 2,
"create logical library");
catalogue.createTapePool(m_cliSI, tapePoolName, 2, true, "create tape pool");
catalogue.createTape(m_cliSI, vid, logicalLibraryName, tapePoolName,
......
......@@ -39,6 +39,7 @@ set (COMMON_LIB_SRC_FILES
dataStructures/DriveStatus.cpp
dataStructures/EntryLog.cpp
dataStructures/ListStorageClassRequest.cpp
dataStructures/LogicalLibrary.cpp
dataStructures/MountGroup.cpp
dataStructures/MountType.cpp
dataStructures/MountPolicy.cpp
......
......@@ -27,7 +27,6 @@ cta::common::dataStructures::MountGroup::MountGroup():
archive_minRequestAge(0),
archive_priority(0),
maxDrivesAllowed(0),
retrieve_minBytesQueued(0),
retrieve_minRequestAge(0),
retrieve_priority(0) {}
......@@ -42,7 +41,6 @@ bool cta::common::dataStructures::MountGroup::operator==(const MountGroup &rhs)
&& lastModificationLog==rhs.lastModificationLog
&& maxDrivesAllowed==rhs.maxDrivesAllowed
&& name==rhs.name
&& retrieve_minBytesQueued==rhs.retrieve_minBytesQueued
&& retrieve_minRequestAge==rhs.retrieve_minRequestAge
&& retrieve_priority==rhs.retrieve_priority;
}
......@@ -65,7 +63,6 @@ std::ostream &operator<<(std::ostream &os, const cta::common::dataStructures::Mo
<< " lastModificationLog=" << obj.lastModificationLog
<< " maxDrivesAllowed=" << obj.maxDrivesAllowed
<< " name=" << obj.name
<< " retrieve_minBytesQueued=" << obj.retrieve_minBytesQueued
<< " retrieve_minRequestAge=" << obj.retrieve_minRequestAge
<< " retrieve_priority=" << obj.retrieve_priority << ")";
return os;
......
......@@ -44,7 +44,6 @@ struct MountGroup {
cta::common::dataStructures::EntryLog lastModificationLog;
uint64_t maxDrivesAllowed;
std::string name;
uint64_t retrieve_minBytesQueued;
uint64_t retrieve_minRequestAge;
uint64_t retrieve_priority;
......
......@@ -232,8 +232,6 @@ void cta::objectstore::ArchiveRequest::setMountPolicy(const cta::common::dataStr
checkPayloadWritable();
auto payloadMountPolicy = m_payload.mutable_mountpolicy();
payloadMountPolicy->set_maxdrives(mountPolicy.maxDrives);
payloadMountPolicy->set_minbytesqueued(mountPolicy.minBytesQueued);
payloadMountPolicy->set_minfilesqueued(mountPolicy.minFilesQueued);
payloadMountPolicy->set_minrequestage(mountPolicy.minRequestAge);
payloadMountPolicy->set_priority(mountPolicy.priority);
}
......@@ -246,8 +244,6 @@ cta::common::dataStructures::MountPolicy cta::objectstore::ArchiveRequest::getMo
cta::common::dataStructures::MountPolicy mountPolicy;
auto payloadMountPolicy = m_payload.mountpolicy();
mountPolicy.maxDrives=payloadMountPolicy.maxdrives();
mountPolicy.minBytesQueued=payloadMountPolicy.minbytesqueued();
mountPolicy.minFilesQueued=payloadMountPolicy.minfilesqueued();
mountPolicy.minRequestAge=payloadMountPolicy.minrequestage();
mountPolicy.priority=payloadMountPolicy.priority();
return mountPolicy;
......
......@@ -429,8 +429,6 @@ message EntryLog {
}
message MountPolicy {
required uint64 minBytesQueued = 8981;
required uint64 minFilesQueued = 8983;
required uint64 minRequestAge = 8985;
required uint64 priority = 8987;
required uint64 maxDrives = 8989;
......
......@@ -717,8 +717,8 @@ void XrdCtaFile::xCom_logicallibrary(const std::vector<std::string> &tokens, con
<< "\trm --name/-n <logical_library_name>" << std::endl
<< "\tls [--header/-h]" << std::endl;
if("add" == tokens[2] || "ch" == tokens[2] || "rm" == tokens[2]) {
std::string hostname = getOptionValue(tokens, "-n", "--name", false);
if(hostname.empty()) {
std::string name = getOptionValue(tokens, "-n", "--name", false);
if(name.empty()) {
m_data = help.str();
return;
}
......@@ -733,7 +733,7 @@ void XrdCtaFile::xCom_logicallibrary(const std::vector<std::string> &tokens, con
}
uint64_t minarchivebytesqueued; std::stringstream minarchivebytesqueued_ss; minarchivebytesqueued_ss << minarchivebytesqueued_s; minarchivebytesqueued_ss >> minarchivebytesqueued;
uint64_t minretrievebytesqueued; std::stringstream minretrievebytesqueued_ss; minretrievebytesqueued_ss << minretrievebytesqueued_s; minretrievebytesqueued_ss >> minretrievebytesqueued;
m_catalogue->createLogicalLibrary(cliIdentity, hostname, minarchivebytesqueued, minretrievebytesqueued, comment);
m_catalogue->createLogicalLibrary(cliIdentity, name, minarchivebytesqueued, minretrievebytesqueued, comment);
}
else { //ch
if(minarchivebytesqueued_s.empty()&&minretrievebytesqueued_s.empty()&&comment.empty()) {
......@@ -742,19 +742,19 @@ void XrdCtaFile::xCom_logicallibrary(const std::vector<std::string> &tokens, con
}
if(!minarchivebytesqueued_s.empty()) {
uint64_t minarchivebytesqueued; std::stringstream minarchivebytesqueued_ss; minarchivebytesqueued_ss << minarchivebytesqueued_s; minarchivebytesqueued_ss >> minarchivebytesqueued;
m_catalogue->modifyLogicalLibraryMinArchiveBytesQueued(cliIdentity, group, minarchivebytesqueued);
m_catalogue->modifyLogicalLibraryMinArchiveBytesQueued(cliIdentity, name, minarchivebytesqueued);
}
if(!minretrievebytesqueued_s.empty()) {
uint64_t minretrievebytesqueued; std::stringstream minretrievebytesqueued_ss; minretrievebytesqueued_ss << minretrievebytesqueued_s; minretrievebytesqueued_ss >> minretrievebytesqueued;
m_catalogue->modifyLogicalLibraryMinRetrieveBytesQueued(cliIdentity, group, minretrievebytesqueued);
m_catalogue->modifyLogicalLibraryMinRetrieveBytesQueued(cliIdentity, name, minretrievebytesqueued);
}
if(!comment.empty()) {
m_catalogue->modifyLogicalLibraryComment(cliIdentity, hostname, comment);
m_catalogue->modifyLogicalLibraryComment(cliIdentity, name, comment);
}
}
}
else { //rm
m_catalogue->deleteLogicalLibrary(hostname);
m_catalogue->deleteLogicalLibrary(name);
}
}
else if("ls" == tokens[2]) { //ls
......@@ -766,8 +766,8 @@ void XrdCtaFile::xCom_logicallibrary(const std::vector<std::string> &tokens, con
for(auto it = list.cbegin(); it != list.cend(); it++) {
std::vector<std::string> currentRow;
currentRow.push_back(it->name);
currentRow.push_back(it->archive_minBytesQueued);
currentRow.push_back(it->retrieve_minBytesQueued);
currentRow.push_back(std::to_string((unsigned long long)it->archive_minBytesQueued));
currentRow.push_back(std::to_string((unsigned long long)it->retrieve_minBytesQueued));
addLogInfoToResponseRow(currentRow, it->creationLog, it->lastModificationLog);
currentRow.push_back(it->comment);
responseTable.push_back(currentRow);
......@@ -1115,35 +1115,27 @@ void XrdCtaFile::xCom_mountgroup(const std::vector<std::string> &tokens, const c
}
if("add" == tokens[2] || "ch" == tokens[2]) {
std::string archivepriority_s = getOptionValue(tokens, "--ap", "--archivepriority", false);
std::string minarchivefilesqueued_s = getOptionValue(tokens, "--af", "--minarchivefilesqueued", false);
std::string minarchivebytesqueued_s = getOptionValue(tokens, "--ab", "--minarchivebytesqueued", false);
std::string minarchiverequestage_s = getOptionValue(tokens, "--aa", "--minarchiverequestage", false);
std::string retrievepriority_s = getOptionValue(tokens, "--rp", "--retrievepriority", false);
std::string minretrievefilesqueued_s = getOptionValue(tokens, "--rf", "--minretrievefilesqueued", false);
std::string minretrievebytesqueued_s = getOptionValue(tokens, "--rb", "--minretrievebytesqueued", false);
std::string minretrieverequestage_s = getOptionValue(tokens, "--ra", "--minretrieverequestage", false);
std::string maxdrivesallowed_s = getOptionValue(tokens, "-d", "--maxdrivesallowed", false);
std::string comment = getOptionValue(tokens, "-m", "--comment", false);
if("add" == tokens[2]) { //add
if(archivepriority_s.empty()||minarchivefilesqueued_s.empty()||minarchivebytesqueued_s.empty()||minarchiverequestage_s.empty()||retrievepriority_s.empty()
||minretrievefilesqueued_s.empty()||minretrievebytesqueued_s.empty()||minretrieverequestage_s.empty()||maxdrivesallowed_s.empty()||comment.empty()) {
if(archivepriority_s.empty()||minarchiverequestage_s.empty()||retrievepriority_s.empty()
||minretrieverequestage_s.empty()||maxdrivesallowed_s.empty()||comment.empty()) {
m_data = help.str();
return;
}
uint64_t archivepriority; std::stringstream archivepriority_ss; archivepriority_ss << archivepriority_s; archivepriority_ss >> archivepriority;
uint64_t minarchivefilesqueued; std::stringstream minarchivefilesqueued_ss; minarchivefilesqueued_ss << minarchivefilesqueued_s; minarchivefilesqueued_ss >> minarchivefilesqueued;
uint64_t minarchivebytesqueued; std::stringstream minarchivebytesqueued_ss; minarchivebytesqueued_ss << minarchivebytesqueued_s; minarchivebytesqueued_ss >> minarchivebytesqueued;
uint64_t minarchiverequestage; std::stringstream minarchiverequestage_ss; minarchiverequestage_ss << minarchiverequestage_s; minarchiverequestage_ss >> minarchiverequestage;
uint64_t retrievepriority; std::stringstream retrievepriority_ss; retrievepriority_ss << retrievepriority_s; retrievepriority_ss >> retrievepriority;
uint64_t minretrievefilesqueued; std::stringstream minretrievefilesqueued_ss; minretrievefilesqueued_ss << minretrievefilesqueued_s; minretrievefilesqueued_ss >> minretrievefilesqueued;
uint64_t minretrievebytesqueued; std::stringstream minretrievebytesqueued_ss; minretrievebytesqueued_ss << minretrievebytesqueued_s; minretrievebytesqueued_ss >> minretrievebytesqueued;
uint64_t minretrieverequestage; std::stringstream minretrieverequestage_ss; minretrieverequestage_ss << minretrieverequestage_s; minretrieverequestage_ss >> minretrieverequestage;
uint64_t maxdrivesallowed; std::stringstream maxdrivesallowed_ss; maxdrivesallowed_ss << maxdrivesallowed_s; maxdrivesallowed_ss >> maxdrivesallowed;
m_catalogue->createMountGroup(cliIdentity, group, archivepriority, minarchivefilesqueued, minarchivebytesqueued, minarchiverequestage, retrievepriority, minretrievefilesqueued, minretrievebytesqueued, minretrieverequestage, maxdrivesallowed, comment);
m_catalogue->createMountGroup(cliIdentity, group, archivepriority, minarchiverequestage, retrievepriority, minretrieverequestage, maxdrivesallowed, comment);
}
else if("ch" == tokens[2]) { //ch
if(archivepriority_s.empty()&&minarchivefilesqueued_s.empty()&&minarchivebytesqueued_s.empty()&&minarchiverequestage_s.empty()&&retrievepriority_s.empty()
&&minretrievefilesqueued_s.empty()&&minretrievebytesqueued_s.empty()&&minretrieverequestage_s.empty()&&maxdrivesallowed_s.empty()&&comment.empty()) {
if(archivepriority_s.empty()&&minarchiverequestage_s.empty()&&retrievepriority_s.empty()
&&minretrieverequestage_s.empty()&&maxdrivesallowed_s.empty()&&comment.empty()) {
m_data = help.str();
return;
}
......@@ -1151,14 +1143,6 @@ void XrdCtaFile::xCom_mountgroup(const std::vector<std::string> &tokens, const c
uint64_t archivepriority; std::stringstream archivepriority_ss; archivepriority_ss << archivepriority_s; archivepriority_ss >> archivepriority;
m_catalogue->modifyMountGroupArchivePriority(cliIdentity, group, archivepriority);
}
if(!minarchivefilesqueued_s.empty()) {
uint64_t minarchivefilesqueued; std::stringstream minarchivefilesqueued_ss; minarchivefilesqueued_ss << minarchivefilesqueued_s; minarchivefilesqueued_ss >> minarchivefilesqueued;
m_catalogue->modifyMountGroupArchiveMinFilesQueued(cliIdentity, group, minarchivefilesqueued);
}
if(!minarchivebytesqueued_s.empty()) {
uint64_t minarchivebytesqueued; std::stringstream minarchivebytesqueued_ss; minarchivebytesqueued_ss << minarchivebytesqueued_s; minarchivebytesqueued_ss >> minarchivebytesqueued;
m_catalogue->modifyMountGroupArchiveMinBytesQueued(cliIdentity, group, minarchivebytesqueued);
}
if(!minarchiverequestage_s.empty()) {
uint64_t minarchiverequestage; std::stringstream minarchiverequestage_ss; minarchiverequestage_ss << minarchiverequestage_s; minarchiverequestage_ss >> minarchiverequestage;
m_catalogue->modifyMountGroupArchiveMinRequestAge(cliIdentity, group, minarchiverequestage);
......@@ -1167,14 +1151,6 @@ void XrdCtaFile::xCom_mountgroup(const std::vector<std::string> &tokens, const c
uint64_t retrievepriority; std::stringstream retrievepriority_ss; retrievepriority_ss << retrievepriority_s; retrievepriority_ss >> retrievepriority;
m_catalogue->modifyMountGroupRetrievePriority(cliIdentity, group, retrievepriority);
}
if(!minretrievefilesqueued_s.empty()) {
uint64_t minretrievefilesqueued; std::stringstream minretrievefilesqueued_ss; minretrievefilesqueued_ss << minretrievefilesqueued_s; minretrievefilesqueued_ss >> minretrievefilesqueued;
m_catalogue->modifyMountGroupRetrieveMinFilesQueued(cliIdentity, group, minretrievefilesqueued);
}
if(!minretrievebytesqueued_s.empty()) {
uint64_t minretrievebytesqueued; std::stringstream minretrievebytesqueued_ss; minretrievebytesqueued_ss << minretrievebytesqueued_s; minretrievebytesqueued_ss >> minretrievebytesqueued;
m_catalogue->modifyMountGroupRetrieveMinBytesQueued(cliIdentity, group, minretrievebytesqueued);
}
if(!minretrieverequestage_s.empty()) {
uint64_t minretrieverequestage; std::stringstream minretrieverequestage_ss; minretrieverequestage_ss << minretrieverequestage_s; minretrieverequestage_ss >> minretrieverequestage;
m_catalogue->modifyMountGroupRetrieveMinRequestAge(cliIdentity, group, minretrieverequestage);
......@@ -1202,12 +1178,8 @@ void XrdCtaFile::xCom_mountgroup(const std::vector<std::string> &tokens, const c
std::vector<std::string> currentRow;
currentRow.push_back(it->name);
currentRow.push_back(std::to_string((unsigned long long)it->archive_priority));
currentRow.push_back(std::to_string((unsigned long long)it->archive_minFilesQueued));
currentRow.push_back(std::to_string((unsigned long long)it->archive_minBytesQueued));
currentRow.push_back(std::to_string((unsigned long long)it->archive_minRequestAge));
currentRow.push_back(std::to_string((unsigned long long)it->retrieve_priority));
currentRow.push_back(std::to_string((unsigned long long)it->retrieve_minFilesQueued));
currentRow.push_back(std::to_string((unsigned long long)it->retrieve_minBytesQueued));
currentRow.push_back(std::to_string((unsigned long long)it->retrieve_minRequestAge));
currentRow.push_back(std::to_string((unsigned long long)it->maxDrivesAllowed));
addLogInfoToResponseRow(currentRow, it->creationLog, it->lastModificationLog);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment