fileOperations that performs all file operations on the master processor. Requires the calls to be parallel synchronised! More...
Classes | |
class | chModOp |
class | cpOp |
class | existsOp |
class | fileOrNullOp |
class | fileSizeOp |
class | highResLastModifiedOp |
class | isDirOp |
class | isFileOp |
class | lastModifiedOp |
class | lnOp |
class | mkDirOp |
class | modeOp |
class | mvBakOp |
class | mvOp |
class | readDirOp |
class | rmDirOp |
class | rmOp |
class | typeOp |
Public Member Functions | |
TypeName ("masterUncollated") | |
Runtime type information. More... | |
masterUncollatedFileOperation (bool verbose=false) | |
Default construct. More... | |
masterUncollatedFileOperation (const Tuple2< label, labelList > &commAndIORanks, const bool distributedRoots, bool verbose=false) | |
Construct from communicator with specified io-ranks. More... | |
virtual | ~masterUncollatedFileOperation () |
Destructor. More... | |
virtual void | storeComm () const |
Transfer ownership of communicator to this fileOperation. Use with caution. More... | |
virtual bool | mkDir (const fileName &, mode_t=0777) const |
Make directory. More... | |
virtual bool | chMod (const fileName &, const mode_t) const |
Set the file mode. More... | |
virtual mode_t | mode (const fileName &, const bool followLink=true) const |
Return the file mode. More... | |
virtual fileName::Type | type (const fileName &, const bool followLink=true) const |
Return the file type: DIRECTORY, FILE or SYMLINK. More... | |
virtual bool | exists (const fileName &, const bool checkGzip=true, const bool followLink=true) const |
Does the name exist (as DIRECTORY or FILE) in the file system? More... | |
virtual bool | isDir (const fileName &, const bool followLink=true) const |
Does the name exist as a DIRECTORY in the file system? More... | |
virtual bool | isFile (const fileName &, const bool checkGzip=true, const bool followLink=true) const |
Does the name exist as a FILE in the file system? More... | |
virtual off_t | fileSize (const fileName &, const bool followLink=true) const |
Return size of file. More... | |
virtual time_t | lastModified (const fileName &, const bool followLink=true) const |
Return time of last file modification. More... | |
virtual double | highResLastModified (const fileName &, const bool followLink=true) const |
Return time of last file modification. More... | |
virtual fileNameList | readDir (const fileName &, const fileName::Type=fileName::FILE, const bool filtergz=true, const bool followLink=true) const |
Read a directory and return the entries as a string list. More... | |
virtual bool | cp (const fileName &src, const fileName &dst, const bool followLink=true) const |
Copy, recursively if necessary, the source to the destination. More... | |
virtual bool | ln (const fileName &src, const fileName &dst) const |
Create a softlink. dst should not exist. Returns true if. More... | |
virtual bool | mv (const fileName &src, const fileName &dst, const bool followLink=false) const |
Rename src to dst. More... | |
virtual bool | mvBak (const fileName &, const std::string &ext="bak") const |
Rename to a corresponding backup file. More... | |
virtual bool | rm (const fileName &) const |
Remove a file, returning true if successful otherwise false. More... | |
virtual bool | rmDir (const fileName &dir, const bool silent=false, const bool emptyOnly=false) const |
Remove a directory and its contents. More... | |
virtual fileName | filePath (const bool checkGlobal, const IOobject &io, const word &typeName, const bool search) const |
Search for an object. checkGlobal : also check undecomposed case. More... | |
virtual fileName | dirPath (const bool checkGlobal, const IOobject &io, const bool search) const |
Search for a directory. checkGlobal : also check undecomposed. More... | |
virtual fileNameList | readObjects (const objectRegistry &db, const fileName &instance, const fileName &local, word &newInstance) const |
Search directory for objects. Used in IOobjectList. More... | |
virtual bool | readHeader (IOobject &, const fileName &, const word &typeName) const |
Read object header from supplied file. More... | |
virtual autoPtr< ISstream > | readStream (regIOobject &, const fileName &, const word &typeName, const bool readOnProc=true) const |
Reads header for regIOobject and returns an ISstream to read the contents. More... | |
virtual bool | read (regIOobject &, const bool masterOnly, const IOstreamOption::streamFormat format, const word &typeName) const |
Top-level read. More... | |
virtual bool | writeObject (const regIOobject &io, IOstreamOption streamOpt=IOstreamOption(), const bool writeOnProc=true) const |
Writes a regIOobject (so header, contents and divider). More... | |
virtual autoPtr< ISstream > | NewIFstream (const fileName &) const |
Generate an ISstream that reads a file. More... | |
virtual autoPtr< OSstream > | NewOFstream (const fileName &pathname, IOstreamOption streamOpt=IOstreamOption(), const bool writeOnProc=true) const |
Generate an OSstream that writes a file. More... | |
virtual autoPtr< OSstream > | NewOFstream (IOstreamOption::atomicType atomic, const fileName &pathname, IOstreamOption streamOpt=IOstreamOption(), const bool writeOnProc=true) const |
Generate an OSstream that writes a file. More... | |
virtual label | addWatch (const fileName &) const |
Add watching of a file. Returns handle. More... | |
virtual bool | removeWatch (const label) const |
Remove watch on a file (using handle) More... | |
virtual label | findWatch (const labelList &watchIndices, const fileName &) const |
Find index (or -1) of file in list of handles. More... | |
virtual void | addWatches (regIOobject &, const fileNameList &) const |
Helper: add watches for list of regIOobjects. More... | |
virtual fileName | getFile (const label) const |
Get name of file being watched (using handle) More... | |
virtual void | updateStates (const bool masterOnly, const bool syncPar) const |
Update state of all files. More... | |
virtual fileMonitor::fileState | getState (const label) const |
Get current state of file (using handle) More... | |
virtual void | setUnmodified (const label) const |
Set current state of file (using handle) to unmodified. More... | |
virtual instantList | findTimes (const fileName &, const word &) const |
Get sorted list of times. More... | |
virtual IOobject | findInstance (const IOobject &io, const scalar startValue, const word &stopInstance, const bool constant_fallback=true) const |
Find time instance where IOobject is located. The name of the IOobject can be empty, in which case only the IOobject::local() is checked. Does not search beyond stopInstance (if set) or constant . More... | |
virtual void | setTime (const Time &) const |
Callback for time change. More... | |
virtual void | flush () const |
Forcibly wait until all output done. Flush any cached data. More... | |
virtual void | sync () |
Forcibly parallel sync. More... | |
const HashPtrTable< DynamicList< instant > > & | times () const noexcept |
Return cached times. More... | |
Public Member Functions inherited from fileOperation | |
TypeName ("fileOperation") | |
Runtime type information. More... | |
fileOperation (const label comm, const labelUList &ioRanks=labelUList::null(), const bool distributedRoots=false) | |
Construct from communicator, optionally with specified io-ranks and/or distributed roots. More... | |
fileOperation (const Tuple2< label, labelList > &commAndIORanks, const bool distributedRoots=false) | |
Construct from communicator with specified io-ranks. More... | |
declareRunTimeSelectionTable (autoPtr, fileOperation, word,(bool verbose),(verbose)) | |
declareRunTimeSelectionTable (autoPtr, fileOperation, comm,(const Tuple2< label, labelList > &commAndIORanks, const bool distributedRoots, bool verbose),(commAndIORanks, distributedRoots, verbose)) | |
virtual | ~fileOperation ()=default |
Destructor. More... | |
label | comm () const noexcept |
Communicator to use. More... | |
label | comm (label communicator) const noexcept |
Set communicator to use [mutable]. Negative values are a no-op. More... | |
bool | distributed () const noexcept |
Distributed roots (parallel run) More... | |
bool | distributed (bool on) const noexcept |
Set distributed roots on/off [mutable]. More... | |
const labelList & | ioRanks () const noexcept |
The list of IO ranks (global ranks) More... | |
InfoProxy< fileOperation > | info () const noexcept |
Return info proxy, used to print information to a stream. More... | |
virtual bool | good () const |
True if the fileOperation can be considered valid. At the moment, primarily used to detect the dummy fileOperation. More... | |
virtual bool | broadcastCopy (const label comm, const bool writeOnProc, const fileName &src, const fileName &dst) const |
Read dir/file (recursively if necessary) on master of the communicator, send and write contents to all 'writeOnProc' processors with local file name. More... | |
virtual fileName | objectPath (const IOobject &io, const word &typeName) const |
Generate disk file name for object. Opposite of filePath. More... | |
virtual fileName | filePath (const fileName &, const bool checkGzip=true, const bool followLink=true) const |
Search for a file or directory. Use IOobject version in preference. More... | |
virtual word | processorsDir (const IOobject &io) const |
Actual name of processors dir (for use in mode PROCOBJECT, PROCINSTANCE) More... | |
virtual word | processorsDir (const fileName &) const |
Actual name of processors dir (for use in mode PROCOBJECT, PROCINSTANCE) More... | |
label | nProcs () const noexcept |
Overall number of processors, from UPstream::nProcs() or detected from directories/results. More... | |
label | nProcs (const label numProcs) noexcept |
Set number of processor directories/results. More... | |
virtual label | nProcs (const fileName &dir, const fileName &local="", const label wantedNProcs=0) const |
Get number of processor directories/results. More... | |
fileName | processorsCasePath (const IOobject &io, const word &procDir) const |
Generate path (like io.path) from root+casename with any. More... | |
fileName | processorsPath (const IOobject &io, const word &instance, const word &procDir) const |
Generate path (like io.path) with provided instance and any. More... | |
fileName | processorsPath (const fileName &, const word &procDir) const |
Operating on fileName: replace processorXXX with procDir. More... | |
label | setNProcs (label numProcs) |
Same as nProcs. More... | |
Static Public Attributes | |
static float | maxMasterFileBufferSize |
Max size of parallel communications. Switches from non-blocking. More... | |
Static Public Attributes inherited from fileOperation | |
static const Enum< pathType > | pathTypeNames_ |
static word | processorsBaseDir = "processors" |
Return the processors directory name (usually "processors") More... | |
static word | defaultFileHandler |
Name of the default fileHandler. More... | |
static refPtr< fileOperation > | fileHandlerPtr_ |
The currently active file handler. Avoid accessing directly. More... | |
Protected Member Functions | |
template<class Type , class FileOp > | |
Type | masterOp (const fileName &fName, const FileOp &fop, const int tag, const label comm) const |
template<class Type , class FileOp > | |
Type | masterOp (const fileName &src, const fileName &dest, const FileOp &fop, const int tag, const label comm) const |
virtual fileName | filePathInfo (const bool checkGlobal, const bool isFile, const IOobject &io, const dirIndexList &pDirs, const bool search, pathType &searchType, word &processorsDir, word &instance) const |
Search (locally!) for object; return info on how it was found. More... | |
fileName | localObjectPath (const IOobject &, const pathType &searchType, const word &processorsDir, const word &instancePath) const |
Construct filePath. More... | |
bool | exists (const dirIndexList &, IOobject &io) const |
Helper: check IO for local existence. Like filePathInfo but. More... | |
Protected Member Functions inherited from fileOperation | |
fileMonitor & | monitor () const |
Get or create fileMonitor singleton. More... | |
refPtr< dirIndexList > | lookupAndCacheProcessorsPath (const fileName &objectPath, const bool syncPar) const |
Lookup name of processorsDDD using cache. More... | |
virtual refPtr< dirIndexList > | lookupProcessorsPath (const fileName &objectPath) const |
Lookup name of processorsDDD using cache. More... | |
bool | exists (IOobject &io) const |
Does IOobject exist? Is either a directory (empty name()) or a file. More... | |
bool | isIOrank (const label proci) const |
Is proci a master rank in the communicator (in parallel) or a master rank in the IO ranks (non-parallel) More... | |
void | printRanks () const |
Helper: output which ranks are IO. More... | |
Static Protected Member Functions | |
static void | readAndSend (const fileName &filePath, const labelUList &recvProcs, PstreamBuffers &pBufs) |
Read file contents and send to processors. More... | |
static autoPtr< ISstream > | read (IOobject &io, const label comm, const bool uniform, const fileNameList &filePaths, const boolUList &readOnProcs) |
Read files on comms master. More... | |
Static Protected Member Functions inherited from fileOperation | |
static void | mergeTimes (const instantList &extraTimes, const word &constantName, instantList ×) |
Merge two times. More... | |
static bool | isFileOrDir (const bool isFile, const fileName &) |
Helper: check for file (isFile) or directory (!isFile) More... | |
static label | getManagedComm (const label communicator) |
Construction helper: check for locally allocated communicator. More... | |
Protected Attributes | |
HashPtrTable< DynamicList< instant > > | times_ |
Cached times for a given directory. More... | |
Protected Attributes inherited from fileOperation | |
label | comm_ |
Communicator to use. More... | |
label | nProcs_ |
Overall number of processors. More... | |
bool | distributed_ |
Distributed roots (parallel run) More... | |
const labelList | ioRanks_ |
The list of IO ranks (global ranks) More... | |
HashTable< dirIndexList > | procsDirs_ |
Detected processors directories. More... | |
std::unique_ptr< fileMonitor > | monitorPtr_ |
File-change monitor for all registered files. More... | |
Additional Inherited Members | |
Public Types inherited from fileOperation | |
enum | pathType : int { NOTFOUND = 0, ABSOLUTE, OBJECT, WRITEOBJECT, PROCUNCOLLATED, PROCBASEOBJECT = PROCUNCOLLATED + 1, PROCOBJECT = PROCBASEOBJECT + 1, PARENTOBJECT, FINDINSTANCE, PROCUNCOLLATEDINSTANCE, PROCBASEINSTANCE, PROCINSTANCE } |
Enumeration for the location of an IOobject. More... | |
typedef Tuple2< fileName, Tuple2< pathType, int > > | dirIndex |
Augment fileName with pathType and local offset. More... | |
typedef List< dirIndex > | dirIndexList |
typedef IntRange< int > | procRangeType |
For addressing a range of processors, identical to UPstream::rangeType. More... | |
Static Public Member Functions inherited from fileOperation | |
static refPtr< fileOperation > | null () |
Reference to a dummy file handler. More... | |
static autoPtr< fileOperation > | New (const word &handlerType, bool verbose=false) |
Select fileHandler-type. Uses defaultFileHandler if the handlerType is empty. More... | |
static autoPtr< fileOperation > | New (const word &handlerType, const Tuple2< label, labelList > &commAndIORanks, const bool distributedRoots, bool verbose=false) |
Select fileHandler-type. Uses defaultFileHandler if the handlerType is empty. More... | |
static autoPtr< fileOperation > | New (const fileOperation &origHandler, const boolUList &useProc, bool verbose=false) |
Replicate the given fileHandler properties with a subset of (global) ranks. More... | |
static autoPtr< fileOperation > | New (const fileOperation &origHandler, const bitSet &useProc, bool verbose=false) |
Replicate the given fileHandler properties with a subset of (global) ranks. More... | |
static autoPtr< fileOperation > | NewUncollated () |
The commonly used uncollatedFileOperation. More... | |
static const fileOperation & | fileHandler () |
Return the current file handler. Will create the default file handler if necessary. More... | |
static refPtr< fileOperation > | fileHandler (std::nullptr_t) |
Delete current file handler. More... | |
static refPtr< fileOperation > | fileHandler (refPtr< fileOperation > &newHandler) |
Replace the current file handler. More... | |
static refPtr< fileOperation > | fileHandler (refPtr< fileOperation > &&newHandler) |
Replace the current file handler. More... | |
static refPtr< fileOperation > | fileHandler (autoPtr< fileOperation > &&newHandler) |
Replace the current file handler. More... | |
static int | cacheLevel () noexcept |
Return cache level. More... | |
static int | cacheLevel (int level) noexcept |
Set cache level (0 = off). More... | |
static int | nProcsFilter () noexcept |
Return collated 'processorsDDD' filtering. More... | |
static int | nProcsFilter (int level) noexcept |
Set collated 'processorsDDD' filtering (0 = off). More... | |
static instantList | sortTimes (const fileNameList &dirEntries, const word &constantName="constant") |
Sort directory entries according to time value,. More... | |
static bool | uniformFile (const fileNameList &names) |
True if the file names are identical. False on an empty list. More... | |
static bool | uniformFile (const label comm, const fileName &name) |
True if the file name is identical on all ranks. More... | |
static label | splitProcessorPath (const fileName &objectPath, fileName &path, fileName &procDir, fileName &local, procRangeType &group, label &nProcs) |
Split objectPath into part before 'processor' and part after. More... | |
static label | detectProcessorPath (const fileName &objPath) |
Detect processor number from '/aa/bb/processorDDD/cc'. More... | |
static labelRange | subRanks (const labelUList &mainIOranks) |
Get (contiguous) range/bounds of ranks addressed within the given main io-ranks. More... | |
static labelList | getGlobalHostIORanks () |
Get list of global IO master ranks based on the hostname. It is assumed that each host range is contiguous. More... | |
static labelList | getGlobalIORanks () |
Get list of global IO ranks from FOAM_IORANKS env variable. If set, these correspond to the IO master ranks. More... | |
Static Protected Attributes inherited from fileOperation | |
static int | cacheLevel_ |
Cache level (eg, for caching time directories). Default: 1. More... | |
fileOperations that performs all file operations on the master processor. Requires the calls to be parallel synchronised!
The main logic is in ::filePath which returns a
system/controlDict: filePath worldmaster: <globalRoot>/system/controlDict localmaster: ,, slave : ,,
processor0/uniform/time filePath worldmaster: <globalRoot>/processorXXX/uniform/time localmaster: ,, slave : ,,
processors0/0/p processors10/0/p processors10_2-4/0/p
Definition at line 78 of file masterUncollatedFileOperation.H.
|
explicit |
Default construct.
Definition at line 659 of file masterUncollatedFileOperation.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, UPstream::myProcNo(), and UPstream::nProcs().
|
explicit |
Construct from communicator with specified io-ranks.
Definition at line 692 of file masterUncollatedFileOperation.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, UPstream::myProcNo(), and UPstream::nProcs().
|
virtual |
Destructor.
Definition at line 732 of file masterUncollatedFileOperation.C.
References UPstream::freeCommunicator().
|
protected |
Definition at line 29 of file masterUncollatedFileOperationTemplates.C.
References Foam::ensightOutput::debug, Foam::endl(), Foam::name(), Foam::Pout, and List< T >::resize().
|
protected |
Definition at line 77 of file masterUncollatedFileOperationTemplates.C.
References Foam::ensightOutput::debug, Foam::endl(), UList< T >::first(), Foam::Pout, and List< T >::resize().
|
protectedvirtual |
Search (locally!) for object; return info on how it was found.
Does not do any parallel communication. checkGlobal : also check undecomposed case isFile : true:check for file false:check for directory searchType : how was found processorsDir : name of processor directory instance : instance
Definition at line 83 of file masterUncollatedFileOperation.C.
References io(), Foam::isFile(), and Foam::search().
|
protected |
Construct filePath.
Definition at line 258 of file masterUncollatedFileOperation.C.
References io(), Foam::name(), and NotImplemented.
Referenced by collatedFileOperation::objectPath().
|
staticprotected |
Read file contents and send to processors.
Handles compressed or uncompressed files
Definition at line 400 of file masterUncollatedFileOperation.C.
References UList< T >::cdata_bytes(), IOstreamOption::compression(), Foam::ensightOutput::debug, UList< T >::empty(), Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, IOstream::good(), Foam::Info, os(), and UList< T >::size_bytes().
|
staticprotected |
Read files on comms master.
Definition at line 438 of file masterUncollatedFileOperation.C.
References Foam::ensightOutput::debug, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, PstreamBuffers::finishedScatters(), io(), Foam::Pout, DynamicList< T, SizeMin >::push_back(), UIPstream::read(), PstreamBuffers::recvDataCount(), and autoPtr< T >::reset().
|
protected |
Helper: check IO for local existence. Like filePathInfo but.
without parent searchign and instance searching
Definition at line 1343 of file masterUncollatedFileOperation.C.
References io(), Foam::isFile(), and word::null.
TypeName | ( | "masterUncollated" | ) |
Runtime type information.
|
virtual |
Transfer ownership of communicator to this fileOperation. Use with caution.
Implements fileOperation.
Reimplemented in collatedFileOperation, hostCollatedFileOperation, and hostUncollatedFileOperation.
Definition at line 722 of file masterUncollatedFileOperation.C.
|
virtual |
Make directory.
Implements fileOperation.
Definition at line 741 of file masterUncollatedFileOperation.C.
References Foam::mode(), and UPstream::msgType().
|
virtual |
Set the file mode.
Implements fileOperation.
Definition at line 757 of file masterUncollatedFileOperation.C.
References Foam::mode(), and UPstream::msgType().
|
virtual |
Return the file mode.
Implements fileOperation.
Definition at line 773 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
|
virtual |
Return the file type: DIRECTORY, FILE or SYMLINK.
Implements fileOperation.
Definition at line 789 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
|
virtual |
Does the name exist (as DIRECTORY or FILE) in the file system?
Optionally enable/disable check for gzip file.
Implements fileOperation.
Definition at line 808 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
|
virtual |
Does the name exist as a DIRECTORY in the file system?
Implements fileOperation.
Definition at line 825 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
|
virtual |
Does the name exist as a FILE in the file system?
Optionally enable/disable check for gzip file.
Implements fileOperation.
Definition at line 841 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
|
virtual |
Return size of file.
Implements fileOperation.
Definition at line 858 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
|
virtual |
Return time of last file modification.
Implements fileOperation.
Definition at line 874 of file masterUncollatedFileOperation.C.
References UPstream::msgType(), and UPstream::worldComm.
|
virtual |
Return time of last file modification.
Implements fileOperation.
Definition at line 890 of file masterUncollatedFileOperation.C.
References UPstream::msgType(), and UPstream::worldComm.
|
virtual |
Read a directory and return the entries as a string list.
Implements fileOperation.
Definition at line 954 of file masterUncollatedFileOperation.C.
References UPstream::msgType(), and Foam::type().
Copy, recursively if necessary, the source to the destination.
Implements fileOperation.
Definition at line 972 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
Create a softlink. dst should not exist. Returns true if.
successful.
Implements fileOperation.
Definition at line 990 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
Rename src to dst.
Implements fileOperation.
Definition at line 1007 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
|
virtual |
Rename to a corresponding backup file.
If the backup file already exists, attempt with "01" .. "99" suffix
Implements fileOperation.
Definition at line 906 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
|
virtual |
Remove a file, returning true if successful otherwise false.
Implements fileOperation.
Definition at line 922 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
|
virtual |
Remove a directory and its contents.
dir | the directory to remove |
silent | do not report missing directory |
emptyOnly | only remove empty directories (recursive) |
Implements fileOperation.
Definition at line 937 of file masterUncollatedFileOperation.C.
References UPstream::msgType().
|
virtual |
Search for an object. checkGlobal : also check undecomposed case.
Implements fileOperation.
Definition at line 1027 of file masterUncollatedFileOperation.C.
References fileOperation::ABSOLUTE, Pstream::broadcast(), Pstream::broadcasts(), fileOperation::cacheLevel(), Foam::ensightOutput::debug, Foam::endl(), fileOperation::FINDINSTANCE, io(), UPstream::master(), UPstream::msgType(), fileOperation::NOTFOUND, fileOperation::nProcs(), fileOperation::OBJECT, fileOperation::PARENTOBJECT, UPstream::parRun(), fileOperation::pathTypeNames_, Foam::Pout, fileOperation::PROCBASEINSTANCE, fileOperation::PROCBASEOBJECT, fileOperation::PROCINSTANCE, fileOperation::PROCOBJECT, fileOperation::PROCUNCOLLATED, fileOperation::PROCUNCOLLATEDINSTANCE, Foam::search(), UPstream::worldComm, and fileOperation::WRITEOBJECT.
|
virtual |
Search for a directory. checkGlobal : also check undecomposed.
case
Implements fileOperation.
Definition at line 1185 of file masterUncollatedFileOperation.C.
References fileOperation::ABSOLUTE, Pstream::broadcast(), Pstream::broadcasts(), fileOperation::cacheLevel(), Foam::ensightOutput::debug, Foam::endl(), fileOperation::FINDINSTANCE, io(), UPstream::master(), UPstream::msgType(), fileOperation::NOTFOUND, fileOperation::nProcs(), fileOperation::OBJECT, fileOperation::PARENTOBJECT, UPstream::parRun(), fileOperation::pathTypeNames_, Foam::Pout, fileOperation::PROCBASEINSTANCE, fileOperation::PROCBASEOBJECT, fileOperation::PROCINSTANCE, fileOperation::PROCOBJECT, fileOperation::PROCUNCOLLATED, fileOperation::PROCUNCOLLATEDINSTANCE, Foam::search(), UPstream::worldComm, and fileOperation::WRITEOBJECT.
|
virtual |
Search directory for objects. Used in IOobjectList.
Use non-time searching version
Reimplemented from fileOperation.
Definition at line 1634 of file masterUncollatedFileOperation.C.
References Pstream::broadcasts(), fileOperation::cacheLevel(), TimePaths::constant(), Foam::ensightOutput::debug, Foam::endl(), TimePaths::findInstancePath(), fileOperation::findTimes(), local, UPstream::master(), fileOperation::nProcs(), IOobject::objectPath(), UPstream::parRun(), Time::path(), Foam::Pout, fileOperation::readObjects(), objectRegistry::time(), and UPstream::worldComm.
Read object header from supplied file.
Implements fileOperation.
Definition at line 1724 of file masterUncollatedFileOperation.C.
References Pstream::broadcast(), Pstream::broadcasts(), Foam::ensightOutput::debug, Foam::endl(), PstreamBuffers::finishedScatters(), forAll, Pstream::gatherList(), IOstream::good(), io(), UPstream::master(), UPstream::masterNo(), UPstream::msgType(), UPstream::myProcNo(), UPstream::nProcs(), os(), Foam::Pout, decomposedBlockData::readHeader(), List< T >::resize(), PstreamBuffers::subProcs(), fileOperation::uniformFile(), and UPstream::worldComm.
|
virtual |
Reads header for regIOobject and returns an ISstream to read the contents.
Implements fileOperation.
Definition at line 1869 of file masterUncollatedFileOperation.C.
References Pstream::broadcast(), autoPtr< T >::clear(), Foam::ensightOutput::debug, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Foam::fileSize(), Foam::flatOutput(), Pstream::gatherList(), autoPtr< T >::good(), Foam::constant::atomic::group, io(), decomposedBlockData::isCollatedType(), local, UPstream::master(), UPstream::msgType(), UPstream::myProcNo(), UPstream::nonBlocking, UPstream::nProcs(), UPstream::parRun(), path(), Foam::Pout, Foam::read(), decomposedBlockData::readBlock(), decomposedBlockData::readBlocks(), IOobject::readHeader(), UPstream::reduceOr(), autoPtr< T >::reset(), List< T >::resize(), UPstream::scheduled, fileOperation::uniformFile(), and UPstream::worldComm.
|
virtual |
Top-level read.
Implements fileOperation.
Definition at line 2126 of file masterUncollatedFileOperation.C.
References fileOperation::cacheLevel(), Foam::ensightOutput::debug, Foam::endl(), format(), io(), UPstream::master(), UPstream::myProcNo(), fileOperation::nProcs(), os(), UPstream::parRun(), Foam::Pout, and UPstream::worldComm.
|
virtual |
Writes a regIOobject (so header, contents and divider).
Returns success state.
Reimplemented from fileOperation.
Reimplemented in collatedFileOperation.
Definition at line 2209 of file masterUncollatedFileOperation.C.
References Foam::ensightOutput::debug, Foam::endl(), io(), os(), Foam::Pout, setTime(), and IOobject::writeEndDivider().
|
virtual |
Generate an ISstream that reads a file.
Implements fileOperation.
Definition at line 2379 of file masterUncollatedFileOperation.C.
References Foam::ensightOutput::debug, Foam::endl(), PstreamBuffers::finishedSends(), Pstream::gatherList(), Foam::identity(), UPstream::master(), UPstream::masterNo(), UPstream::msgType(), UPstream::myProcNo(), UPstream::nProcs(), UPstream::parRun(), Foam::Pout, UIPstream::read(), PstreamBuffers::recvDataCount(), autoPtr< T >::reset(), UPstream::subProcs(), and fileOperation::uniformFile().
|
virtual |
Generate an OSstream that writes a file.
Implements fileOperation.
Definition at line 2490 of file masterUncollatedFileOperation.C.
References IOstreamOption::NO_APPEND.
|
virtual |
Generate an OSstream that writes a file.
Implements fileOperation.
Definition at line 2512 of file masterUncollatedFileOperation.C.
References IOstreamOption::NO_APPEND.
|
virtual |
Add watching of a file. Returns handle.
Reimplemented from fileOperation.
Definition at line 2617 of file masterUncollatedFileOperation.C.
References Pstream::broadcast(), UPstream::master(), UPstream::parRun(), and UPstream::worldComm.
|
virtual |
Remove watch on a file (using handle)
Reimplemented from fileOperation.
Definition at line 2633 of file masterUncollatedFileOperation.C.
References Pstream::broadcast(), UPstream::master(), UPstream::parRun(), and UPstream::worldComm.
Find index (or -1) of file in list of handles.
Reimplemented from fileOperation.
Definition at line 2649 of file masterUncollatedFileOperation.C.
References Pstream::broadcast(), forAll, UPstream::master(), UPstream::parRun(), and UPstream::worldComm.
|
virtual |
Helper: add watches for list of regIOobjects.
Reimplemented from fileOperation.
Definition at line 2674 of file masterUncollatedFileOperation.C.
References Pstream::broadcast(), fileOperation::cacheLevel(), HashTable< T, Key, Hash >::erase(), f(), UPstream::master(), fileOperation::nProcs(), UPstream::parRun(), DynamicList< T, SizeMin >::push_back(), and regIOobject::watchIndices().
|
virtual |
Get name of file being watched (using handle)
Reimplemented from fileOperation.
Definition at line 2727 of file masterUncollatedFileOperation.C.
References Pstream::broadcast(), UPstream::master(), UPstream::parRun(), and UPstream::worldComm.
|
virtual |
Update state of all files.
Reimplemented from fileOperation.
Definition at line 2743 of file masterUncollatedFileOperation.C.
References UPstream::master(), UPstream::parRun(), and UPstream::worldComm.
|
virtual |
Get current state of file (using handle)
Reimplemented from fileOperation.
Definition at line 2757 of file masterUncollatedFileOperation.C.
References Pstream::broadcast(), UPstream::master(), UPstream::parRun(), fileMonitor::UNMODIFIED, and UPstream::worldComm.
|
virtual |
Set current state of file (using handle) to unmodified.
Reimplemented from fileOperation.
Definition at line 2773 of file masterUncollatedFileOperation.C.
References UPstream::master(), UPstream::parRun(), and UPstream::worldComm.
|
virtual |
Get sorted list of times.
Reimplemented from fileOperation.
Definition at line 2251 of file masterUncollatedFileOperation.C.
References Pstream::broadcast(), fileOperation::cacheLevel(), Foam::ensightOutput::debug, Foam::endl(), fileOperation::findTimes(), Foam::flatOutput(), UPstream::master(), Foam::nl, fileOperation::nProcs(), UPstream::parRun(), Foam::Pout, List< T >::set(), and UPstream::worldComm.
|
virtual |
Find time instance where IOobject is located. The name of the IOobject can be empty, in which case only the IOobject::local() is checked. Does not search beyond stopInstance
(if set) or constant
.
If the instance cannot be found:
stopInstance
(if set and reached)constant
if constant_fallback is true.stopInstance | The search stop instance |
constant_fallback | Return "constant" instead of "" if the search failed |
Reimplemented from fileOperation.
Definition at line 1392 of file masterUncollatedFileOperation.C.
References Pstream::broadcast(), fileOperation::cacheLevel(), TimePaths::constant(), Foam::ensightOutput::debug, UList< T >::empty(), Foam::endl(), Foam::exists(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, IOobject::instance(), io(), IOobjectOption::isReadRequired(), IOobject::local(), UPstream::master(), Foam::name(), IOobject::name(), fileOperation::nProcs(), UPstream::parRun(), Foam::Pout, UList< T >::size(), IOobject::time(), Time::timeName(), TimePaths::times(), and UPstream::worldComm.
|
virtual |
Callback for time change.
Reimplemented from fileOperation.
Definition at line 2311 of file masterUncollatedFileOperation.C.
References DynamicList< T, SizeMin >::append(), TimePaths::constant(), Foam::ensightOutput::debug, UList< T >::empty(), Foam::endl(), Foam::findSortedIndex(), UList< T >::last(), Time::path(), Foam::Pout, fileOperation::setTime(), UList< T >::size(), Foam::stableSort(), Time::subCycling(), Time::timeName(), and dimensioned< Type >::value().
|
virtual |
Forcibly wait until all output done. Flush any cached data.
Reimplemented from fileOperation.
Reimplemented in collatedFileOperation.
Definition at line 2534 of file masterUncollatedFileOperation.C.
References fileOperation::flush().
Referenced by collatedFileOperation::flush().
|
virtual |
Forcibly parallel sync.
Reimplemented from fileOperation.
Definition at line 2541 of file masterUncollatedFileOperation.C.
References Pstream::broadcasts(), Foam::ensightOutput::debug, Foam::endl(), forAll, forAllConstIters(), Foam::constant::atomic::group, local, UPstream::master(), UPstream::myProcNo(), Foam::name(), Foam::New(), UPstream::parRun(), path(), Foam::Pout, List< T >::resize(), fileOperation::sync(), and UPstream::worldComm.
|
inlinenoexcept |
Return cached times.
Definition at line 895 of file masterUncollatedFileOperation.H.
References masterUncollatedFileOperation::times_.
|
mutableprotected |
Cached times for a given directory.
Definition at line 105 of file masterUncollatedFileOperation.H.
Referenced by masterUncollatedFileOperation::times().
|
static |
Max size of parallel communications. Switches from non-blocking.
to scheduled when reading/writing files. Read as float to enable easy specification of large sizes.
Definition at line 492 of file masterUncollatedFileOperation.H.