Skip to content
Snippets Groups Projects
Commit 1a66ad0c authored by Michael Davis's avatar Michael Davis
Browse files

[os-generic-queues] Implements generic version of OStoreDB::RetrieveMount::getNextJobBatch()

parent ae7175fd
No related branches found
No related tags found
No related merge requests found
......@@ -51,9 +51,10 @@ struct ContainerTraitsTypes<ArchiveQueue>
};
struct PoppedElementsSummary;
struct PopCriteria {
PopCriteria(uint64_t f = 0, uint64_t b = 0) : files(f), bytes(b) {}
PopCriteria& operator-=(const PoppedElementsSummary&);
uint64_t bytes = 0;
uint64_t files = 0;
uint64_t files;
uint64_t bytes;
};
struct PoppedElementsSummary {
uint64_t bytes = 0;
......
......@@ -83,5 +83,4 @@ switchElementsOwnership(InsertedElement::list &elemMemCont, const ContainerAddre
return ret;
}
}} // namespace cta::objectstore
......@@ -42,25 +42,29 @@ struct ContainerTraitsTypes<RetrieveQueue>
typedef RetrieveRequest::JobDump ElementDescriptor;
struct PoppedElement {};
struct PoppedElement {
std::unique_ptr<RetrieveRequest> retrieveRequest;
common::dataStructures::ArchiveFile archiveFile;
};
struct PoppedElementsSummary;
struct PopCriteria {
PopCriteria();
PopCriteria& operator-= (const PoppedElementsSummary &);
PopCriteria(uint64_t f = 0, uint64_t b = 0) : files(f), bytes(b) {}
PopCriteria& operator-=(const PoppedElementsSummary&);
uint64_t files;
uint64_t bytes;
};
struct PoppedElementsSummary {
//PoppedElementsSummary();
bool operator<(const PopCriteria&);
PoppedElementsSummary& operator+=(const PoppedElementsSummary&);
//PoppedElementsSummary(const PoppedElementsSummary&);
//void addDeltaToLog(const PoppedElementsSummary&, log::ScopedParamContainer&);
void addDeltaToLog(const PoppedElementsSummary&, log::ScopedParamContainer&);
};
struct PoppedElementsList {
PoppedElementsList();
struct PoppedElementsList : public std::list<PoppedElement> {
void insertBack(PoppedElementsList&&);
void insertBack(PoppedElement&&);
};
struct PoppedElementsBatch {
//PoppedElementsBatch();
PoppedElementsList elements;
PoppedElementsSummary summary;
void addToLog(log::ScopedParamContainer&);
......@@ -75,5 +79,4 @@ getElementAddress(const Element &e) {
return e.retrieveRequest->getAddressIfSet();
}
}} // namespace cta::objectstore
......@@ -471,17 +471,17 @@ auto RetrieveRequest::asyncUpdateOwner(uint16_t copyNumber, const std::string& o
// representation.
// TODO this is an unfortunate duplication of the getXXX() members of ArchiveRequest.
// We could try and refactor this.
retRef.m_retieveRequest.archiveFileID = payload.archivefile().archivefileid();
retRef.m_retrieveRequest.archiveFileID = payload.archivefile().archivefileid();
objectstore::EntryLogSerDeser el;
el.deserialize(payload.schedulerrequest().entrylog());
retRef.m_retieveRequest.creationLog = el;
retRef.m_retrieveRequest.creationLog = el;
objectstore::DiskFileInfoSerDeser dfi;
dfi.deserialize(payload.schedulerrequest().diskfileinfo());
retRef.m_retieveRequest.diskFileInfo = dfi;
retRef.m_retieveRequest.dstURL = payload.schedulerrequest().dsturl();
retRef.m_retieveRequest.errorReportURL = payload.schedulerrequest().retrieveerrorreporturl();
retRef.m_retieveRequest.requester.name = payload.schedulerrequest().requester().name();
retRef.m_retieveRequest.requester.group = payload.schedulerrequest().requester().group();
retRef.m_retrieveRequest.diskFileInfo = dfi;
retRef.m_retrieveRequest.dstURL = payload.schedulerrequest().dsturl();
retRef.m_retrieveRequest.errorReportURL = payload.schedulerrequest().retrieveerrorreporturl();
retRef.m_retrieveRequest.requester.name = payload.schedulerrequest().requester().name();
retRef.m_retrieveRequest.requester.group = payload.schedulerrequest().requester().group();
objectstore::ArchiveFileSerDeser af;
af.deserialize(payload.archivefile());
retRef.m_archiveFile = af;
......@@ -514,7 +514,7 @@ const common::dataStructures::ArchiveFile& RetrieveRequest::AsyncOwnerUpdater::g
// RetrieveRequest::AsyncOwnerUpdater::getRetrieveRequest()
//------------------------------------------------------------------------------
const common::dataStructures::RetrieveRequest& RetrieveRequest::AsyncOwnerUpdater::getRetrieveRequest() {
return m_retieveRequest;
return m_retrieveRequest;
}
//------------------------------------------------------------------------------
......
......@@ -96,7 +96,7 @@ public:
private:
std::function<std::string(const std::string &)> m_updaterCallback;
std::unique_ptr<Backend::AsyncUpdater> m_backendUpdater;
common::dataStructures::RetrieveRequest m_retieveRequest;
common::dataStructures::RetrieveRequest m_retrieveRequest;
common::dataStructures::ArchiveFile m_archiveFile;
};
// An owner updater factory. The owner MUST be previousOwner for the update to be executed.
......
This diff is collapsed.
Subproject commit a0852801beb2802954596389b5a7126999c9c1c6
Subproject commit 223c2e127c6b7530e839c52665e35c45dfd4fb7f
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment