forked from telosprotocol/xbase
-
Notifications
You must be signed in to change notification settings - Fork 0
/
xrouter.h
29 lines (26 loc) · 1.04 KB
/
xrouter.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Copyright (c) 2018-2020 Telos Foundation & contributors
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#pragma once
#include "xendpoint.h"
#include "xgateway.h"
namespace top
{
namespace base
{
//xwrouter_t should have a flow-table to control how to routing, item of flow table is like [from_xip,to_xip,action,xgateway_t ptr]
//each item on flow_table may point to gateway object,or not
class xwrouter_t : public xendpoint_t //xwrouter_t dispatch packet to different network, it works as like traditional router
{
protected:
xwrouter_t(xcontext_t & context,const int32_t thread_id);
virtual ~xwrouter_t();
private:
xwrouter_t();
xwrouter_t(const xwrouter_t &);
xwrouter_t & operator = (const xwrouter_t &);
protected:
virtual bool on_object_close() override; //notify the subclass the object is closed
};
}
}