diff options
Diffstat (limited to 'libtransport/src/hicn/transport/core/connector.h')
-rw-r--r-- | libtransport/src/hicn/transport/core/connector.h | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/libtransport/src/hicn/transport/core/connector.h b/libtransport/src/hicn/transport/core/connector.h index ae82ee973..529e97bf9 100644 --- a/libtransport/src/hicn/transport/core/connector.h +++ b/libtransport/src/hicn/transport/core/connector.h @@ -33,19 +33,20 @@ enum class ConnectorType : uint8_t { VPP_CONNECTOR, }; -static constexpr std::size_t packet_size = 2048; -static constexpr std::size_t queue_size = 4096; -static constexpr std::size_t packet_pool_size = 4096; - -using PacketRing = utils::CircularFifo<Packet::MemBufPtr, queue_size>; -using PacketQueue = std::deque<Packet::MemBufPtr>; -using PacketReceivedCallback = std::function<void(Packet::MemBufPtr &&)>; -using OnReconnect = std::function<void()>; -using PacketSentCallback = std::function<void()>; - class Connector { public: - Connector(); + static constexpr std::size_t packet_size = 2048; + static constexpr std::size_t queue_size = 4096; + static constexpr std::size_t packet_pool_size = 4096; + + using PacketRing = utils::CircularFifo<Packet::MemBufPtr, queue_size>; + using PacketQueue = std::deque<Packet::MemBufPtr>; + using PacketReceivedCallback = std::function<void(Packet::MemBufPtr &&)>; + using OnReconnect = std::function<void()>; + using PacketSentCallback = std::function<void()>; + + Connector(PacketReceivedCallback &&receive_callback, + OnReconnect &&reconnect_callback); virtual ~Connector() = default; @@ -88,6 +89,10 @@ class Connector { static std::once_flag init_flag_; utils::ObjectPool<utils::MemBuf> packet_pool_; PacketQueue output_buffer_; + + // Connector events + PacketReceivedCallback receive_callback_; + OnReconnect on_reconnect_callback_; }; } // end namespace core |