Apache Mesos
Classes | Public Member Functions | List of all members
mesos::csi::v0::VolumeManagerProcess Class Reference

#include <v0_volume_manager_process.hpp>

Inheritance diagram for mesos::csi::v0::VolumeManagerProcess:
process::Process< VolumeManagerProcess > process::ProcessBase process::EventConsumer

Public Member Functions

 VolumeManagerProcess (const std::string &_rootDir, const CSIPluginInfo &_info, const hashset< Service > _services, const process::grpc::client::Runtime &_runtime, ServiceManager *_serviceManager, Metrics *_metrics, SecretResolver *_secretResolver)
 
process::Future< Nothingrecover ()
 
process::Future< std::vector< VolumeInfo > > listVolumes ()
 
process::Future< BytesgetCapacity (const CSIVolume::VolumeCapability &capability, const google::protobuf::Map< std::string, std::string > &parameters)
 
process::Future< VolumeInfocreateVolume (const std::string &name, const Bytes &capacity, const CSIVolume::VolumeCapability &capability, const google::protobuf::Map< std::string, std::string > &parameters)
 
process::Future< Option< Error > > validateVolume (const VolumeInfo &volumeInfo, const CSIVolume::VolumeCapability &capability, const google::protobuf::Map< std::string, std::string > &parameters)
 
process::Future< bool > deleteVolume (const std::string &volumeId)
 
process::Future< NothingattachVolume (const std::string &volumeId)
 
process::Future< NothingdetachVolume (const std::string &volumeId)
 
process::Future< NothingpublishVolume (const std::string &volumeId, const Option< state::VolumeState > &volumeState=None())
 
process::Future< NothingunpublishVolume (const std::string &volumeId)
 
template<typename Request , typename Response >
process::Future< Response > call (const Service &service, process::Future< RPCResult< Response >>(Client::*rpc)(Request), const Request &request, bool retry=false)
 
template<typename Request , typename Response >
process::Future< RPCResult< Response > > _call (const std::string &endpoint, process::Future< RPCResult< Response >>(Client::*rpc)(Request), const Request &request)
 
template<typename Response >
process::Future< process::ControlFlow< Response > > __call (const RPCResult< Response > &result, const Option< Duration > &backoff)
 
- Public Member Functions inherited from process::Process< VolumeManagerProcess >
 ~Process () override
 
PID< VolumeManagerProcess > self () const
 Returns the PID of the process. More...
 
- Public Member Functions inherited from process::ProcessBase
 ProcessBase (const std::string &id="")
 
 ~ProcessBase () override
 
const UPIDself () const
 
- Public Member Functions inherited from process::EventConsumer
virtual ~EventConsumer ()
 

Additional Inherited Members

- Protected Types inherited from process::Process< VolumeManagerProcess >
typedef VolumeManagerProcess Self
 
typedef VolumeManagerProcess This
 
- Protected Types inherited from process::ProcessBase
enum  RemoteConnection { RemoteConnection::REUSE, RemoteConnection::RECONNECT }
 Describes the behavior of the link call when the target pid points to a remote process. More...
 
typedef lambda::function< void(const UPID &, const std::string &)> MessageHandler
 Any function which takes a "from" UPID and a message body as arguments. More...
 
typedef lambda::function< Future< http::Response >const http::Request &)> HttpRequestHandler
 Any function which takes a process::http::Request and returns a process::http::Response. More...
 
typedef lambda::function< Future< http::Response > const http::Request &, const Option< http::authentication::Principal > &)> AuthenticatedHttpRequestHandler
 Any function which takes a process::http::Request and an Option<Principal> and returns a process::http::Response. More...
 
- Protected Member Functions inherited from process::ProcessBase
virtual void serve (Event &&event)
 Invoked when an event is serviced. More...
 
void consume (MessageEvent &&event) override
 
void consume (DispatchEvent &&event) override
 
void consume (HttpEvent &&event) override
 
void consume (ExitedEvent &&event) override
 
void consume (TerminateEvent &&event) override
 
virtual void initialize ()
 Invoked when a process gets spawned. More...
 
virtual void finalize ()
 Invoked when a process is terminated. More...
 
virtual void exited (const UPID &)
 Invoked when a linked process has exited. More...
 
virtual void lost (const UPID &)
 Invoked when a linked process can no longer be monitored. More...
 
void send (const UPID &to, const std::string &name, const char *data=nullptr, size_t length=0)
 Sends the message to the specified UPID. More...
 
void send (const UPID &to, std::string &&name)
 
void send (const UPID &to, std::string &&name, std::string &&data)
 
