added check version support to remote mounts
This commit is contained in:
@@ -27,6 +27,9 @@
|
||||
#include "utils/collection.hpp"
|
||||
#include "utils/common.hpp"
|
||||
#include "utils/error_utils.hpp"
|
||||
#include "utils/utils.hpp"
|
||||
#include "version.hpp"
|
||||
#include <utils/config.hpp>
|
||||
|
||||
using namespace repertory::comm;
|
||||
|
||||
@@ -52,6 +55,8 @@ packet_client::~packet_client() {
|
||||
}
|
||||
|
||||
void packet_client::close(client &cli) {
|
||||
REPERTORY_USES_FUNCTION_NAME();
|
||||
|
||||
try {
|
||||
cli.socket.shutdown(boost::asio::socket_base::shutdown_both);
|
||||
|
||||
@@ -69,15 +74,15 @@ void packet_client::close_all() {
|
||||
}
|
||||
|
||||
clients_.clear();
|
||||
for (std::size_t idx = 0U; idx < service_threads_.size(); ++idx) {
|
||||
io_context_.restart();
|
||||
}
|
||||
io_context_.restart();
|
||||
resolve_results_ = {};
|
||||
unique_id_ = utils::create_uuid_string();
|
||||
}
|
||||
|
||||
auto packet_client::check_version(std::uint32_t client_version,
|
||||
std::uint32_t &min_version) -> api_error {
|
||||
REPERTORY_USES_FUNCTION_NAME();
|
||||
|
||||
try {
|
||||
min_version = 0U;
|
||||
|
||||
@@ -184,7 +189,11 @@ auto packet_client::handshake(client &cli, std::uint32_t &min_version) const
|
||||
boost::asio::buffer(buffer),
|
||||
std::chrono::milliseconds(cfg_.recv_timeout_ms));
|
||||
packet response(buffer);
|
||||
response.decode(min_version);
|
||||
auto res = response.decode(min_version);
|
||||
if (res != 0) {
|
||||
throw std::runtime_error("failed to decode server version");
|
||||
}
|
||||
|
||||
response.encrypt(cfg_.encryption_token, false);
|
||||
response.to_buffer(buffer);
|
||||
|
||||
|
@@ -25,7 +25,7 @@
|
||||
#include "cli/common.hpp"
|
||||
#include "comm/packet/packet_client.hpp"
|
||||
#include "utils/utils.hpp"
|
||||
#include "version.cpp"
|
||||
#include "version.hpp"
|
||||
|
||||
namespace repertory::cli::actions {
|
||||
[[nodiscard]] inline auto
|
||||
|
Reference in New Issue
Block a user