public sbn::pipeline
using lock_type = std::unique_lock< mutex_type >
using mutex_type = std::recursive_mutex
using thread_init_type = std::function< void()>
using semaphore_type = sys::event_poller
using duration = typename connection::duration
using time_point = typename connection::time_point
using clock_type = typename connection::clock_type
using connection_ptr = std::shared_ptr< connection >
thread_init_type _thread_init
Function that is called in each new thread.
size_t _min_output_buffer_size
size_t _min_input_buffer_size
kernel_ptr_array _trash
kernel_array _listeners
transaction_log * _transactions
kernel_instance_registry * _instances
kernel_type_registry * _types
pipeline * _remote_pipeline
pipeline * _native_pipeline
pipeline * _foreign_pipeline
sys::u32 _max_connection_attempts
duration _connection_timeout
connection_table _connections
semaphore_type _semaphore
mutex_type _mutex
thread_pool _threads
kernel_queue _kernels
loop() -> voidprotectedvirtual
process_connections() -> voidprotectedvirtual
process_kernels() -> voidprotectedvirtual
template <class X>
emplace_handler(const sys::epoll_event & ev, const std::shared_ptr< X > & ptr) -> voidprotected
poller() const -> const semaphore_type &protected
poller() -> semaphore_type &protected
forward_foreign(kernel_ptr && k) -> voidprotected
forward_native(kernel_ptr && k) -> voidprotected
forward_remote(kernel_ptr && k) -> voidprotected
forward_to(pipeline * ppl, kernel_ptr && k) -> voidprotected
This wrapper method prevents deadlock between socket and process pipelines.
send_foreign(kernel_ptr && k) -> voidprotected
send_native(kernel_ptr && k) -> voidprotected
send_remote(kernel_ptr && k) -> voidprotected
send_to(pipeline * ppl, kernel_ptr && k) -> voidprotected
This wrapper method prevents deadlock between socket and process pipelines.
write(std::ostream & out) const -> voidvirtual
cpus(const sys::cpu_set & cpus) -> void
remove_listener(kernel * k) -> void
add_listener(kernel * k) -> void
kernels() const -> const kernel_queue &
connections() const -> const connection_table &
max_connection_attempts(sys::u32 rhs) -> void
max_connection_attempts() const -> sys::u32
connection_timeout(const duration & rhs) -> void
connection_timeout() const -> const duration &
erase_connection(sys::fd_type fd) -> void
erase(sys::fd_type fd) -> void
emplace_handler(const sys::epoll_event & ev, const connection_ptr & ptr) -> void
trash(kernel_ptr && k) -> void
transactions(transaction_log * rhs) -> void
thread_init(thread_init_type rhs) -> void
min_output_buffer_size(size_t rhs) -> void
min_input_buffer_size(size_t rhs) -> void
transactions() const -> const transaction_log *
transactions() -> transaction_log *
instances() -> kernel_instance_registry *
instances() const -> const kernel_instance_registry *
types() -> kernel_type_registry *
types() const -> const kernel_type_registry *
remote_pipeline() -> pipeline *
remote_pipeline() const -> const pipeline *
native_pipeline() -> pipeline *
native_pipeline() const -> const pipeline *
foreign_pipeline() -> pipeline *
foreign_pipeline() const -> const pipeline *
instances(kernel_instance_registry * rhs) -> void
types(kernel_type_registry * rhs) -> void
remote_pipeline(pipeline * rhs) -> void
native_pipeline(pipeline * rhs) -> void
foreign_pipeline(pipeline * rhs) -> void
write_transaction(transaction_status status, kernel_ptr & k) -> void
clear(kernel_sack & sack) -> void
wait() -> void
stop() -> void
start() -> void
send(kernel_ptr_array && kernels, size_t n) -> void
send(kernel_ptr && k) -> voidvirtual
operator=(const basic_socket_pipeline &) -> basic_socket_pipeline &
basic_socket_pipeline(const basic_socket_pipeline &)
operator=(basic_socket_pipeline &&) -> basic_socket_pipeline &
basic_socket_pipeline(basic_socket_pipeline &&)
~basic_socket_pipeline()
basic_socket_pipeline()
basic_socket_pipeline(const properties & p)explicit
unguard() const -> unsentry
unguard() -> unsentry
guard() const -> sentry
guard() -> sentry
operator<<(std::ostream & out, const basic_socket_pipeline & rhs) -> std::ostream &