diff options
author | Alberto Compagno <acompagn+fdio@cisco.com> | 2020-03-09 13:25:28 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@fd.io> | 2020-03-09 13:25:28 +0000 |
commit | 01d76a603fba7db5cfb83a1fbc3b369f2e4a4823 (patch) | |
tree | 486f541ca2ca90ed1d117dad1920f23725eed38e /libtransport/src/protocols/protocol.h | |
parent | 0f7b6da4aeeb6ed9baffb47d72aa176556145501 (diff) | |
parent | afe807c61372fe2481e73af63c8382af1e1d3011 (diff) |
Merge "[HICN-540] Optimizations for libhicntransport"
Diffstat (limited to 'libtransport/src/protocols/protocol.h')
-rw-r--r-- | libtransport/src/protocols/protocol.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/libtransport/src/protocols/protocol.h b/libtransport/src/protocols/protocol.h index 949380959..db4524133 100644 --- a/libtransport/src/protocols/protocol.h +++ b/libtransport/src/protocols/protocol.h @@ -17,6 +17,8 @@ #include <atomic> +#include <hicn/transport/interfaces/callbacks.h> +#include <hicn/transport/interfaces/socket_consumer.h> #include <hicn/transport/interfaces/statistics.h> #include <hicn/transport/utils/object_pool.h> @@ -34,6 +36,8 @@ using namespace core; class IndexVerificationManager; +using ReadCallback = interface::ConsumerSocket::ReadCallback; + class TransportProtocolCallback { virtual void onContentObject(const core::Interest &interest, const core::ContentObject &content_object) = 0; @@ -89,6 +93,20 @@ class TransportProtocol : public implementation::BasePortal::ConsumerCallback, // True if it si the first time we schedule an interest std::atomic<bool> is_first_; interface::TransportStatistics *stats_; + + // Callbacks + interface::ConsumerInterestCallback *on_interest_retransmission_; + interface::ConsumerInterestCallback *on_interest_output_; + interface::ConsumerInterestCallback *on_interest_timeout_; + interface::ConsumerInterestCallback *on_interest_satisfied_; + interface::ConsumerContentObjectCallback *on_content_object_input_; + interface::ConsumerContentObjectVerificationCallback + *on_content_object_verification_; + interface::ConsumerContentObjectCallback *on_content_object_; + interface::ConsumerTimerCallback *stats_summary_; + interface::ConsumerContentObjectVerificationFailedCallback + *verification_failed_callback_; + ReadCallback *on_payload_; }; } // end namespace protocol |