diff options
Diffstat (limited to 'libtransport/src/hicn/transport/core/connector.h')
-rw-r--r-- | libtransport/src/hicn/transport/core/connector.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/libtransport/src/hicn/transport/core/connector.h b/libtransport/src/hicn/transport/core/connector.h index 529e97bf9..c790f2bfb 100644 --- a/libtransport/src/hicn/transport/core/connector.h +++ b/libtransport/src/hicn/transport/core/connector.h @@ -34,6 +34,13 @@ enum class ConnectorType : uint8_t { }; class Connector { + protected: + enum class ConnectorState { + CLOSED, + CONNECTING, + CONNECTED, + }; + public: static constexpr std::size_t packet_size = 2048; static constexpr std::size_t queue_size = 4096; @@ -48,7 +55,7 @@ class Connector { Connector(PacketReceivedCallback &&receive_callback, OnReconnect &&reconnect_callback); - virtual ~Connector() = default; + virtual ~Connector(){}; virtual void send(const Packet::MemBufPtr &packet) = 0; @@ -59,7 +66,7 @@ class Connector { virtual void enableBurst() = 0; - virtual void state() = 0; + virtual ConnectorState state() { return state_; }; protected: void increasePoolSize(std::size_t size = packet_pool_size); @@ -93,6 +100,9 @@ class Connector { // Connector events PacketReceivedCallback receive_callback_; OnReconnect on_reconnect_callback_; + + // Connector state + ConnectorState state_; }; } // end namespace core |