libtasks Documentation  1.6
tasks::net::http_sender< handler_type > Class Template Reference

#include <http_sender.h>

Inheritance diagram for tasks::net::http_sender< handler_type >:
Collaboration diagram for tasks::net::http_sender< handler_type >:

Public Member Functions

 http_sender ()
 
 http_sender (std::shared_ptr< handler_type > handler)
 
bool handle_event (tasks::worker *worker, int events)
 
bool connected () const
 
void send (std::shared_ptr< http_request > request)
 
- Public Member Functions inherited from tasks::net_io_task
 net_io_task (int events)
 
 net_io_task (net::socket &socket, int events)
 
virtual ~net_io_task ()
 
std::string get_string () const
 A debug helper. More...
 
net::socketsocket ()
 Provide access to the underlying socket object. More...
 
const net::socketsocket () const
 Provide const access to the underlying socket object. More...
 
- Public Member Functions inherited from tasks::io_task_base
 io_task_base (int events)
 
virtual ~io_task_base ()
 
std::string get_string () const
 
int events () const
 Return the monitored events. More...
 
ev_io * watcher () const
 Return the io watcher object. More...
 
virtual void init_watcher ()
 Initialize the watcher. More...
 
virtual void start_watcher (worker *worker)
 Start a watcher in the context of the given worker. More...
 
virtual void stop_watcher (worker *worker)
 Stop a watcher in the context of the given worker. More...
 
virtual void update_watcher (worker *worker)
 Udate a watcher in the context of the given worker. More...
 
virtual void dispose (worker *worker)
 Stop the watcher before being deleted. More...
 
- Public Member Functions inherited from tasks::event_task
virtual ~event_task ()
 
workerassigned_worker () const
 Returns a pointer to the assigned worker. More...
 
void assign_worker (worker *worker)
 
void notify_error (worker *worker=nullptr)
 
void on_error (error_func_worker_t f)
 
void on_error (error_func_void_t f)
 Install an error callback. More...
 
- Public Member Functions inherited from tasks::task
virtual ~task ()
 
bool auto_delete () const
 Returns true if auto deletion is active. More...
 
void disable_auto_delete ()
 Call this to deactivate auto deletion. More...
 
void finish (worker *worker=nullptr)
 Called by a worker when a task has auto_deletion enabled. More...
 
void on_finish (finish_func_worker_t f)
 
void on_finish (finish_func_void_t f)
 
- Public Member Functions inherited from tasks::error_base
 error_base ()
 
virtual ~error_base ()
 
bool error () const
 Return true if an error occured. More...
 
tasks_error error_code () const
 Return the error code. More...
 
const std::string & error_message () const
 Return the error message. More...
 
int sys_errno () const
 Return the errno if available. More...
 
std::string sys_errno_str () const
 Return the errno description if available. More...
 
const tasks_exceptionexception () const
 Return the underlying exception object. More...
 
void set_exception (tasks_exception &e)
 Set an exception to report an error. More...
 
void reset_error ()
 Reset the error state. More...
 
- Public Member Functions inherited from tasks::disposable
 disposable ()
 
virtual ~disposable ()
 
bool can_dispose () const
 Check if a task can be disposed or not. More...
 
void disable_dispose ()
 Mark a task for being not disposable. More...
 
void enable_dispose ()
 Mark a task for being disposable. More...
 

Private Attributes

std::shared_ptr< http_requestm_request
 
std::shared_ptr< http_responsem_response
 
std::shared_ptr< handler_type > m_handler
 
std::string m_host
 
int m_port = 80
 

Additional Inherited Members

- Public Types inherited from tasks::event_task
typedef std::function< void(worker
*worker, const tasks_exception
&e)> 
error_func_worker_t
 
typedef std::function< void(const
tasks_exception &e)> 
error_func_void_t
 
- Public Types inherited from tasks::task
typedef std::function< void(worker
*worker)> 
finish_func_worker_t
 
typedef std::function< void()> finish_func_void_t
 
- Static Public Member Functions inherited from tasks::net_io_task
static void add_task (net_io_task *task)
 
- Protected Member Functions inherited from tasks::net_io_task
void add_task (worker *worker, net_io_task *task)
 
io_baseiob ()
 Grant socket access to the io_task_base. More...
 
const io_baseiob () const
 Grant const socket access to the io_task_base. More...
 
void disable_auto_close ()
 Disable automatic closing of the socket in the desctructor. More...
 
- Protected Member Functions inherited from tasks::io_task_base
void set_events (int events)
 Update the events the object monitors. More...
 

Detailed Description

template<class handler_type>
class tasks::net::http_sender< handler_type >

Definition at line 32 of file http_sender.h.

Constructor & Destructor Documentation

template<class handler_type>
tasks::net::http_sender< handler_type >::http_sender ( )
inline

Definition at line 34 of file http_sender.h.

template<class handler_type>
tasks::net::http_sender< handler_type >::http_sender ( std::shared_ptr< handler_type >  handler)
inline

Contructor

Parameters
handlerThe response handler to be called.

Definition at line 39 of file http_sender.h.

Member Function Documentation

template<class handler_type>
bool tasks::net::http_sender< handler_type >::connected ( ) const
inline
Returns
True if connected.

Definition at line 73 of file http_sender.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class handler_type>
bool tasks::net::http_sender< handler_type >::handle_event ( tasks::worker worker,
int  events 
)
inlinevirtual

Will be called for each I/O or timer event.

Each task needs to implement the handle_event method. Returns true if the task stays active and false otherwise. The task will be deleted if false is returned and auto_delete() returns true.

Parameters
workerThe worker thread executing the task.
eventsThe events bitmask.
Returns
True to continue execution. False to remove the task.

Implements tasks::event_task.

Definition at line 43 of file http_sender.h.

Here is the call graph for this function:

template<class handler_type>
void tasks::net::http_sender< handler_type >::send ( std::shared_ptr< http_request request)
inline

Send out an http_request. The http_sender will automatically be added to the task system when calling this method.

Definition at line 79 of file http_sender.h.

Here is the call graph for this function:

Member Data Documentation

template<class handler_type>
std::shared_ptr<handler_type> tasks::net::http_sender< handler_type >::m_handler
private

Definition at line 109 of file http_sender.h.

template<class handler_type>
std::string tasks::net::http_sender< handler_type >::m_host
private

Definition at line 110 of file http_sender.h.

template<class handler_type>
int tasks::net::http_sender< handler_type >::m_port = 80
private

Definition at line 111 of file http_sender.h.

template<class handler_type>
std::shared_ptr<http_request> tasks::net::http_sender< handler_type >::m_request
private

Definition at line 107 of file http_sender.h.

template<class handler_type>
std::shared_ptr<http_response> tasks::net::http_sender< handler_type >::m_response
private

Definition at line 108 of file http_sender.h.


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