aboutsummaryrefslogtreecommitdiffstats
path: root/libtransport/src
diff options
context:
space:
mode:
Diffstat (limited to 'libtransport/src')
-rw-r--r--libtransport/src/hicn/transport/core/content_object.cc6
-rw-r--r--libtransport/src/hicn/transport/core/interest.cc5
-rw-r--r--libtransport/src/hicn/transport/core/packet.cc5
-rw-r--r--libtransport/src/hicn/transport/http/client_connection.cc16
-rw-r--r--libtransport/src/hicn/transport/http/client_connection.h9
-rw-r--r--libtransport/src/hicn/transport/protocols/raaqm.cc1
6 files changed, 30 insertions, 12 deletions
diff --git a/libtransport/src/hicn/transport/core/content_object.cc b/libtransport/src/hicn/transport/core/content_object.cc
index 107ab8567..764d753cd 100644
--- a/libtransport/src/hicn/transport/core/content_object.cc
+++ b/libtransport/src/hicn/transport/core/content_object.cc
@@ -33,6 +33,7 @@ namespace core {
ContentObject::ContentObject(const Name &name, Packet::Format format)
: Packet(format) {
+
if (TRANSPORT_EXPECT_FALSE(
hicn_data_set_name(format, packet_start_, name.getStructReference()) <
0)) {
@@ -46,8 +47,13 @@ ContentObject::ContentObject(const Name &name, Packet::Format format)
}
}
+#ifdef __ANDROID__
+ContentObject::ContentObject(hicn_format_t format)
+ : ContentObject(Name("0::0|0"), format) {}
+#else
ContentObject::ContentObject(hicn_format_t format)
: ContentObject(Packet::base_name, format) {}
+#endif
ContentObject::ContentObject(const Name &name, hicn_format_t format,
const uint8_t *payload, std::size_t size)
diff --git a/libtransport/src/hicn/transport/core/interest.cc b/libtransport/src/hicn/transport/core/interest.cc
index bd7b57422..e7d47d565 100644
--- a/libtransport/src/hicn/transport/core/interest.cc
+++ b/libtransport/src/hicn/transport/core/interest.cc
@@ -44,7 +44,12 @@ Interest::Interest(const Name &interest_name, Packet::Format format)
}
}
+
+#ifdef __ANDROID__
+Interest::Interest(hicn_format_t format) : Interest(Name("0::0|0"), format) {}
+#else
Interest::Interest(hicn_format_t format) : Interest(base_name, format) {}
+#endif
Interest::Interest(const uint8_t *buffer, std::size_t size)
: Packet(buffer, size) {
diff --git a/libtransport/src/hicn/transport/core/packet.cc b/libtransport/src/hicn/transport/core/packet.cc
index 954266664..04ec74660 100644
--- a/libtransport/src/hicn/transport/core/packet.cc
+++ b/libtransport/src/hicn/transport/core/packet.cc
@@ -29,7 +29,7 @@ namespace transport {
namespace core {
-const core::Name Packet::base_name("0::0|0");
+ const core::Name Packet::base_name("0::0|0");
Packet::Packet(Format format)
: packet_(utils::MemBuf::create(getHeaderSizeFromFormat(format, 256))
@@ -37,7 +37,8 @@ Packet::Packet(Format format)
packet_start_(reinterpret_cast<hicn_header_t *>(packet_->writableData())),
header_head_(packet_.get()),
payload_head_(nullptr),
- format_(format) {
+ format_(format){
+
if (hicn_packet_init_header(format, packet_start_) < 0) {
throw errors::RuntimeException("Unexpected error initializing the packet.");
}
diff --git a/libtransport/src/hicn/transport/http/client_connection.cc b/libtransport/src/hicn/transport/http/client_connection.cc
index fadf0ae44..32269d49d 100644
--- a/libtransport/src/hicn/transport/http/client_connection.cc
+++ b/libtransport/src/hicn/transport/http/client_connection.cc
@@ -47,15 +47,16 @@ HTTPClientConnection::HTTPClientConnection()
HTTPClientConnection::RC HTTPClientConnection::get(
const std::string &url, HTTPHeaders headers, HTTPPayload payload,
- std::shared_ptr<HTTPResponse> response, ReadBytesCallback *callback) {
- return sendRequest(url, HTTPMethod::GET, headers, payload, response,
- callback);
+ std::shared_ptr<HTTPResponse> response, ReadBytesCallback *callback,
+ std::string ipv6_first_word) {
+ return sendRequest(url, HTTPMethod::GET, headers, payload, response, callback,
+ ipv6_first_word);
}
HTTPClientConnection::RC HTTPClientConnection::sendRequest(
const std::string &url, HTTPMethod method, HTTPHeaders headers,
HTTPPayload payload, std::shared_ptr<HTTPResponse> response,
- ReadBytesCallback *callback) {
+ ReadBytesCallback *callback, std::string ipv6_first_word) {
current_url_ = url;
read_bytes_callback_ = callback;
if (!response) {
@@ -82,12 +83,13 @@ HTTPClientConnection::RC HTTPClientConnection::sendRequest(
return response;
};
- sendRequestGetReply(request, response);
+ sendRequestGetReply(request, response, ipv6_first_word);
return return_code_;
}
void HTTPClientConnection::sendRequestGetReply(
- const HTTPRequest &request, std::shared_ptr<HTTPResponse> &response) {
+ const HTTPRequest &request, std::shared_ptr<HTTPResponse> &response,
+ std::string &ipv6_first_word) {
const std::string &request_string = request.getRequestString();
const std::string &locator = request.getLocator();
@@ -107,7 +109,7 @@ void HTTPClientConnection::sendRequestGetReply(
// Factor hicn name using hash
name_.str("");
- name_ << std::hex << http::default_values::ipv6_first_word << ":";
+ name_ << ipv6_first_word << ":";
for (uint16_t *word = (uint16_t *)&locator_hash;
std::size_t(word) < (std::size_t(&locator_hash) + sizeof(locator_hash));
diff --git a/libtransport/src/hicn/transport/http/client_connection.h b/libtransport/src/hicn/transport/http/client_connection.h
index d0624702f..5bcf9c4c7 100644
--- a/libtransport/src/hicn/transport/http/client_connection.h
+++ b/libtransport/src/hicn/transport/http/client_connection.h
@@ -49,12 +49,14 @@ class HTTPClientConnection : public ConsumerSocket::ReadCallback {
RC get(const std::string &url, HTTPHeaders headers = {},
HTTPPayload payload = {},
std::shared_ptr<HTTPResponse> response = nullptr,
- ReadBytesCallback *callback = nullptr);
+ ReadBytesCallback *callback = nullptr,
+ std::string ipv6_first_word = "b001");
RC sendRequest(const std::string &url, HTTPMethod method,
HTTPHeaders headers = {}, HTTPPayload payload = {},
std::shared_ptr<HTTPResponse> response = nullptr,
- ReadBytesCallback *callback = nullptr);
+ ReadBytesCallback *callback = nullptr,
+ std::string ipv6_first_word = "b001");
HTTPResponse response();
@@ -68,7 +70,8 @@ class HTTPClientConnection : public ConsumerSocket::ReadCallback {
private:
void sendRequestGetReply(const HTTPRequest &request,
- std::shared_ptr<HTTPResponse> &response);
+ std::shared_ptr<HTTPResponse> &response,
+ std::string &ipv6_first_word);
bool verifyData(interface::ConsumerSocket &c,
const core::ContentObject &contentObject);
diff --git a/libtransport/src/hicn/transport/protocols/raaqm.cc b/libtransport/src/hicn/transport/protocols/raaqm.cc
index 8960e08fa..574693c51 100644
--- a/libtransport/src/hicn/transport/protocols/raaqm.cc
+++ b/libtransport/src/hicn/transport/protocols/raaqm.cc
@@ -105,6 +105,7 @@ void RaaqmTransportProtocol::reset() {
std::queue<Interest::Ptr> empty;
std::swap(interest_to_retransmit_, empty);
current_window_size_ = 1;
+ stats_.reset();
// Reset reassembly component
BaseReassembly::reset();