aboutsummaryrefslogtreecommitdiff
path: root/src/p2p/net_node_common.h
diff options
context:
space:
mode:
authorAntonio Juarez <antonio.maria.juarez@live.com>2014-03-03 22:07:58 +0000
committerAntonio Juarez <antonio.maria.juarez@live.com>2014-03-03 22:07:58 +0000
commit296ae46ed8f8f6e5f986f978febad302e3df231a (patch)
tree1629164454a239308f33c9e12afb22e7f3cd8eeb /src/p2p/net_node_common.h
parentchanged name (diff)
downloadmonero-296ae46ed8f8f6e5f986f978febad302e3df231a.tar.xz
moved all stuff to github
Diffstat (limited to 'src/p2p/net_node_common.h')
-rw-r--r--src/p2p/net_node_common.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/p2p/net_node_common.h b/src/p2p/net_node_common.h
new file mode 100644
index 000000000..db8b63095
--- /dev/null
+++ b/src/p2p/net_node_common.h
@@ -0,0 +1,62 @@
+// Copyright (c) 2012-2013 The Cryptonote developers
+// Distributed under the MIT/X11 software license, see the accompanying
+// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+#pragma once
+
+#include <boost/uuid/uuid.hpp>
+#include "net/net_utils_base.h"
+
+
+namespace nodetool
+{
+
+ typedef boost::uuids::uuid uuid;
+ typedef boost::uuids::uuid net_connection_id;
+
+ template<class t_connection_context>
+ struct i_p2p_endpoint
+ {
+ virtual bool relay_notify_to_all(int command, const std::string& data_buff, const epee::net_utils::connection_context_base& context)=0;
+ virtual bool invoke_command_to_peer(int command, const std::string& req_buff, std::string& resp_buff, const epee::net_utils::connection_context_base& context)=0;
+ virtual bool invoke_notify_to_peer(int command, const std::string& req_buff, const epee::net_utils::connection_context_base& context)=0;
+ virtual bool drop_connection(const epee::net_utils::connection_context_base& context)=0;
+ virtual void request_callback(const epee::net_utils::connection_context_base& context)=0;
+ virtual uint64_t get_connections_count()=0;
+ virtual void for_each_connection(std::function<bool(t_connection_context&)> f)=0;
+ };
+
+ template<class t_connection_context>
+ struct p2p_endpoint_stub: public i_p2p_endpoint<t_connection_context>
+ {
+ virtual bool relay_notify_to_all(int command, const std::string& data_buff, const epee::net_utils::connection_context_base& context)
+ {
+ return false;
+ }
+ virtual bool invoke_command_to_peer(int command, const std::string& req_buff, std::string& resp_buff, const epee::net_utils::connection_context_base& context)
+ {
+ return false;
+ }
+ virtual bool invoke_notify_to_peer(int command, const std::string& req_buff, const epee::net_utils::connection_context_base& context)
+ {
+ return true;
+ }
+ virtual bool drop_connection(const epee::net_utils::connection_context_base& context)
+ {
+ return false;
+ }
+ virtual void request_callback(const epee::net_utils::connection_context_base& context)
+ {
+
+ }
+ virtual void for_each_connection(std::function<bool(t_connection_context&)> f)
+ {
+
+ }
+
+ virtual uint64_t get_connections_count()
+ {
+ return false;
+ }
+ };
+}