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