UPID link (const UPID &pid, const RemoteConnection remote=RemoteConnection::REUSE)
 Links with the specified UPID. More...
 
void install (const std::string &name, const MessageHandler &handler)
 Sets up a handler for messages with the specified name. More...
 
template<typename T >
void install (const std::string &name, void(T::*method)(const UPID &, const std::string &))
 Sets up a handler for messages with the specified name. More...
 
void delegate (const std::string &name, const UPID &pid)
 Delegates incoming messages, with the specified name, to the UPID. More...
 
void route (const std::string &name, const Option< std::string > &help, const HttpRequestHandler &handler, const RouteOptions &options=RouteOptions())
 Sets up a handler for HTTP requests with the specified name. More...
 
template<typename T >
void route (const std::string &name, const Option< std::string > &help, Future< http::Response >(T::*method)(const http::Request &), const RouteOptions &options=RouteOptions())
 Sets up a handler for HTTP requests with the specified name. More...
 
void route (const std::string &name, const std::string &realm, const Option< std::string > &help, const AuthenticatedHttpRequestHandler &handler, const RouteOptions &options=RouteOptions())
 
template<typename T >
void route (const std::string &name, const Option< std::string > &realm, const Option< std::string > &help, Future< http::Response >(T::*method)(const http::Request &, const Option< http::authentication::Principal > &), const RouteOptions &options=RouteOptions())
 Forwards to the correct overload of process::ProcessBase::route(), depending on whether the authentication realm realm is present. More...
 
void provide (const std::string &name, const std::string &path, const std::map< std::string, std::string > &types=mime::types)
 Sets up the default HTTP request handler to provide the static asset(s) at the specified absolute path for the specified name. More...
 
template<typename T >
size_t eventCount ()
 Returns the number of events of the given type currently on the event queue. More...
 

Constructor & Destructor Documentation

mesos::csi::v0::VolumeManagerProcess::VolumeManagerProcess ( const std::string &  _rootDir,
const CSIPluginInfo &  _info,
const hashset< Service _services,
const process::grpc::client::Runtime _runtime,
ServiceManager _serviceManager,
Metrics _metrics,
SecretResolver _secretResolver 
)
explicit

Member Function Documentation

template<typename Response >
process::Future<process::ControlFlow<Response> > mesos::csi::v0::VolumeManagerProcess::__call ( const RPCResult< Response > &  result,
const Option< Duration > &  backoff 
)
template<typename Request , typename Response >
process::Future<RPCResult<Response> > mesos::csi::v0::VolumeManagerProcess::_call ( const std::string &  endpoint,
process::Future< RPCResult< Response >>(Client::*)(Request)  rpc,
const Request &  request 
)
process::Future<Nothing> mesos::csi::v0::VolumeManagerProcess::attachVolume ( const std::string &  volumeId)
template<typename Request , typename Response >
process::Future<Response> mesos::csi::v0::VolumeManagerProcess::call ( const Service service,
process::Future< RPCResult< Response >>(Client::*)(Request)  rpc,
const Request &  request,
bool  retry = false 
)
process::Future<VolumeInfo> mesos::csi::v0::VolumeManagerProcess::createVolume ( const std::string &  name,
const Bytes capacity,
const CSIVolume::VolumeCapability &  capability,
const google::protobuf::Map< std::string, std::string > &  parameters 
)
process::Future<bool> mesos::csi::v0::VolumeManagerProcess::deleteVolume ( const std::string &  volumeId)
process::Future<Nothing> mesos::csi::v0::VolumeManagerProcess::detachVolume ( const std::string &  volumeId)
process::Future<Bytes> mesos::csi::v0::VolumeManagerProcess::getCapacity ( const CSIVolume::VolumeCapability &  capability,
const google::protobuf::Map< std::string, std::string > &  parameters 
)
process::Future<std::vector<VolumeInfo> > mesos::csi::v0::VolumeManagerProcess::listVolumes ( )
process::Future<Nothing> mesos::csi::v0::VolumeManagerProcess::publishVolume ( const std::string &  volumeId,
const Option< state::VolumeState > &  volumeState = None() 
)
process::Future<Nothing> mesos::csi::v0::VolumeManagerProcess::recover ( )
process::Future<Nothing> mesos::csi::v0::VolumeManagerProcess::unpublishVolume ( const std::string &  volumeId)
process::Future<Option<Error> > mesos::csi::v0::VolumeManagerProcess::validateVolume ( const VolumeInfo volumeInfo,
const CSIVolume::VolumeCapability &  capability,
const google::protobuf::Map< std::string, std::string > &  parameters 
)

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