3838#include < bslma_usesbslmaallocator.h>
3939#include < bslmf_nestedtraitdeclaration.h>
4040#include < bsls_atomic.h>
41- #include < bsls_cpp11 .h>
41+ #include < bsls_keyword .h>
4242#include < bsls_types.h>
4343
4444namespace BloombergLP {
@@ -53,36 +53,39 @@ class FileStore;
5353// ==============
5454
5555// / Value-semantic type representing a set of BlazingMQ data store files.
56- struct FileSet BSLS_CPP11_FINAL {
56+ struct FileSet BSLS_KEYWORD_FINAL {
5757 public:
58- // PUBLIC DATA
59- FileStore* d_store_p;
60-
61- mqbu::StorageKey d_dataFileKey;
62-
63- MappedFileDescriptor d_dataFile;
64-
65- MappedFileDescriptor d_journalFile;
66-
67- MappedFileDescriptor d_qlistFile;
58+ // PUBLIC TYPES
6859
69- bsls::Types::Uint64 d_dataFilePosition;
60+ // / Per-file-type information aggregated into a single struct.
61+ struct FileInfo {
62+ MappedFileDescriptor d_file;
63+ bsl::string d_fileName;
64+ bsls::Types::Uint64 d_filePosition;
65+ bsls::Types::Uint64 d_outstandingBytes;
7066
71- bsls::Types::Uint64 d_journalFilePosition;
67+ // TRAITS
68+ BSLMF_NESTED_TRAIT_DECLARATION (FileInfo, bslma::UsesBslmaAllocator)
7269
73- bsls::Types::Uint64 d_qlistFilePosition;
70+ // CREATORS
71+ explicit FileInfo (bslma::Allocator* allocator);
7472
75- bsl::string d_dataFileName;
73+ private:
74+ // NOT IMPLEMENTED
75+ FileInfo (const FileInfo&) BSLS_KEYWORD_DELETED ;
76+ FileInfo& operator =(const FileInfo&) BSLS_KEYWORD_DELETED ;
77+ };
7678
77- bsl::string d_journalFileName;
79+ // PUBLIC DATA
80+ FileStore* d_store_p;
7881
79- bsl::string d_qlistFileName ;
82+ mqbu::StorageKey d_dataFileKey ;
8083
81- bsls::Types::Uint64 d_outstandingBytesJournal ;
84+ FileInfo d_data ;
8285
83- bsls::Types::Uint64 d_outstandingBytesData ;
86+ FileInfo d_journal ;
8487
85- bsls::Types::Uint64 d_outstandingBytesQlist ;
88+ FileInfo d_qlist ;
8689
8790 bool d_journalFileAvailable;
8891
@@ -105,8 +108,8 @@ struct FileSet BSLS_CPP11_FINAL {
105108
106109 private:
107110 // NOT IMPLEMENTED
108- FileSet (const FileSet&) BSLS_CPP11_DELETED ;
109- FileSet& operator =(const FileSet&) BSLS_CPP11_DELETED ;
111+ FileSet (const FileSet&) BSLS_KEYWORD_DELETED ;
112+ FileSet& operator =(const FileSet&) BSLS_KEYWORD_DELETED ;
110113
111114 public:
112115 // TRAITS
@@ -130,21 +133,20 @@ struct FileSet BSLS_CPP11_FINAL {
130133// -------------
131134
132135// CREATORS
136+ inline FileSet::FileInfo::FileInfo (bslma::Allocator* allocator)
137+ : d_file()
138+ , d_fileName(allocator)
139+ , d_filePosition(0 )
140+ , d_outstandingBytes(0 )
141+ {
142+ }
143+
133144inline FileSet::FileSet (FileStore* store, bslma::Allocator* allocator)
134145: d_store_p(store)
135146, d_dataFileKey()
136- , d_dataFile()
137- , d_journalFile()
138- , d_qlistFile()
139- , d_dataFilePosition(0 )
140- , d_journalFilePosition(0 )
141- , d_qlistFilePosition(0 )
142- , d_dataFileName(allocator)
143- , d_journalFileName(allocator)
144- , d_qlistFileName(allocator)
145- , d_outstandingBytesJournal(0 )
146- , d_outstandingBytesData(0 )
147- , d_outstandingBytesQlist(0 )
147+ , d_data(allocator)
148+ , d_journal(allocator)
149+ , d_qlist(allocator)
148150, d_journalFileAvailable(true )
149151, d_fileSetRolloverPolicyAlarm(false )
150152, d_inlineGc(false )
0 commit comments