24 Stream(std::unique_ptr<XrdSfsFile> fh,
size_t max_blocks,
size_t buffer_size,
XrdSysError &log)
32 for (
size_t idx=0; idx < max_blocks; idx++) {
42 int Read(off_t offset,
char *buffer,
size_t size);
54 ssize_t
Write(off_t offset,
const char *buffer,
size_t size,
bool force);
96 if ((retval < 0) || (
static_cast<size_t>(retval) !=
m_size)) {
105 size_t Accept(off_t offset,
const char *buf,
size_t size) {
111 if (to_accept == 0) {
return 0;}
112 if (size > to_accept) {
118 if (new_bytes_needed > 0) {
133#if __cplusplus > 199711L
162 ssize_t
WriteImpl(off_t offset,
const char *buffer,
size_t size);
166 std::unique_ptr<XrdSfsFile>
m_fh;
#define stat(a, b)
Definition XrdPosix.hh:96
Definition XrdTpcStream.hh:73
void Move(Entry &other)
Definition XrdTpcStream.hh:138
size_t m_size
Definition XrdTpcStream.hh:158
int Write(Stream &stream, bool force)
Definition XrdTpcStream.hh:83
off_t m_offset
Definition XrdTpcStream.hh:156
Entry(size_t capacity)
Definition XrdTpcStream.hh:75
off_t GetOffset() const
Definition XrdTpcStream.hh:144
std::vector< char > m_buffer
Definition XrdTpcStream.hh:159
bool CanWrite(Stream &stream) const
Definition XrdTpcStream.hh:152
Entry(const Entry &)=delete
bool Available() const
Definition XrdTpcStream.hh:81
size_t GetSize() const
Definition XrdTpcStream.hh:146
size_t GetCapacity() const
Definition XrdTpcStream.hh:145
void ShrinkIfUnused()
Definition XrdTpcStream.hh:131
size_t Accept(off_t offset, const char *buf, size_t size)
Definition XrdTpcStream.hh:105
size_t m_capacity
Definition XrdTpcStream.hh:157
Definition XrdTpcStream.hh:22
std::unique_ptr< XrdSfsFile > m_fh
Definition XrdTpcStream.hh:166
ssize_t WriteImpl(off_t offset, const char *buffer, size_t size)
bool m_open_for_write
Definition XrdTpcStream.hh:164
ssize_t Write(off_t offset, const char *buffer, size_t size, bool force)
off_t m_offset
Definition XrdTpcStream.hh:167
size_t m_avail_count
Definition XrdTpcStream.hh:165
XrdSysError & m_log
Definition XrdTpcStream.hh:169
std::vector< Entry * > m_buffers
Definition XrdTpcStream.hh:168
int Read(off_t offset, char *buffer, size_t size)
Stream(std::unique_ptr< XrdSfsFile > fh, size_t max_blocks, size_t buffer_size, XrdSysError &log)
Definition XrdTpcStream.hh:24
std::string GetErrorMessage() const
Definition XrdTpcStream.hh:69
size_t AvailableBuffers() const
Definition XrdTpcStream.hh:56
std::string m_error_buf
Definition XrdTpcStream.hh:170
Definition XrdSfsInterface.hh:369
Definition XrdSysError.hh:90
Definition XrdTpcState.hh:17
Definition XrdOucJson.hh:4517