diff --git a/source/adios2/toolkit/transport/Transport.h b/source/adios2/toolkit/transport/Transport.h index cfca583afcf3167196edd1888803971270473c24..a85760343b1bdac0968c1a9127553d9627947a37 100644 --- a/source/adios2/toolkit/transport/Transport.h +++ b/source/adios2/toolkit/transport/Transport.h @@ -72,6 +72,13 @@ public: */ virtual void Write(const char *buffer, size_t size) = 0; + /** + * Reads from file stream + * @param buffer raw data to read from file stream + * @param size number of bytes to read from file stream + */ + virtual void Read(char *buffer, size_t size) = 0; + /** flushes current contents to physical medium without closing */ virtual void Flush() = 0; diff --git a/source/adios2/toolkit/transport/file/FileDescriptor.cpp b/source/adios2/toolkit/transport/file/FileDescriptor.cpp index 879ca2b702f71392d3137a73f16f6b45c9101778..6d36ed55c4872ca7d27296ad65c2eab64934a486 100644 --- a/source/adios2/toolkit/transport/file/FileDescriptor.cpp +++ b/source/adios2/toolkit/transport/file/FileDescriptor.cpp @@ -159,6 +159,11 @@ void FileDescriptor::Write(const char *buffer, size_t size) } } +void FileDescriptor::Read(char *buffer, size_t size) +{ + // TODO: Implement read function +} + void FileDescriptor::Flush() {} void FileDescriptor::Close() diff --git a/source/adios2/toolkit/transport/file/FileDescriptor.h b/source/adios2/toolkit/transport/file/FileDescriptor.h index fe010c6e3516e553da9f5fbb8f8793666191d176..79aea45e0ec144c4bd3e5e9b93bded08275b836e 100644 --- a/source/adios2/toolkit/transport/file/FileDescriptor.h +++ b/source/adios2/toolkit/transport/file/FileDescriptor.h @@ -32,6 +32,8 @@ public: void Write(const char *buffer, size_t size) final; + void Read(char *buffer, size_t size) final; + /** Does nothing, each write is supposed to flush */ void Flush() final; diff --git a/source/adios2/toolkit/transport/file/FilePointer.cpp b/source/adios2/toolkit/transport/file/FilePointer.cpp index e11c4f9fb9dc17a6118f4cec5d8fc6f933061eb8..a01e2215fba3c050b83d9f82a5ffe579dd9d0c85 100644 --- a/source/adios2/toolkit/transport/file/FilePointer.cpp +++ b/source/adios2/toolkit/transport/file/FilePointer.cpp @@ -136,6 +136,11 @@ void FilePointer::Write(const char *buffer, size_t size) } } +void FilePointer::Read(char *buffer, size_t size) +{ + // TODO: Implement read function +} + void FilePointer::Flush() { const int status = std::fflush(m_File); diff --git a/source/adios2/toolkit/transport/file/FilePointer.h b/source/adios2/toolkit/transport/file/FilePointer.h index 6d1521a3d5d99fff26f00806871194f9461fa5a8..885dfeba4e0ca0f5b6d52abec9e43999843a1b76 100644 --- a/source/adios2/toolkit/transport/file/FilePointer.h +++ b/source/adios2/toolkit/transport/file/FilePointer.h @@ -39,6 +39,8 @@ public: void Write(const char *buffer, size_t size) final; + void Read(char *buffer, size_t size) final; + void Flush() final; void Close() final; diff --git a/source/adios2/toolkit/transport/file/FileStream.cpp b/source/adios2/toolkit/transport/file/FileStream.cpp index 3609394539420b2a3c3333bc31506f45b05b76a7..ff035299e3a3dc6faf05005614f0bd1ba168c462 100644 --- a/source/adios2/toolkit/transport/file/FileStream.cpp +++ b/source/adios2/toolkit/transport/file/FileStream.cpp @@ -115,6 +115,11 @@ void FileStream::Write(const char *buffer, size_t size) } } +void FileStream::Read(char *buffer, size_t size) +{ + // TODO: Implement read function +} + void FileStream::Flush() { m_FileStream.flush(); diff --git a/source/adios2/toolkit/transport/file/FileStream.h b/source/adios2/toolkit/transport/file/FileStream.h index 21df05a7241511128bd107db6799945155ac143c..9443220cd6256e4fb5d154451ded19ee926d2125 100644 --- a/source/adios2/toolkit/transport/file/FileStream.h +++ b/source/adios2/toolkit/transport/file/FileStream.h @@ -36,6 +36,8 @@ public: void Write(const char *buffer, size_t size) final; + void Read(char *buffer, size_t size) final; + void Flush() final; void Close() final; diff --git a/source/adios2/toolkit/transport/wan/WANZmq.cpp b/source/adios2/toolkit/transport/wan/WANZmq.cpp index 9d9e3644108dc94fb96816ccdb034be9d15450e5..7d002374db9377b786eb74b1d83506fe7bda9a74 100644 --- a/source/adios2/toolkit/transport/wan/WANZmq.cpp +++ b/source/adios2/toolkit/transport/wan/WANZmq.cpp @@ -148,6 +148,11 @@ void WANZmq::Write(const char *buffer, size_t size) */ } +void WANZmq::Read(char *buffer, size_t size) +{ + // TODO: Implement read function +} + void WANZmq::Flush() {} void WANZmq::Close() diff --git a/source/adios2/toolkit/transport/wan/WANZmq.h b/source/adios2/toolkit/transport/wan/WANZmq.h index 167814b4f84fbec00f78f16c46c1d2e2503db2b6..692d70b016bf6a04c889a2d995bc3ffa29c1286c 100644 --- a/source/adios2/toolkit/transport/wan/WANZmq.h +++ b/source/adios2/toolkit/transport/wan/WANZmq.h @@ -40,6 +40,8 @@ public: void Write(const char *buffer, size_t size) final; + void Read(char *buffer, size_t size) final; + void Flush() final; void Close() final;