XRootD
Loading...
Searching...
No Matches
XrdCl::FilePlugIn Class Reference

An interface for file plug-ins. More...

#include <XrdClPlugInInterface.hh>

Inheritance diagram for XrdCl::FilePlugIn:
Collaboration diagram for XrdCl::FilePlugIn:

Public Member Functions

virtual ~FilePlugIn ()
 Destructor.
virtual XRootDStatus Clone (const CloneLocations &locs, ResponseHandler *handler, time_t timeout)
virtual XRootDStatus Close (ResponseHandler *handler, time_t timeout)
virtual std::unique_ptr< ExportedFileTemplateExportTemplate () const
virtual XRootDStatus Fcntl (const Buffer &arg, ResponseHandler *handler, time_t timeout)
virtual XRootDStatus Fcntl (QueryCode::Code queryCode, const Buffer &arg, ResponseHandler *handler, time_t timeout)
virtual bool GetProperty (const std::string &name, std::string &value) const
virtual bool IsOpen () const
virtual XRootDStatus Open (const std::string &url, OpenFlags::Flags flags, Access::Mode mode, ResponseHandler *handler, time_t timeout)
virtual XRootDStatus OpenUsingTemplate (ExportedFileTemplate *templ, const std::string &url, OpenFlags::Flags flags, Access::Mode mode, ResponseHandler *handler, time_t timeout)
virtual XRootDStatus PgRead (uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, time_t timeout)
virtual XRootDStatus PgWrite (uint64_t offset, uint32_t nbpgs, const void *buffer, std::vector< uint32_t > &cksums, ResponseHandler *handler, time_t timeout)
virtual XRootDStatus PreRead (const TractList &tracts, ResponseHandler *handler, time_t timeout)
virtual XRootDStatus Read (uint64_t offset, uint32_t size, Optional< uint64_t > fdoff, int fd, ResponseHandler *handler, time_t timeout=0)
virtual XRootDStatus Read (uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, time_t timeout)
virtual bool SetProperty (const std::string &name, const std::string &value)
virtual XRootDStatus Stat (bool force, ResponseHandler *handler, time_t timeout)
virtual XRootDStatus Sync (ResponseHandler *handler, time_t timeout)
virtual XRootDStatus Truncate (uint64_t size, ResponseHandler *handler, time_t timeout)
virtual XRootDStatus VectorRead (const ChunkList &chunks, void *buffer, ResponseHandler *handler, time_t timeout)
virtual XRootDStatus VectorWrite (const ChunkList &chunks, ResponseHandler *handler, time_t timeout=0)
virtual XRootDStatus Visa (ResponseHandler *handler, time_t timeout)
virtual XRootDStatus Write (uint64_t offset, Buffer &&buffer, ResponseHandler *handler, time_t timeout=0)
virtual XRootDStatus Write (uint64_t offset, uint32_t size, const void *buffer, ResponseHandler *handler, time_t timeout)
virtual XRootDStatus Write (uint64_t offset, uint32_t size, Optional< uint64_t > fdoff, int fd, ResponseHandler *handler, time_t timeout=0)
virtual XRootDStatus WriteV (uint64_t offset, const struct iovec *iov, int iovcnt, ResponseHandler *handler, time_t timeout=0)

Detailed Description

An interface for file plug-ins.

Definition at line 38 of file XrdClPlugInInterface.hh.

Constructor & Destructor Documentation

◆ ~FilePlugIn()

virtual XrdCl::FilePlugIn::~FilePlugIn ( )
inlinevirtual

Destructor.

Definition at line 44 of file XrdClPlugInInterface.hh.

44{}

Member Function Documentation

◆ Clone()

virtual XRootDStatus XrdCl::FilePlugIn::Clone ( const CloneLocations & locs,
ResponseHandler * handler,
time_t timeout )
inlinevirtual
See also
XrdCl::File::Clone

