Subordination
A framework for distributed programming
Public Types | Public Member Functions | Friends | List of all members
sbn::kernel Struct Reference
Inheritance diagram for sbn::kernel:
[legend]
Collaboration diagram for sbn::kernel:
[legend]

Public Types

typedef mobile_kernel base_kernel
 
typedef uint64_t id_type
 
- Public Types inherited from sbn::mobile_kernel
typedef uint64_t id_type
 
- Public Types inherited from sbn::kernel_base
typedef std::chrono::system_clock clock_type
 
typedef clock_type::time_point time_point
 
typedef clock_type::duration duration
 
typedef std::bitset< 6 > flags_type
 
- Public Types inherited from sbn::kernel_header
typedef std::unique_ptr< applicationapplication_ptr
 
typedef kernel_header_flag flag_type
 

Public Member Functions

const kernelprincipal () const
 
kernelprincipal ()
 
id_type principal_id () const
 
void set_principal_id (id_type id)
 
void principal (kernel *rhs)
 
const kernelparent () const
 
kernelparent ()
 
id_type parent_id () const
 
void parent (kernel *p)
 
size_t hash () const
 
bool moves_upstream () const noexcept
 
bool moves_downstream () const noexcept
 
bool moves_somewhere () const noexcept
 
bool moves_everywhere () const noexcept
 
void read (sys::pstream &in) override
 
void write (sys::pstream &out) const override
 
virtual void act ()
 
virtual void react (kernel *child)
 
virtual void error (kernel *rhs)
 
const kernel_headerheader () const noexcept
 
kernel_headerheader () noexcept
 
kernelcall (kernel *rhs) noexcept
 New API.
 
kernelcarry_parent (kernel *rhs) noexcept
 
void return_to_parent (exit_code ret=exit_code::success) noexcept
 
void return_to (kernel *rhs, exit_code ret=exit_code::success) noexcept
 
void recurse () noexcept
 
template<class It >
void mark_as_deleted (It result) noexcept
 
- Public Member Functions inherited from sbn::mobile_kernel
id_type id () const noexcept
 
void id (id_type rhs) noexcept
 
bool has_id () const noexcept
 
void set_id (id_type rhs) noexcept
 
bool operator== (const mobile_kernel &rhs) const noexcept
 
bool operator!= (const mobile_kernel &rhs) const noexcept
 
uint64_t unique_id () const noexcept
 
- Public Member Functions inherited from sbn::kernel_base
exit_code return_code () const noexcept
 
void return_code (exit_code rhs) noexcept
 
time_point at () const noexcept
 
void at (time_point t) noexcept
 
void after (duration delay) noexcept
 
bool scheduled () const noexcept
 
flags_type flags () const noexcept
 
void setf (kernel_flag f) noexcept
 
void unsetf (kernel_flag f) noexcept
 
bool isset (kernel_flag f) const noexcept
 
bool carries_parent () const noexcept
 
- Public Member Functions inherited from sbn::kernel_header
 kernel_header (const kernel_header &)=delete
 
kernel_headeroperator= (const kernel_header &)=delete
 
const sys::socket_address & from () const noexcept
 
void from (const sys::socket_address &rhs) noexcept
 
const sys::socket_address & to () const noexcept
 
void to (const sys::socket_address &rhs) noexcept
 
application_type app () const noexcept
 
void setapp (application_type rhs) noexcept
 
bool is_foreign () const noexcept
 
bool is_native () const noexcept
 
const applicationaptr () const noexcept
 
void aptr (const application *rhs) noexcept
 
bool has_application () const noexcept
 
bool owns_application () const noexcept
 
bool has_source_and_destination () const noexcept
 
void prepend_source_and_destination ()
 
void do_not_prepend_source_and_destination ()
 
void write_header (sys::pstream &out) const
 
void read_header (sys::pstream &in)
 

Friends

std::ostreamoperator<< (std::ostream &out, const kernel &rhs)
 

Additional Inherited Members

- Static Public Member Functions inherited from sbn::mobile_kernel
static constexpr id_type no_id () noexcept
 
- Protected Attributes inherited from sbn::kernel_base
exit_code _result = exit_code::undefined
 
time_point _at = time_point(duration::zero())
 
flags_type _flags = 0
 

The documentation for this struct was generated from the following files: