Skip to content

Commit 74afeb7

Browse files
committed
Commented debugging output for IOHandler::flush()
1 parent e530733 commit 74afeb7

3 files changed

Lines changed: 253 additions & 182 deletions

File tree

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -465,6 +465,7 @@ set(CORE_SOURCE
465465
src/helper/list_series.cpp)
466466
set(IO_SOURCE
467467
src/IO/AbstractIOHandler.cpp
468+
src/IO/AbstractIOHandlerImpl.cpp
468469
src/IO/AbstractIOHandlerHelper.cpp
469470
src/IO/DummyIOHandler.cpp
470471
src/IO/IOTask.cpp

include/openPMD/IO/AbstractIOHandlerImpl.hpp

Lines changed: 1 addition & 182 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
#include "openPMD/auxiliary/DerefDynamicCast.hpp"
2626

2727
#include <future>
28-
#include <iostream>
2928

3029
namespace openPMD
3130
{
@@ -40,187 +39,7 @@ class AbstractIOHandlerImpl
4039

4140
virtual ~AbstractIOHandlerImpl() = default;
4241

43-
std::future<void> flush()
44-
{
45-
using namespace auxiliary;
46-
47-
while (!(*m_handler).m_work.empty())
48-
{
49-
IOTask &i = (*m_handler).m_work.front();
50-
try
51-
{
52-
switch (i.operation)
53-
{
54-
using O = Operation;
55-
case O::CREATE_FILE:
56-
createFile(
57-
i.writable,
58-
deref_dynamic_cast<Parameter<Operation::CREATE_FILE> >(
59-
i.parameter.get()));
60-
break;
61-
case O::CHECK_FILE:
62-
checkFile(
63-
i.writable,
64-
deref_dynamic_cast<Parameter<Operation::CHECK_FILE> >(
65-
i.parameter.get()));
66-
break;
67-
case O::CREATE_PATH:
68-
createPath(
69-
i.writable,
70-
deref_dynamic_cast<Parameter<O::CREATE_PATH> >(
71-
i.parameter.get()));
72-
break;
73-
case O::CREATE_DATASET:
74-
createDataset(
75-
i.writable,
76-
deref_dynamic_cast<Parameter<O::CREATE_DATASET> >(
77-
i.parameter.get()));
78-
break;
79-
case O::EXTEND_DATASET:
80-
extendDataset(
81-
i.writable,
82-
deref_dynamic_cast<Parameter<O::EXTEND_DATASET> >(
83-
i.parameter.get()));
84-
break;
85-
case O::OPEN_FILE:
86-
openFile(
87-
i.writable,
88-
deref_dynamic_cast<Parameter<O::OPEN_FILE> >(
89-
i.parameter.get()));
90-
break;
91-
case O::CLOSE_FILE:
92-
closeFile(
93-
i.writable,
94-
deref_dynamic_cast<Parameter<O::CLOSE_FILE> >(
95-
i.parameter.get()));
96-
break;
97-
case O::OPEN_PATH:
98-
openPath(
99-
i.writable,
100-
deref_dynamic_cast<Parameter<O::OPEN_PATH> >(
101-
i.parameter.get()));
102-
break;
103-
case O::CLOSE_PATH:
104-
closePath(
105-
i.writable,
106-
deref_dynamic_cast<Parameter<O::CLOSE_PATH> >(
107-
i.parameter.get()));
108-
break;
109-
case O::OPEN_DATASET:
110-
openDataset(
111-
i.writable,
112-
deref_dynamic_cast<Parameter<O::OPEN_DATASET> >(
113-
i.parameter.get()));
114-
break;
115-
case O::DELETE_FILE:
116-
deleteFile(
117-
i.writable,
118-
deref_dynamic_cast<Parameter<O::DELETE_FILE> >(
119-
i.parameter.get()));
120-
break;
121-
case O::DELETE_PATH:
122-
deletePath(
123-
i.writable,
124-
deref_dynamic_cast<Parameter<O::DELETE_PATH> >(
125-
i.parameter.get()));
126-
break;
127-
case O::DELETE_DATASET:
128-
deleteDataset(
129-
i.writable,
130-
deref_dynamic_cast<Parameter<O::DELETE_DATASET> >(
131-
i.parameter.get()));
132-
break;
133-
case O::DELETE_ATT:
134-
deleteAttribute(
135-
i.writable,
136-
deref_dynamic_cast<Parameter<O::DELETE_ATT> >(
137-
i.parameter.get()));
138-
break;
139-
case O::WRITE_DATASET:
140-
writeDataset(
141-
i.writable,
142-
deref_dynamic_cast<Parameter<O::WRITE_DATASET> >(
143-
i.parameter.get()));
144-
break;
145-
case O::WRITE_ATT:
146-
writeAttribute(
147-
i.writable,
148-
deref_dynamic_cast<Parameter<O::WRITE_ATT> >(
149-
i.parameter.get()));
150-
break;
151-
case O::READ_DATASET:
152-
readDataset(
153-
i.writable,
154-
deref_dynamic_cast<Parameter<O::READ_DATASET> >(
155-
i.parameter.get()));
156-
break;
157-
case O::GET_BUFFER_VIEW:
158-
getBufferView(
159-
i.writable,
160-
deref_dynamic_cast<Parameter<O::GET_BUFFER_VIEW> >(
161-
i.parameter.get()));
162-
break;
163-
case O::READ_ATT:
164-
readAttribute(
165-
i.writable,
166-
deref_dynamic_cast<Parameter<O::READ_ATT> >(
167-
i.parameter.get()));
168-
break;
169-
case O::LIST_PATHS:
170-
listPaths(
171-
i.writable,
172-
deref_dynamic_cast<Parameter<O::LIST_PATHS> >(
173-
i.parameter.get()));
174-
break;
175-
case O::LIST_DATASETS:
176-
listDatasets(
177-
i.writable,
178-
deref_dynamic_cast<Parameter<O::LIST_DATASETS> >(
179-
i.parameter.get()));
180-
break;
181-
case O::LIST_ATTS:
182-
listAttributes(
183-
i.writable,
184-
deref_dynamic_cast<Parameter<O::LIST_ATTS> >(
185-
i.parameter.get()));
186-
break;
187-
case O::ADVANCE:
188-
advance(
189-
i.writable,
190-
deref_dynamic_cast<Parameter<O::ADVANCE> >(
191-
i.parameter.get()));
192-
break;
193-
case O::AVAILABLE_CHUNKS:
194-
availableChunks(
195-
i.writable,
196-
deref_dynamic_cast<Parameter<O::AVAILABLE_CHUNKS> >(
197-
i.parameter.get()));
198-
break;
199-
case O::DEREGISTER:
200-
deregister(
201-
i.writable,
202-
deref_dynamic_cast<Parameter<O::DEREGISTER> >(
203-
i.parameter.get()));
204-
break;
205-
}
206-
}
207-
catch (...)
208-
{
209-
std::cerr << "[AbstractIOHandlerImpl] IO Task "
210-
<< internal::operationAsString(i.operation)
211-
<< " failed with exception. Clearing IO queue and "
212-
"passing on the exception."
213-
<< std::endl;
214-
while (!m_handler->m_work.empty())
215-
{
216-
m_handler->m_work.pop();
217-
}
218-
throw;
219-
}
220-
(*m_handler).m_work.pop();
221-
}
222-
return std::future<void>();
223-
}
42+
std::future<void> flush();
22443

22544
/**
22645
* Close the file corresponding with the writable and release file handles.

0 commit comments

Comments
 (0)