Definition at line 335 of file XrdClPlugInInterface.hh.

336 {
337 (void)locs; (void)handler, (void)timeout;
338 return XRootDStatus( stError, errNotImplemented );
339 }
const uint16_t errNotImplemented
Operation is not implemented.
const uint16_t stError
An error occurred that could potentially be retried.

References XrdCl::errNotImplemented, and XrdCl::stError.

◆ Close()

virtual XRootDStatus XrdCl::FilePlugIn::Close ( ResponseHandler * handler,
time_t timeout )
inlinevirtual
See also
XrdCl::File::Close

Reimplemented in XrdCl::EcHandler, XrdCl::Recorder, xrdcl_proxy::ProxyPrefixFile, XrdClHttp::File, and XrdClS3::File.

Definition at line 75 of file XrdClPlugInInterface.hh.

77 {
78 (void)handler; (void)timeout;
79 return XRootDStatus( stError, errNotImplemented );
80 }

References XrdCl::errNotImplemented, and XrdCl::stError.

◆ ExportTemplate()

virtual std::unique_ptr< ExportedFileTemplate > XrdCl::FilePlugIn::ExportTemplate ( ) const
inlinevirtual

Obtains an object that contains information regarding the file. Another instance of the plugin can use the object via OpenUsingTemplate or Clone. The returned object should be of a class derived from ExportedFileTemplate, the exact type of which could be used to ensure the source plugin is the same the destination. In the case of Clone() it should be considered that the source file object may have been destroyed by the time Clone() uses the template and a suitable action should happen, such as returning an error.

Definition at line 327 of file XrdClPlugInInterface.hh.

328 {
329 return {};
330 }

◆ Fcntl() [1/2]

virtual XRootDStatus XrdCl::FilePlugIn::Fcntl ( const Buffer & arg,
ResponseHandler * handler,
time_t timeout )
inlinevirtual
See also
XrdCl::File::Fcntl

Reimplemented in XrdCl::Recorder, xrdcl_proxy::ProxyPrefixFile, and XrdClHttp::File.

Definition at line 259 of file XrdClPlugInInterface.hh.

262 {
263 (void)arg; (void)handler; (void)timeout;
264 return XRootDStatus( stError, errNotImplemented );
265 }

References XrdCl::errNotImplemented, and XrdCl::stError.

◆ Fcntl() [2/2]

virtual XRootDStatus XrdCl::FilePlugIn::Fcntl ( QueryCode::Code queryCode,
const Buffer & arg,
ResponseHandler * handler,
time_t timeout )
inlinevirtual
See also
XrdCl::File::Fcntl

Definition at line 270 of file XrdClPlugInInterface.hh.

274 {
275 (void)arg; (void)handler; (void)timeout;
276 return XRootDStatus( stError, errNotImplemented );
277 }

References XrdCl::errNotImplemented, and XrdCl::stError.

◆ GetProperty()

virtual bool XrdCl::FilePlugIn::GetProperty ( const std::string & name,
std::string & value ) const
inlinevirtual
See also
XrdCl::File::GetProperty

Reimplemented in XrdCl::Recorder, xrdcl_proxy::ProxyPrefixFile, XrdClHttp::File, and XrdClS3::File.

Definition at line 310 of file XrdClPlugInInterface.hh.

312 {
313 (void)name; (void)value;
314 return false;
315 }

◆ IsOpen()

virtual bool XrdCl::FilePlugIn::IsOpen ( ) const
inlinevirtual
See also
XrdCl::File::IsOpen

Reimplemented in XrdCl::EcHandler, XrdCl::Recorder, xrdcl_proxy::ProxyPrefixFile, XrdClHttp::File, and XrdClS3::File.

Definition at line 292 of file XrdClPlugInInterface.hh.

293 {
294 return false;
295 }

◆ Open()

