class sbn::basic_socket_pipeline
Base classes
Derived classes
Types
  • 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 >
Classes
  • class sbn::basic_socket_pipeline::sentry
  • class sbn::basic_socket_pipeline::unsentry
Structs
  • struct sbn::basic_socket_pipeline::properties
Fields
Methods
  • 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 &