Apache Mesos
Public Member Functions | Protected Types | Protected Member Functions | List of all members
ProtobufProcess< T > Class Template Reference

#include <protobuf.hpp>

Inheritance diagram for ProtobufProcess< T >:
process::Process< T > process::ProcessBase process::EventConsumer

Public Member Functions

virtual ~ProtobufProcess ()
 
- Public Member Functions inherited from process::Process< T >
virtual ~Process ()
 
PID< T > self () const
 Returns the PID of the process. More...
 
- Public Member Functions inherited from process::ProcessBase
 ProcessBase (const std::string &id="")
 
virtual ~ProcessBase ()
 
const UPIDself () const
 
- Public Member Functions inherited from process::EventConsumer
virtual ~EventConsumer ()
 

Protected Types

template<typename M , typename P >
using MessageProperty = P(M::*)() const
 
- Protected Types inherited from process::Process< T >
typedef T Self
 
typedef T 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

void consume (process::MessageEvent &&event) override
 
void send (const process::UPID &to, const google::protobuf::Message &message)
 
void reply (const google::protobuf::Message &message)
 
template<typename M >
void install (void(T::*method)(const process::UPID &, const M &))
 
template<typename M >
void install (void(T::*method)(const process::UPID &, M &&))
 
template<typename M >
void install (void(T::*method)(const process::UPID &))
 
template<typename M , typename... P, typename... PC>
void install (void(T::*method)(const process::UPID &, PC...), MessageProperty< M, P >...param)
 
template<typename M >
void install (void(T::*method)(const M &))
 
template<typename M >
void install (void(T::*method)(M &&))
 
template<typename M >
void install (void(T::*method)())
 
template<typename M , typename... P, typename... PC>
void install (void(T::*method)(PC...), MessageProperty< M, P >...param)
 
- Protected Member Functions inherited from process::ProcessBase
virtual void serve (Event &&event)
 Invoked when an event is serviced. More...
 
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...
 

Member Typedef Documentation

template<typename T>
template<typename M , typename P >
using ProtobufProcess< T >::MessageProperty = P(M::*)() const
protected

Constructor & Destructor Documentation

template<typename T>
virtual ProtobufProcess< T >::~ProtobufProcess ( )
inlinevirtual

Member Function Documentation

template<typename T>
void ProtobufProcess< T >::consume ( process::MessageEvent &&  event)
inlineoverrideprotectedvirtual

Reimplemented from process::ProcessBase.

template<typename T>
template<typename M >
void ProtobufProcess< T >::install ( void(T::*)(const process::UPID &, const M &)  method)
inlineprotected
template<typename T>
template<typename M >
void ProtobufProcess< T >::install ( void(T::*)(const process::UPID &, M &&)  method)
inlineprotected
template<typename T>
template<typename M >
void ProtobufProcess< T >::install ( void(T::*)(const process::UPID &)  method)
inlineprotected
template<typename T>
template<typename M , typename... P, typename... PC>
void ProtobufProcess< T >::install ( void(T::*)(const process::UPID &, PC...)  method,
MessageProperty< M, P >...  param 
)
inlineprotected
template<typename T>
template<typename M >
void ProtobufProcess< T >::install ( void(T::*)(const M &)  method)
inlineprotected
template<typename T>
template<typename M >
void ProtobufProcess< T >::install ( void(T::*)(M &&)  method)
inlineprotected
template<typename T>
template<typename M >
void ProtobufProcess< T >::install ( void(T::*)()  method)
inlineprotected
template<typename T>
template<typename M , typename... P, typename... PC>
void ProtobufProcess< T >::install ( void(T::*)(PC...)  method,
MessageProperty< M, P >...  param 
)
inlineprotected
template<typename T>
void ProtobufProcess< T >::reply ( const google::protobuf::Message &  message)
inlineprotected
template<typename T>
void ProtobufProcess< T >::send ( const process::UPID to,
const google::protobuf::Message &  message 
)
inlineprotected

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