virtual XRootDStatus XrdCl::FilePlugIn::Open ( const std::string & url,
OpenFlags::Flags flags,
Access::Mode mode,
ResponseHandler * handler,
time_t timeout )
inlinevirtual
See also
XrdCl::File::Open

Reimplemented in XrdCl::EcHandler, XrdCl::Recorder, xrdcl_proxy::ProxyPrefixFile, XrdClHttp::File, and XrdClS3::File.

Definition at line 48 of file XrdClPlugInInterface.hh.

53 {
54 (void)url; (void)flags; (void)mode; (void)handler; (void)timeout;
55 return XRootDStatus( stError, errNotImplemented );
56 }

References XrdCl::errNotImplemented, and XrdCl::stError.

◆ OpenUsingTemplate()

virtual XRootDStatus XrdCl::FilePlugIn::OpenUsingTemplate ( ExportedFileTemplate * templ,
const std::string & url,
OpenFlags::Flags flags,
Access::Mode mode,
ResponseHandler * handler,
time_t timeout )
inlinevirtual
See also
XrdCl::File::OpenUsingTemplate

Definition at line 61 of file XrdClPlugInInterface.hh.

67 {
68 (void)templ; (void)url; (void)flags; (void)mode; (void)handler; (void)timeout;
69 return XRootDStatus( stError, errNotImplemented );
70 }

References XrdCl::errNotImplemented, and XrdCl::stError.

◆ PgRead()

virtual XRootDStatus XrdCl::FilePlugIn::PgRead ( uint64_t offset,
uint32_t size,
void * buffer,
ResponseHandler * handler,
time_t timeout )
inlinevirtual
See also
XrdCl:File PgRead

Reimplemented in XrdCl::EcHandler, XrdCl::Recorder, xrdcl_proxy::ProxyPrefixFile, XrdClHttp::File, and XrdClS3::File.

Definition at line 123 of file XrdClPlugInInterface.hh.

128 {
129 (void)offset; (void)size; (void)buffer; (void)handler; (void)timeout;
130 return XRootDStatus( stError, errNotImplemented );
131 }

References XrdCl::errNotImplemented, and XrdCl::stError.

◆ PgWrite()

virtual XRootDStatus XrdCl::FilePlugIn::PgWrite ( uint64_t offset,
uint32_t nbpgs,
const void * buffer,
std::vector< uint32_t > & cksums,
ResponseHandler * handler,
time_t timeout )
inlinevirtual
See also
XrdCl::File::PgWrite

Reimplemented in XrdCl::EcHandler, XrdCl::Recorder, and xrdcl_proxy::ProxyPrefixFile.

Definition at line 175 of file XrdClPlugInInterface.hh.

181 {
182 (void)offset; (void)nbpgs; (void)buffer; (void)cksums, (void)handler; (void)timeout;
183 return XRootDStatus( stError, errNotImplemented );
184 }

References XrdCl::errNotImplemented, and XrdCl::stError.

◆ PreRead()

virtual XRootDStatus XrdCl::FilePlugIn::PreRead ( const TractList & tracts,
ResponseHandler * handler,
time_t timeout )
inlinevirtual
See also
XrdCl::File::PreRead

Definition at line 210 of file XrdClPlugInInterface.hh.

213 {
214 (void)tracts; (void)handler; (void)timeout;
215 return XRootDStatus();
216 }

◆ Read() [1/2]

virtual XRootDStatus XrdCl::FilePlugIn::Read ( uint64_t offset,
uint32_t size,
Optional< uint64_t > fdoff,
int fd,
ResponseHandler * handler,
time_t timeout = 0 )
inlinevirtual
See also
XrdCl::File::Read

Definition at line 109 of file XrdClPlugInInterface.hh.

115 {
116 (void)offset; (void)size; (void)fdoff; (void)fd, (void)handler; (void)timeout;
117 return XRootDStatus( stError, errNotImplemented );
118 }

References XrdCl::errNotImplemented, and XrdCl::stError.

