Subordination
A framework for distributed programming
Public Types | Public Member Functions | List of all members
sbn::remote_client< K, S, R > Class Template Reference
Inheritance diagram for sbn::remote_client< K, S, R >:
[legend]
Collaboration diagram for sbn::remote_client< K, S, R >:
[legend]

Public Types

typedef pipeline_base base_pipeline
 
typedef K kernel_type
 
typedef char Ch
 
typedef sys::basic_fildesbuf< Ch, std::char_traits< Ch >, sys::socket > fildesbuf_type
 
typedef basic_kernelbuf< fildesbuf_type > kernelbuf_type
 
typedef std::unique_ptr< kernelbuf_typekernelbuf_ptr
 
typedef kstream< K > stream_type
 
typedef kernel_protocol< K, R, bits::forward_to_child< R > > protocol_type
 
typedef S socket_type
 
typedef R router_type
 
typedef sys::pid_type app_type
 
typedef socket_pipeline< K, S, R > this_type
 
typedef this_type::weight_type weight_type
 
- Public Types inherited from sbn::pipeline_base
typedef std::chrono::system_clock clock_type
 
typedef clock_type::time_point time_point
 
typedef clock_type::duration duration
 

Public Member Functions

 remote_client (socket_type &&sock, sys::socket_address vaddr, this_type &ppl)
 
remote_clientoperator= (const remote_client &)=delete
 
remote_clientoperator= (remote_client &&)=delete
 
 remote_client (const remote_client &)=delete
 
 remote_client (remote_client &&rhs)=delete
 
void recover ()
 
void send (kernel_type *k)
 
void forward (foreign_kernel *hdr)
 
void handle (const sys::epoll_event &event) override
 
void flush () override
 Flush dirty buffers (if needed).
 
const socket_type & socket () const noexcept
 
socket_type & socket () noexcept
 
void socket (sys::socket &&rhs)
 
weight_type weight () const noexcept
 
void weight (weight_type rhs) noexcept
 
const sys::socket_address & vaddr () const noexcept
 
void set_name (const char *rhs) noexcept
 
void write (std::ostream &out) const override
 
void remove (sys::event_poller &poller) override
 Called when the handler is removed from the poller.
 
- Public Member Functions inherited from sbn::pipeline_base
 pipeline_base (pipeline_base &&)=default
 
 pipeline_base (const pipeline_base &)=delete
 
pipeline_baseoperator= (pipeline_base &)=delete
 
void setstate (pipeline_state rhs) noexcept
 
pipeline_state state () const noexcept
 
bool is_starting () const noexcept
 
bool has_started () const noexcept
 
bool is_running () const noexcept
 
bool is_stopping () const noexcept
 
bool has_stopped () const noexcept
 
time_point start_time_point () const noexcept
 
bool has_start_time_point () const noexcept
 
const char * name () const noexcept
 
void set_name (const char *rhs) noexcept
 
void set_number (unsigned rhs) noexcept
 
template<class ... Args>
void log (const Args &... args) const
 
void log_error (const std::exception &err) const
 

Additional Inherited Members

- Protected Attributes inherited from sbn::pipeline_base
volatile pipeline_state _state = pipeline_state::initial
 
time_point _start = time_point(duration::zero())
 
const char * _name = "ppl"
 
unsigned _number = 0
 

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