Verified Commit 21fba413 authored by Marc Vef's avatar Marc Vef
Browse files

Initial messagepack dependency integration

parent 1b23cfda
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -22,3 +22,6 @@
[submodule "external/CLI11"]
	path = external/CLI11
	url = https://github.com/CLIUtils/CLI11.git
[submodule "external/MessagePack"]
	path = external/MessagePack
	url = https://github.com/GekkoFS/MessagePackCPP.git
+7 −0
Original line number Diff line number Diff line
@@ -244,6 +244,13 @@ include_from_source(cli11
  GIT_TAG v2.2.0
  )

### MessagePack: used for monitoring information on the client
include_from_source(MessagePack
    MESSAGE "[${PROJECT_NAME}] Searching for MessagePackCPP"
    SOURCE_DIR ${GKFS_DEPENDENCIES_PATH}/MessagePack
    GIT_REPOSITORY https://github.com/GekkoFS/MessagePackCPP
    GIT_TAG 51655ec8f2b8fed84f685e3bcf8f226b139a263b # latest HEAD
)

################################################################################
## Check configured variables/options and act accordingly
Original line number Diff line number Diff line
Subproject commit 26527c71eb74fdc625ea994fa5caf45db318f7f1
+58 −0
Original line number Diff line number Diff line
/*
  Copyright 2018-2023, Barcelona Supercomputing Center (BSC), Spain
  Copyright 2015-2023, Johannes Gutenberg Universitaet Mainz, Germany

  This software was partially supported by the
  EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu).

  This software was partially supported by the
  ADA-FS project under the SPPEXA project funded by the DFG.

  This file is part of GekkoFS.

  GekkoFS is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  GekkoFS is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with GekkoFS.  If not, see <https://www.gnu.org/licenses/>.

  SPDX-License-Identifier: GPL-3.0-or-later
*/

#ifndef GKFS_COMMON_MSGPACK_HPP
#define GKFS_COMMON_MSGPACK_HPP

#include <msgpack/msgpack.hpp>
#include <string>
#include <vector>


namespace gkfs::msgpack {

struct client_metrics {
    uint64_t total_bytes_read;
    uint64_t total_bytes_written;


    std::string name;
    int age;
    std::vector<std::string> aliases;

    template<class T>
    void msgpack(T &pack) {
        pack(name, age, aliases);
    }
};

void test_msgpack(){}

}

#endif // GKFS_COMMON_MSGPACK_HPP
+1 −0
Original line number Diff line number Diff line
@@ -88,6 +88,7 @@ target_link_libraries(
         fmt::fmt
         Threads::Threads
         Syscall_intercept::Syscall_intercept
         msgpack_util
)

target_link_libraries(
Loading