◆ Read() [2/2]

virtual XRootDStatus XrdCl::FilePlugIn::Read ( uint64_t offset,
uint32_t size,
void * buffer,
ResponseHandler * handler,
time_t timeout )
inlinevirtual
See also
XrdCl::File::Read

Reimplemented in XrdCl::EcHandler, XrdCl::Recorder, xrdcl_proxy::ProxyPrefixFile, XrdClHttp::File, and XrdClS3::File.

Definition at line 96 of file XrdClPlugInInterface.hh.

101 {
102 (void)offset; (void)size; (void)buffer; (void)handler; (void)timeout;
103 return XRootDStatus( stError, errNotImplemented );
104 }

References XrdCl::errNotImplemented, and XrdCl::stError.

◆ SetProperty()

virtual bool XrdCl::FilePlugIn::SetProperty ( const std::string & name,
const std::string & value )
inlinevirtual
See also
XrdCl::File::SetProperty

Reimplemented in XrdCl::Recorder, xrdcl_proxy::ProxyPrefixFile, XrdClHttp::File, and XrdClS3::File.

Definition at line 300 of file XrdClPlugInInterface.hh.

302 {
303 (void)name; (void)value;
304 return false;
305 }

◆ Stat()

virtual XRootDStatus XrdCl::FilePlugIn::Stat ( bool force,
ResponseHandler * handler,
time_t timeout )
inlinevirtual
See also
XrdCl::File::Stat

Reimplemented in XrdCl::EcHandler, XrdCl::Recorder, xrdcl_proxy::ProxyPrefixFile, XrdClHttp::File, and XrdClS3::File.

Definition at line 85 of file XrdClPlugInInterface.hh.

88 {
89 (void)force; (void)handler; (void)timeout;
90 return XRootDStatus( stError, errNotImplemented );
91 }

References XrdCl::errNotImplemented, and XrdCl::stError.

◆ Sync()

virtual XRootDStatus XrdCl::FilePlugIn::Sync ( ResponseHandler * handler,
time_t timeout )
inlinevirtual
See also
XrdCl::File::Sync

Reimplemented in XrdCl::Recorder, and xrdcl_proxy::ProxyPrefixFile.

Definition at line 189 of file XrdClPlugInInterface.hh.

191 {
192 (void)handler; (void)timeout;
193 return XRootDStatus( stError, errNotImplemented );
194 }

References XrdCl::errNotImplemented, and XrdCl::stError.

◆ Truncate()

virtual XRootDStatus XrdCl::FilePlugIn::Truncate ( uint64_t size,
ResponseHandler * handler,
time_t timeout )
inlinevirtual
See also
XrdCl::File::Truncate

Reimplemented in XrdCl::Recorder, and xrdcl_proxy::ProxyPrefixFile.

Definition at line 199 of file XrdClPlugInInterface.hh.

202 {
203 (void)size; (void)handler; (void)timeout;
204 return XRootDStatus( stError, errNotImplemented );
205 }

References XrdCl::errNotImplemented, and XrdCl::stError.

◆ VectorRead()

virtual XRootDStatus XrdCl::FilePlugIn::VectorRead ( const ChunkList & chunks,
void * buffer,
ResponseHandler * handler,
time_t timeout )
inlinevirtual
See also
XrdCl::File::VectorRead

Reimplemented in XrdCl::Recorder, xrdcl_proxy::ProxyPrefixFile, XrdClHttp::File, and XrdClS3::File.

Definition at line 222 of file XrdClPlugInInterface.hh.

226 {
227 (void)chunks; (void)buffer; (void)handler; (void)timeout;
228 return XRootDStatus( stError, errNotImplemented );
229 }

References XrdCl::errNotImplemented, and XrdCl::stError.

◆ VectorWrite()

