|
Rosetta 3.5
|
#include <MpiFileBuffer.hh>


Public Member Functions | |
| MpiFileBuffer (core::Size file_buf_rank_) | |
| virtual | ~MpiFileBuffer () |
| void | release_file (std::string filename) |
| void | block_file (std::string const &filename) |
| bool | close_file (std::string fname) |
| void | run () |
| void | stop () |
| void | set_SlaveCanOpenFile (bool setting=true) |
| void | garbage_collection () |
Protected Member Functions | |
| virtual SingleFileBufferOP | generate_new_channel (std::string const &filename, core::Size channel, bool append, core::Size &status)=0 |
Private Types | |
| typedef std::map< std::string, core::Size > | Filenames |
| typedef std::map< int, SingleFileBufferOP > | Buffers |
| typedef std::pair< time_t, int > | TimeStampedChannel |
| typedef std::map< int, time_t > | GarbageList |
Private Member Functions | |
| void | receive_str (core::Size slave, core::Size size, std::string &line) |
| void | open_channel (core::Size slave, std::string const &filename, bool append, core::Size &status) |
| bool | is_open_channel (std::string const &filename) |
| void | store_to_channel (core::Size slave, core::Size channel, std::string const &line) |
| void | flush_channel (core::Size slave, core::Size channel_id) |
| void | close_channel (core::Size slave, core::Size channel_id) |
| void | block_file (core::Size slave, std::string const &filename) |
| void | close_file (core::Size channel) |
| bool | remote_close_file (std::string const &filename) |
| void | clear_channel_from_garbage_collector (core::Size channel) |
Private Attributes | |
| core::Size | buffer_rank_ |
| core::Size | my_rank_ |
| Filenames | open_files_ |
| Buffers | open_buffers_ |
| core::Size | last_channel_ |
| bool | bSlaveCanOpenFile_ |
| bool | bKeepFilesAlive_ |
| time_t | seconds_to_keep_files_alive_ |
| bool | bStop_ |
| GarbageList | garbage_collector_ |
| time_t | last_garbage_collection_ |
| std::list< std::string > | blocked_files_ |
Definition at line 45 of file MpiFileBuffer.hh.
|
private |
Definition at line 47 of file MpiFileBuffer.hh.
|
private |
Definition at line 46 of file MpiFileBuffer.hh.
|
private |
Definition at line 49 of file MpiFileBuffer.hh.
|
private |
Definition at line 48 of file MpiFileBuffer.hh.
| protocols::jd2::MpiFileBuffer::MpiFileBuffer | ( | core::Size | file_buf_rank_) |
Definition at line 40 of file MpiFileBuffer.cc.
References bKeepFilesAlive_, last_garbage_collection_, my_rank_, and seconds_to_keep_files_alive_.
|
virtual |
Definition at line 74 of file MpiFileBuffer.cc.
References blocked_files_, garbage_collection(), and release_file().
|
private |
Definition at line 185 of file MpiFileBuffer.cc.
References buffer_rank_, my_rank_, open_buffers_, open_files_, and protocols::jd2::tr().
Referenced by run().
| void protocols::jd2::MpiFileBuffer::block_file | ( | std::string const & | filename) |
|
private |
Definition at line 288 of file MpiFileBuffer.cc.
References garbage_collector_, and protocols::jd2::tr().
|
private |
Definition at line 367 of file MpiFileBuffer.cc.
References bKeepFilesAlive_, bSlaveCanOpenFile_, close_file(), garbage_collector_, open_buffers_, seconds_to_keep_files_alive_, and protocols::jd2::tr().
Referenced by run().
|
private |
Definition at line 401 of file MpiFileBuffer.cc.
References protocols::abinitio::filename(), open_buffers_, and open_files_.
Referenced by close_channel(), close_file(), garbage_collection(), and run().
| bool protocols::jd2::MpiFileBuffer::close_file | ( | std::string | fname) |
Definition at line 386 of file MpiFileBuffer.cc.
References close_file(), protocols::abinitio::filename(), is_open_channel(), my_rank_, open_files_, remote_close_file(), and protocols::jd2::tr().
|
private |
Definition at line 360 of file MpiFileBuffer.cc.
References open_buffers_, and protocols::jd2::tr().
Referenced by run(), and store_to_channel().
| void protocols::jd2::MpiFileBuffer::garbage_collection | ( | ) |
Definition at line 81 of file MpiFileBuffer.cc.
References close_file(), garbage_collector_, last_garbage_collection_, open_buffers_, seconds_to_keep_files_alive_, and protocols::jd2::tr().
Referenced by run(), and ~MpiFileBuffer().
|
protectedpure virtual |
Implemented in protocols::jd2::DebugOut_MpiFileBuffer, and protocols::jd2::WriteOut_MpiFileBuffer.
|
private |
Definition at line 282 of file MpiFileBuffer.cc.
References open_files_.
Referenced by close_file(), and run().
|
private |
Definition at line 343 of file MpiFileBuffer.cc.
Referenced by run().
|
private |
Definition at line 71 of file MpiFileBuffer.cc.
Referenced by run().
| void protocols::jd2::MpiFileBuffer::release_file | ( | std::string | filename) |
Definition at line 258 of file MpiFileBuffer.cc.
References blocked_files_, protocols::abinitio::filename(), protocols::jd2::MPI_RELEASE_FILE(), my_rank_, and protocols::jd2::tr().
Referenced by ~MpiFileBuffer().
|
private |
Definition at line 231 of file MpiFileBuffer.cc.
References buffer_rank_, protocols::jd2::MPI_CLOSE_FILE(), my_rank_, and protocols::jd2::tr().
Referenced by close_file().
| void protocols::jd2::MpiFileBuffer::run | ( | ) |
Definition at line 116 of file MpiFileBuffer.cc.
References block_file(), bStop_, buffer_rank_, close_channel(), close_file(), protocols::swa::rna::file_exists(), protocols::abinitio::filename(), flush_channel(), garbage_collection(), is_open_channel(), MPI_ANY_SOURCE, protocols::jd2::MPI_BLOCK_FILE(), protocols::jd2::MPI_CLOSE_FILE(), protocols::jd2::MPI_WIND_DOWN(), my_rank_, open_channel(), receive_str(), core::io::serialization::size(), store_to_channel(), and protocols::jd2::tr().
Referenced by protocols::jd2::MPIFileBufJobDistributor::go(), and protocols::jd2::archive::MPIArchiveJobDistributor::go().
|
inline |
Definition at line 74 of file MpiFileBuffer.hh.
References bSlaveCanOpenFile_.
| void protocols::jd2::MpiFileBuffer::stop | ( | ) |
Definition at line 173 of file MpiFileBuffer.cc.
References bStop_, buffer_rank_, protocols::jd2::MPI_WIND_DOWN(), and my_rank_.
Referenced by protocols::jd2::MPIFileBufJobDistributor::go(), and protocols::jd2::archive::MPIArchiveJobDistributor::go().
|
private |
Definition at line 349 of file MpiFileBuffer.cc.
References flush_channel(), open_buffers_, and protocols::jd2::tr().
Referenced by run().
|
private |
Definition at line 91 of file MpiFileBuffer.hh.
Referenced by close_channel(), and MpiFileBuffer().
|
private |
Definition at line 96 of file MpiFileBuffer.hh.
Referenced by release_file(), and ~MpiFileBuffer().
|
private |
Definition at line 90 of file MpiFileBuffer.hh.
Referenced by close_channel(), and set_SlaveCanOpenFile().
|
private |
Definition at line 93 of file MpiFileBuffer.hh.
|
private |
Definition at line 82 of file MpiFileBuffer.hh.
Referenced by block_file(), remote_close_file(), run(), and stop().
|
private |
Definition at line 94 of file MpiFileBuffer.hh.
Referenced by clear_channel_from_garbage_collector(), close_channel(), and garbage_collection().
|
private |
Definition at line 86 of file MpiFileBuffer.hh.
|
private |
Definition at line 95 of file MpiFileBuffer.hh.
Referenced by garbage_collection(), and MpiFileBuffer().
|
private |
Definition at line 83 of file MpiFileBuffer.hh.
Referenced by block_file(), close_file(), MpiFileBuffer(), release_file(), remote_close_file(), run(), and stop().
|
private |
Definition at line 85 of file MpiFileBuffer.hh.
Referenced by block_file(), close_channel(), close_file(), flush_channel(), garbage_collection(), and store_to_channel().
|
private |
Definition at line 84 of file MpiFileBuffer.hh.
Referenced by block_file(), close_file(), and is_open_channel().
|
private |
Definition at line 92 of file MpiFileBuffer.hh.
Referenced by close_channel(), garbage_collection(), and MpiFileBuffer().
1.8.4