Subordination
A framework for distributed programming
Public Types | Public Member Functions | List of all members
sbn::kernel_protocol< T, Router, Forward, Kernels, Traits > Class Template Reference

Public Types

typedef T kernel_type
 
typedef Router router_type
 
typedef Forward forward_type
 
typedef Kernels pool_type
 
typedef Traits traits_type
 

Public Member Functions

 kernel_protocol (kernel_protocol &&)=default
 
 kernel_protocol (const kernel_protocol &)=delete
 
kernel_protocoloperator= (const kernel_protocol &)=delete
 
kernel_protocoloperator= (kernel_protocol &&)=delete
 
void send (kernel_type *k, stream_type &stream)
 
void forward (foreign_kernel *k, stream_type &ostr)
 
void receive_kernels (stream_type &stream) noexcept
 
void recover_kernels (bool down)
 
void set_name (const char *rhs) noexcept
 
void setf (kernel_proto_flag rhs) noexcept
 
void unsetf (kernel_proto_flag rhs) noexcept
 
kernel_proto_flag flags () const noexcept
 
bool has_src_and_dest () const noexcept
 
bool prepends_application () const noexcept
 
bool saves_upstream_kernels () const noexcept
 
bool saves_downstream_kernels () const noexcept
 
bool has_other_application () const noexcept
 
void set_other_application (const application *rhs) noexcept
 
application_type other_application_id () const noexcept
 
void set_endpoint (const sys::socket_address &rhs) noexcept
 
const sys::socket_address & socket_address () const noexcept
 

Member Function Documentation

◆ send()

template<class T, class Router, class Forward = bits::no_forward<Router>, class Kernels = std::deque<T*>, class Traits = deque_traits<Kernels>>
void sbn::kernel_protocol< T, Router, Forward, Kernels, Traits >::send ( kernel_type *  k,
stream_type stream 
)
inline

The kernel is deleted if it goes downstream and does not carry its parent.


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