virtual XRootDStatus XrdCl::FilePlugIn::VectorWrite ( const ChunkList & chunks,
ResponseHandler * handler,
time_t timeout = 0 )
inlinevirtual
See also
XrdCl::File::VectorWrite

Reimplemented in XrdCl::Recorder, and xrdcl_proxy::ProxyPrefixFile.

Definition at line 234 of file XrdClPlugInInterface.hh.

237 {
238 (void)chunks; (void)handler; (void)timeout;
239 return XRootDStatus( stError, errNotImplemented );
240 }

References XrdCl::errNotImplemented, and XrdCl::stError.

◆ Visa()

virtual XRootDStatus XrdCl::FilePlugIn::Visa ( ResponseHandler * handler,
time_t timeout )
inlinevirtual
See also
XrdCl::File::Visa

Reimplemented in XrdCl::Recorder, and xrdcl_proxy::ProxyPrefixFile.

Definition at line 282 of file XrdClPlugInInterface.hh.

284 {
285 (void)handler; (void)timeout;
286 return XRootDStatus( stError, errNotImplemented );
287 }

References XrdCl::errNotImplemented, and XrdCl::stError.

◆ Write() [1/3]

virtual XRootDStatus XrdCl::FilePlugIn::Write ( uint64_t offset,
Buffer && buffer,
ResponseHandler * handler,
time_t timeout = 0 )
inlinevirtual
See also
XrdCl::File::Write

Reimplemented in xrdcl_proxy::ProxyPrefixFile, XrdClHttp::File, and XrdClS3::File.

Definition at line 149 of file XrdClPlugInInterface.hh.

153 {
154 (void)offset; (void)buffer; (void)handler; (void)timeout;
155 return XRootDStatus( stError, errNotImplemented );
156 }

References XrdCl::errNotImplemented, and XrdCl::stError.

◆ Write() [2/3]

virtual XRootDStatus XrdCl::FilePlugIn::Write ( uint64_t offset,
uint32_t size,
const void * buffer,
ResponseHandler * handler,
time_t timeout )
inlinevirtual
See also
XrdCl::File::Write

Reimplemented in XrdCl::EcHandler, XrdCl::Recorder, xrdcl_proxy::ProxyPrefixFile, XrdClHttp::File, and XrdClS3::File.

Definition at line 136 of file XrdClPlugInInterface.hh.

141 {
142 (void)offset; (void)size; (void)buffer; (void)handler; (void)timeout;
143 return XRootDStatus( stError, errNotImplemented );
144 }

References XrdCl::errNotImplemented, and XrdCl::stError.

◆ Write() [3/3]

virtual XRootDStatus XrdCl::FilePlugIn::Write ( uint64_t offset,
uint32_t size,
Optional< uint64_t > fdoff,
int fd,
ResponseHandler * handler,
time_t timeout = 0 )
inlinevirtual
See also
XrdCl::File::Write

Reimplemented in xrdcl_proxy::ProxyPrefixFile.

Definition at line 161 of file XrdClPlugInInterface.hh.

167 {
168 (void)offset; (void)size; (void)fdoff; (void)fd, (void)handler; (void)timeout;
169 return XRootDStatus( stError, errNotImplemented );
170 }

References XrdCl::errNotImplemented, and XrdCl::stError.

◆ WriteV()

virtual XRootDStatus XrdCl::FilePlugIn::WriteV ( uint64_t offset,
const struct iovec * iov,
int iovcnt,
ResponseHandler * handler,
time_t timeout = 0 )
inlinevirtual
See also
XrdCl::File::WriteV

Reimplemented in xrdcl_proxy::ProxyPrefixFile.

Definition at line 246 of file XrdClPlugInInterface.hh.

251 {
252 (void)offset; (void)iov; (void)iovcnt; (void)handler; (void)timeout;
253 return XRootDStatus( stError, errNotImplemented );
254 }

References XrdCl::errNotImplemented, and XrdCl::stError.


The documentation for this class was generated from the following file: