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)) {
104 size_t Accept(off_t offset,
const char *buf,
size_t size) {
110 if (to_accept == 0) {
return 0;}
111 if (size > to_accept) {
117 if (new_bytes_needed > 0) {
132 #if __cplusplus > 199711L 161 ssize_t
WriteImpl(off_t offset,
const char *buffer,
size_t size);
165 std::unique_ptr<XrdSfsFile>
m_fh;
Definition: XrdTpcStream.hh:22
bool Available() const
Definition: XrdTpcStream.hh:81
XrdSysError & m_log
Definition: XrdTpcStream.hh:168
size_t AvailableBuffers() const
Definition: XrdTpcStream.hh:56
ssize_t Write(off_t offset, const char *buffer, size_t size, bool force)
size_t m_capacity
Definition: XrdTpcStream.hh:156
size_t m_avail_count
Definition: XrdTpcStream.hh:164
bool CanWrite(Stream &stream) const
Definition: XrdTpcStream.hh:151
Stream(std::unique_ptr< XrdSfsFile > fh, size_t max_blocks, size_t buffer_size, XrdSysError &log)
Definition: XrdTpcStream.hh:24
off_t m_offset
Definition: XrdTpcStream.hh:155
Definition: XrdSysError.hh:89
std::string GetErrorMessage() const
Definition: XrdTpcStream.hh:69
ssize_t WriteImpl(off_t offset, const char *buffer, size_t size)
int Read(off_t offset, char *buffer, size_t size)
size_t GetCapacity() const
Definition: XrdTpcStream.hh:144
void ShrinkIfUnused()
Definition: XrdTpcStream.hh:130
off_t m_offset
Definition: XrdTpcStream.hh:166
Definition: XrdTpcStream.hh:73
size_t GetSize() const
Definition: XrdTpcStream.hh:145
Entry(size_t capacity)
Definition: XrdTpcStream.hh:75
Definition: XrdTpcState.hh:17
std::vector< Entry * > m_buffers
Definition: XrdTpcStream.hh:167
size_t Accept(off_t offset, const char *buf, size_t size)
Definition: XrdTpcStream.hh:104
off_t GetOffset() const
Definition: XrdTpcStream.hh:143
std::unique_ptr< XrdSfsFile > m_fh
Definition: XrdTpcStream.hh:165
#define stat(a, b)
Definition: XrdPosix.hh:96
std::string m_error_buf
Definition: XrdTpcStream.hh:169
int Write(Stream &stream, bool force)
Definition: XrdTpcStream.hh:83
bool m_open_for_write
Definition: XrdTpcStream.hh:163
size_t m_size
Definition: XrdTpcStream.hh:157
Definition: XrdSfsInterface.hh:364
void Move(Entry &other)
Definition: XrdTpcStream.hh:137
std::vector< char > m_buffer
Definition: XrdTpcStream.hh:158