|
Monero
|
#include <levin_protocol_handler_async.h>

Classes | |
| struct | invoke_response_handler_base |
| struct | anvoke_handler |
Public Types | |
| enum | stream_state { stream_state_head , stream_state_body } |
| typedef t_connection_context | connection_context |
| typedef async_protocol_handler_config< t_connection_context > | config_type |
Public Member Functions | |
| template<class callback_t> | |
| bool | add_invoke_response_handler (const callback_t &cb, uint64_t timeout, async_protocol_handler &con, int command) |
| async_protocol_handler (net_utils::i_service_endpoint *psnd_hndlr, config_type &config, t_connection_context &conn_context) | |
| virtual | ~async_protocol_handler () |
| bool | start_outer_call () |
| bool | finish_outer_call () |
| bool | release_protocol () |
| bool | close (const bool wait_for_shutdown) |
| void | update_connection_context (const connection_context &contxt) |
| void | request_callback () |
| void | handle_qued_callback () |
| virtual bool | handle_recv (const void *ptr, size_t cb) |
| bool | after_init_connection () |
| template<class callback_t> | |
| bool | async_invoke (int command, message_writer in_msg, const callback_t &cb, size_t timeout=LEVIN_DEFAULT_TIMEOUT_PRECONFIGURED) |
| int | invoke (int command, message_writer in_msg, std::string &buff_out) |
| int | send (byte_slice message) |
| boost::uuids::uuid | get_connection_id () |
| t_connection_context & | get_context_ref () |
Public Attributes | |
| std::atomic< bool > | m_protocol_released |
| std::atomic< bool > | m_invoke_buf_ready |
| volatile int | m_invoke_result_code |
| critical_section | m_local_inv_buff_lock |
| std::string | m_local_inv_buff |
| critical_section | m_call_lock |
| std::atomic< uint32_t > | m_wait_count |
| std::atomic< uint32_t > | m_close_called |
| bucket_head2 | m_current_head |
| net_utils::i_service_endpoint * | m_pservice_endpoint |
| config_type & | m_config |
| t_connection_context & | m_connection_context |
| std::atomic< uint64_t > | m_max_packet_size |
| net_utils::buffer | m_cache_in_buffer |
| stream_state | m_state |
| int32_t | m_oponent_protocol_ver |
| bool | m_connection_initialized |
| critical_section | m_invoke_response_handlers_lock |
| std::list< boost::shared_ptr< invoke_response_handler_base > > | m_invoke_response_handlers |
Private Member Functions | |
| bool | send_message (byte_slice message) |
Private Attributes | |
| std::string | m_fragment_buffer |
Friends | |
| template<class callback_t> | |
| struct | anvoke_handler |
| typedef async_protocol_handler_config<t_connection_context> epee::levin::async_protocol_handler< t_connection_context >::config_type |
| typedef t_connection_context epee::levin::async_protocol_handler< t_connection_context >::connection_context |
| enum epee::levin::async_protocol_handler::stream_state |
|
inline |
|
inlinevirtual |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
|
inline |
|
inline |
|
inline |
|
inline |
Sends message without adding a levin header. The message must have been created with make_noise_notify, make_fragmented_notify, or message_writer::finalize_notify. See additional instructions for make_fragmented_notify.
|
inlineprivate |
|
inline |
|
inline |
|
friend |
| net_utils::buffer epee::levin::async_protocol_handler< t_connection_context >::m_cache_in_buffer |
| critical_section epee::levin::async_protocol_handler< t_connection_context >::m_call_lock |
| std::atomic<uint32_t> epee::levin::async_protocol_handler< t_connection_context >::m_close_called |
| config_type& epee::levin::async_protocol_handler< t_connection_context >::m_config |
| t_connection_context& epee::levin::async_protocol_handler< t_connection_context >::m_connection_context |
| bool epee::levin::async_protocol_handler< t_connection_context >::m_connection_initialized |
| bucket_head2 epee::levin::async_protocol_handler< t_connection_context >::m_current_head |
|
private |
| std::atomic<bool> epee::levin::async_protocol_handler< t_connection_context >::m_invoke_buf_ready |
| std::list<boost::shared_ptr<invoke_response_handler_base> > epee::levin::async_protocol_handler< t_connection_context >::m_invoke_response_handlers |
| critical_section epee::levin::async_protocol_handler< t_connection_context >::m_invoke_response_handlers_lock |
| volatile int epee::levin::async_protocol_handler< t_connection_context >::m_invoke_result_code |
| std::string epee::levin::async_protocol_handler< t_connection_context >::m_local_inv_buff |
| critical_section epee::levin::async_protocol_handler< t_connection_context >::m_local_inv_buff_lock |
| std::atomic<uint64_t> epee::levin::async_protocol_handler< t_connection_context >::m_max_packet_size |
| int32_t epee::levin::async_protocol_handler< t_connection_context >::m_oponent_protocol_ver |
| std::atomic<bool> epee::levin::async_protocol_handler< t_connection_context >::m_protocol_released |
| net_utils::i_service_endpoint* epee::levin::async_protocol_handler< t_connection_context >::m_pservice_endpoint |
| stream_state epee::levin::async_protocol_handler< t_connection_context >::m_state |
| std::atomic<uint32_t> epee::levin::async_protocol_handler< t_connection_context >::m_wait_count |