aboutsummaryrefslogtreecommitdiff
path: root/contrib/epee/include/net
diff options
context:
space:
mode:
authormydesktop <dev.mc2@gmail.com>2014-05-25 13:06:40 -0400
committermydesktop <dev.mc2@gmail.com>2014-05-25 13:06:40 -0400
commit3a3a8176782a4fa75b0607fba0393c9d4a1746be (patch)
treee8e38bdeaf0e9ea8ba773bb27e1de4b288b8150d /contrib/epee/include/net
parentMerge pull request #12 from quazarcoin/MRO_master (diff)
downloadmonero-3a3a8176782a4fa75b0607fba0393c9d4a1746be.tar.xz
0.8.8update
Diffstat (limited to 'contrib/epee/include/net')
-rw-r--r--contrib/epee/include/net/abstract_tcp_server2.inl4
-rw-r--r--contrib/epee/include/net/http_protocol_handler.h45
-rw-r--r--contrib/epee/include/net/http_server_handlers_map2.h99
-rw-r--r--contrib/epee/include/net/net_utils_base.h17
4 files changed, 38 insertions, 127 deletions
diff --git a/contrib/epee/include/net/abstract_tcp_server2.inl b/contrib/epee/include/net/abstract_tcp_server2.inl
index 2a4b10e48..403f5a3bd 100644
--- a/contrib/epee/include/net/abstract_tcp_server2.inl
+++ b/contrib/epee/include/net/abstract_tcp_server2.inl
@@ -52,11 +52,11 @@ PRAGMA_WARNING_DISABLE_VS(4355)
typename t_protocol_handler::config_type& config, volatile uint32_t& sock_count, i_connection_filter* &pfilter)
: strand_(io_service),
socket_(io_service),
- m_protocol_handler(this, config, context),
m_want_close_connection(0),
m_was_shutdown(0),
m_ref_sockets_count(sock_count),
- m_pfilter(pfilter)
+ m_pfilter(pfilter),
+ m_protocol_handler(this, config, context)
{
boost::interprocess::ipcdetail::atomic_inc32(&m_ref_sockets_count);
}
diff --git a/contrib/epee/include/net/http_protocol_handler.h b/contrib/epee/include/net/http_protocol_handler.h
index 4bf48750e..aed909778 100644
--- a/contrib/epee/include/net/http_protocol_handler.h
+++ b/contrib/epee/include/net/http_protocol_handler.h
@@ -55,20 +55,20 @@ namespace net_utils
/************************************************************************/
/* */
/************************************************************************/
- template<class t_connection_context = net_utils::connection_context_base>
+ template<class t_connection_context = net_utils::connection_context_base>
class simple_http_connection_handler
{
public:
- typedef t_connection_context connection_context;//t_connection_context net_utils::connection_context_base connection_context;
+ typedef t_connection_context connection_context;//t_connection_context net_utils::connection_context_base connection_context;
typedef http_server_config config_type;
simple_http_connection_handler(i_service_endpoint* psnd_hndlr, config_type& config);
virtual ~simple_http_connection_handler(){}
- bool release_protocol()
- {
- return true;
- }
+ bool release_protocol()
+ {
+ return true;
+ }
virtual bool thread_init()
{
@@ -85,10 +85,6 @@ namespace net_utils
}
virtual bool handle_recv(const void* ptr, size_t cb);
virtual bool handle_request(const http::http_request_info& query_info, http_response_info& response);
-
-
- //temporary here
- //bool parse_uri(const std::string uri, uri_content& content);
private:
enum machine_state{
@@ -142,34 +138,37 @@ namespace net_utils
i_service_endpoint* m_psnd_hndlr;
};
- template<class t_connection_context>
+ template<class t_connection_context>
struct i_http_server_handler
{
virtual ~i_http_server_handler(){}
- virtual bool handle_http_request(const http_request_info& query_info, http_response_info& response, t_connection_context& m_conn_context)=0;
- virtual bool init_server_thread(){return true;}
+ virtual bool handle_http_request(const http_request_info& query_info,
+ http_response_info& response,
+ t_connection_context& m_conn_context) = 0;
+ virtual bool init_server_thread(){return true;}
virtual bool deinit_server_thread(){return true;}
};
- template<class t_connection_context>
+ template<class t_connection_context>
struct custum_handler_config: public http_server_config
{
i_http_server_handler<t_connection_context>* m_phandler;
};
- /************************************************************************/
- /* */
- /************************************************************************/
+ /************************************************************************/
+ /* */
+ /************************************************************************/
- template<class t_connection_context = net_utils::connection_context_base>
+ template<class t_connection_context = net_utils::connection_context_base>
class http_custom_handler: public simple_http_connection_handler<t_connection_context>
{
public:
typedef custum_handler_config<t_connection_context> config_type;
- http_custom_handler(i_service_endpoint* psnd_hndlr, config_type& config, t_connection_context& conn_context):simple_http_connection_handler<t_connection_context>(psnd_hndlr, config),
- m_config(config),
- m_conn_context(conn_context)
+ http_custom_handler(i_service_endpoint* psnd_hndlr, config_type& config, t_connection_context& conn_context)
+ : simple_http_connection_handler<t_connection_context>(psnd_hndlr, config),
+ m_config(config),
+ m_conn_context(conn_context)
{}
inline bool handle_request(const http_request_info& query_info, http_response_info& response)
{
@@ -191,8 +190,8 @@ namespace net_utils
{
return m_config.m_phandler->deinit_server_thread();
}
- void handle_qued_callback()
- {}
+ void handle_qued_callback()
+ {}
bool after_init_connection()
{
return true;
diff --git a/contrib/epee/include/net/http_server_handlers_map2.h b/contrib/epee/include/net/http_server_handlers_map2.h
index af4e035f8..201460130 100644
--- a/contrib/epee/include/net/http_server_handlers_map2.h
+++ b/contrib/epee/include/net/http_server_handlers_map2.h
@@ -26,9 +26,10 @@
#pragma once
-#include "serialization/keyvalue_serialization.h"
-#include "storages/portable_storage_template_helper.h"
#include "http_base.h"
+#include "jsonrpc_structs.h"
+#include "storages/portable_storage.h"
+#include "storages/portable_storage_template_helper.h"
#define CHAIN_HTTP_TO_MAP2(context_type) bool handle_http_request(const epee::net_utils::http::http_request_info& query_info, \
@@ -109,98 +110,6 @@
#define END_URI_MAP2() return handled;}
-
-
-namespace epee
-{
- namespace json_rpc
- {
- template<typename t_param>
- struct request
- {
- std::string jsonrpc;
- std::string method;
- epee::serialization::storage_entry id;
- t_param params;
-
- BEGIN_KV_SERIALIZE_MAP()
- KV_SERIALIZE(jsonrpc)
- KV_SERIALIZE(id)
- KV_SERIALIZE(method)
- KV_SERIALIZE(params)
- END_KV_SERIALIZE_MAP()
- };
-
- struct error
- {
- int64_t code;
- std::string message;
- BEGIN_KV_SERIALIZE_MAP()
- KV_SERIALIZE(code)
- KV_SERIALIZE(message)
- END_KV_SERIALIZE_MAP()
- };
-
- struct dummy_error
- {
- BEGIN_KV_SERIALIZE_MAP()
- END_KV_SERIALIZE_MAP()
- };
-
- struct dummy_result
- {
- BEGIN_KV_SERIALIZE_MAP()
- END_KV_SERIALIZE_MAP()
- };
-
- template<typename t_param, typename t_error>
- struct response
- {
- std::string jsonrpc;
- t_param result;
- epee::serialization::storage_entry id;
- t_error error;
- BEGIN_KV_SERIALIZE_MAP()
- KV_SERIALIZE(jsonrpc)
- KV_SERIALIZE(id)
- KV_SERIALIZE(result)
- KV_SERIALIZE(error)
- END_KV_SERIALIZE_MAP()
- };
-
- template<typename t_param>
- struct response<t_param, dummy_error>
- {
- std::string jsonrpc;
- t_param result;
- epee::serialization::storage_entry id;
- BEGIN_KV_SERIALIZE_MAP()
- KV_SERIALIZE(jsonrpc)
- KV_SERIALIZE(id)
- KV_SERIALIZE(result)
- END_KV_SERIALIZE_MAP()
- };
-
- template<typename t_error>
- struct response<dummy_result, t_error>
- {
- std::string jsonrpc;
- t_error error;
- epee::serialization::storage_entry id;
- BEGIN_KV_SERIALIZE_MAP()
- KV_SERIALIZE(jsonrpc)
- KV_SERIALIZE(id)
- KV_SERIALIZE(error)
- END_KV_SERIALIZE_MAP()
- };
-
- typedef response<dummy_result, error> error_response;
- }
-}
-
-
-
-
#define BEGIN_JSON_RPC_MAP(uri) else if(query_info.m_URI == uri) \
{ \
uint64_t ticks = epee::misc_utils::get_tick_count(); \
@@ -315,6 +224,6 @@ namespace epee
rsp.error.message = "Method not found"; \
epee::serialization::store_t_to_json(static_cast<epee::json_rpc::error_response&>(rsp), response_info.m_body); \
return true; \
- }
+}
diff --git a/contrib/epee/include/net/net_utils_base.h b/contrib/epee/include/net/net_utils_base.h
index 793135b87..b5619bab3 100644
--- a/contrib/epee/include/net/net_utils_base.h
+++ b/contrib/epee/include/net/net_utils_base.h
@@ -47,8 +47,8 @@ namespace net_utils
struct connection_context_base
{
const boost::uuids::uuid m_connection_id;
- const uint32_t m_remote_ip;
- const uint32_t m_remote_port;
+ const uint32_t m_remote_ip;
+ const uint32_t m_remote_port;
const bool m_is_income;
const time_t m_started;
time_t m_last_recv;
@@ -56,27 +56,30 @@ namespace net_utils
uint64_t m_recv_cnt;
uint64_t m_send_cnt;
- connection_context_base(boost::uuids::uuid connection_id, long remote_ip, int remote_port, bool is_income, time_t last_recv = 0, time_t last_send = 0, uint64_t recv_cnt = 0, uint64_t send_cnt = 0):
+ connection_context_base(boost::uuids::uuid connection_id,
+ long remote_ip, int remote_port, bool is_income,
+ time_t last_recv = 0, time_t last_send = 0,
+ uint64_t recv_cnt = 0, uint64_t send_cnt = 0):
m_connection_id(connection_id),
m_remote_ip(remote_ip),
m_remote_port(remote_port),
m_is_income(is_income),
+ m_started(time(NULL)),
m_last_recv(last_recv),
m_last_send(last_send),
m_recv_cnt(recv_cnt),
- m_send_cnt(send_cnt),
- m_started(time(NULL))
+ m_send_cnt(send_cnt)
{}
connection_context_base(): m_connection_id(),
m_remote_ip(0),
m_remote_port(0),
m_is_income(false),
+ m_started(time(NULL)),
m_last_recv(0),
m_last_send(0),
m_recv_cnt(0),
- m_send_cnt(0),
- m_started(time(NULL))
+ m_send_cnt(0)
{}
connection_context_base& operator=(const connection_context_base& a)