23 Stream(std::unique_ptr<XrdSfsFile> fh,
size_t max_blocks,
size_t buffer_size,
XrdSysError &log)
31 for (
size_t idx=0; idx < max_blocks; idx++) {
41 int Read(off_t offset,
char *buffer,
size_t size);
43 int Write(off_t offset,
const char *buffer,
size_t size);
77 if (retval != size_desired) {
83 bool Accept(off_t offset,
const char *buf,
size_t size) {
94 if (new_bytes_needed > 0) {
109 #if __cplusplus > 199711L
140 std::unique_ptr<XrdSfsFile>
m_fh;
Definition: XrdTpcStream.hh:21
XrdSysError & m_log
Definition: XrdTpcStream.hh:143
size_t m_capacity
Definition: XrdTpcStream.hh:133
size_t m_avail_count
Definition: XrdTpcStream.hh:139
size_t AvailableBuffers() const
Definition: XrdTpcStream.hh:45
Stream(std::unique_ptr< XrdSfsFile > fh, size_t max_blocks, size_t buffer_size, XrdSysError &log)
Definition: XrdTpcStream.hh:23
off_t m_offset
Definition: XrdTpcStream.hh:132
bool Available() const
Definition: XrdTpcStream.hh:68
Definition: XrdSysError.hh:89
int Read(off_t offset, char *buffer, size_t size)
void ShrinkIfUnused()
Definition: XrdTpcStream.hh:107
off_t m_offset
Definition: XrdTpcStream.hh:141
int Write(Stream &stream)
Definition: XrdTpcStream.hh:70
Definition: XrdTpcStream.hh:60
int Write(off_t offset, const char *buffer, size_t size)
bool Accept(off_t offset, const char *buf, size_t size)
Definition: XrdTpcStream.hh:83
Entry(size_t capacity)
Definition: XrdTpcStream.hh:62
off_t GetOffset() const
Definition: XrdTpcStream.hh:120
std::vector< Entry * > m_buffers
Definition: XrdTpcStream.hh:142
size_t GetSize() const
Definition: XrdTpcStream.hh:122
std::unique_ptr< XrdSfsFile > m_fh
Definition: XrdTpcStream.hh:140
#define stat(a, b)
Definition: XrdPosix.hh:96
bool m_open_for_write
Definition: XrdTpcStream.hh:138
bool CanWrite(Stream &stream) const
Definition: XrdTpcStream.hh:128
size_t m_size
Definition: XrdTpcStream.hh:134
void Move(Entry &other)
Definition: XrdTpcStream.hh:114
std::vector< char > m_buffer
Definition: XrdTpcStream.hh:135
size_t GetCapacity() const
Definition: XrdTpcStream.hh:121