Apache Mesos
Public Member Functions | List of all members
mesos::uri::Fetcher::Plugin Class Referenceabstract

Represents a fetcher plugin that handles one or more URI schemes. More...

#include <fetcher.hpp>

Inheritance diagram for mesos::uri::Fetcher::Plugin:
mesos::uri::CopyFetcherPlugin mesos::uri::CurlFetcherPlugin mesos::uri::DockerFetcherPlugin mesos::uri::HadoopFetcherPlugin

Public Member Functions

virtual ~Plugin ()
 
virtual std::set< std::string > schemes () const =0
 Returns the URI schemes that this plugin handles. More...
 
virtual std::string name () const =0
 Returns the name that this plugin registered with. More...
 
virtual process::Future< Nothingfetch (const URI &uri, const std::string &directory, const Option< std::string > &data=None(), const Option< std::string > &outputFileName=None()) const =0
 Fetches a URI to the given directory. More...
 

Detailed Description

Represents a fetcher plugin that handles one or more URI schemes.

Constructor & Destructor Documentation

virtual mesos::uri::Fetcher::Plugin::~Plugin ( )
inlinevirtual

Member Function Documentation

virtual process::Future<Nothing> mesos::uri::Fetcher::Plugin::fetch ( const URI &  uri,
const std::string &  directory,
const Option< std::string > &  data = None(),
const Option< std::string > &  outputFileName = None() 
) const
pure virtual

Fetches a URI to the given directory.

To avoid blocking or crashing the current thread, this method might choose to fork subprocesses for third party commands.

Parameters
urithe URI to fetch
directorythe directory the URI will be downloaded to
datathe optional user defined data
outputFileNamethe optional output file name

Implemented in mesos::uri::DockerFetcherPlugin, mesos::uri::HadoopFetcherPlugin, mesos::uri::CurlFetcherPlugin, and mesos::uri::CopyFetcherPlugin.

virtual std::string mesos::uri::Fetcher::Plugin::name ( ) const
pure virtual
virtual std::set<std::string> mesos::uri::Fetcher::Plugin::schemes ( ) const
pure virtual

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