aboutsummaryrefslogtreecommitdiffstats
path: root/libtransport/src/protocols/protocol.h
diff options
context:
space:
mode:
Diffstat (limited to 'libtransport/src/protocols/protocol.h')
-rw-r--r--libtransport/src/protocols/protocol.h114
1 files changed, 0 insertions, 114 deletions
diff --git a/libtransport/src/protocols/protocol.h b/libtransport/src/protocols/protocol.h
deleted file mode 100644
index 73a0a2c64..000000000
--- a/libtransport/src/protocols/protocol.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 2017-2019 Cisco and/or its affiliates.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#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>
-#include <implementation/socket.h>
-#include <protocols/data_processing_events.h>
-#include <protocols/indexer.h>
-#include <protocols/packet_manager.h>
-#include <protocols/reassembly.h>
-
-#include <atomic>
-
-namespace transport {
-
-namespace protocol {
-
-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;
- virtual void onTimeout(const core::Interest &interest) = 0;
-};
-
-class TransportProtocol : public implementation::BasePortal::ConsumerCallback,
- public PacketManager<Interest>,
- public ContentObjectProcessingEventCallback {
- static constexpr std::size_t interest_pool_size = 4096;
-
- friend class ManifestIndexManager;
-
- public:
- TransportProtocol(implementation::ConsumerSocket *icn_socket,
- Reassembly *reassembly_protocol);
-
- virtual ~TransportProtocol() = default;
-
- TRANSPORT_ALWAYS_INLINE bool isRunning() { return is_running_; }
-
- virtual int start();
-
- virtual void stop();
-
- virtual void resume();
-
- virtual bool verifyKeyPackets() = 0;
-
- virtual void scheduleNextInterests() = 0;
-
- // Events generated by the indexing
- virtual void onContentReassembled(std::error_code ec);
- virtual void onPacketDropped(
- Interest::Ptr &&interest,
- ContentObject::Ptr &&content_object) override = 0;
- virtual void onReassemblyFailed(std::uint32_t missing_segment) override = 0;
-
- protected:
- // Consumer Callback
- virtual void reset() = 0;
- virtual void onContentObject(Interest::Ptr &&i,
- ContentObject::Ptr &&c) override = 0;
- virtual void onTimeout(Interest::Ptr &&i) override = 0;
- virtual void onError(std::error_code ec) override {}
-
- protected:
- implementation::ConsumerSocket *socket_;
- std::unique_ptr<Reassembly> reassembly_protocol_;
- std::unique_ptr<IndexManager> index_manager_;
- std::shared_ptr<implementation::BasePortal> portal_;
- std::atomic<bool> is_running_;
- // 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_;
-
- bool is_async_;
-};
-
-} // end namespace protocol
-} // end namespace transport