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;
#define stat(a, b)
Definition: XrdPosix.hh:96
Definition: XrdTpcStream.hh:73
void Move(Entry &other)
Definition: XrdTpcStream.hh:137
size_t m_size
Definition: XrdTpcStream.hh:157
int Write(Stream &stream, bool force)
Definition: XrdTpcStream.hh:83
off_t m_offset
Definition: XrdTpcStream.hh:155
Entry(size_t capacity)
Definition: XrdTpcStream.hh:75
off_t GetOffset() const
Definition: XrdTpcStream.hh:143
std::vector< char > m_buffer
Definition: XrdTpcStream.hh:158
bool CanWrite(Stream &stream) const
Definition: XrdTpcStream.hh:151
Entry(const Entry &)=delete
bool Available() const
Definition: XrdTpcStream.hh:81
size_t GetSize() const
Definition: XrdTpcStream.hh:145
size_t GetCapacity() const
Definition: XrdTpcStream.hh:144
void ShrinkIfUnused()
Definition: XrdTpcStream.hh:130
size_t Accept(off_t offset, const char *buf, size_t size)
Definition: XrdTpcStream.hh:104
size_t m_capacity
Definition: XrdTpcStream.hh:156
Definition: XrdTpcStream.hh:22
std::unique_ptr< XrdSfsFile > m_fh
Definition: XrdTpcStream.hh:165
ssize_t WriteImpl(off_t offset, const char *buffer, size_t size)
bool m_open_for_write
Definition: XrdTpcStream.hh:163
ssize_t Write(off_t offset, const char *buffer, size_t size, bool force)
off_t m_offset
Definition: XrdTpcStream.hh:166
size_t m_avail_count
Definition: XrdTpcStream.hh:164
XrdSysError & m_log
Definition: XrdTpcStream.hh:168
std::vector< Entry * > m_buffers
Definition: XrdTpcStream.hh:167
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:169
Definition: XrdSfsInterface.hh:365
Definition: XrdSysError.hh:90
Definition: XrdTpcState.hh:17