diff --git a/common/include/villas/buffer.hpp b/common/include/villas/buffer.hpp index 7bfed8b94..c530565e9 100644 --- a/common/include/villas/buffer.hpp +++ b/common/include/villas/buffer.hpp @@ -19,7 +19,8 @@ namespace villas { class Buffer : public std::vector { protected: - static int callback(const char *data, size_t len, void *ctx); + static + int callback(const char *data, size_t len, void *ctx); public: Buffer(const char *buf, size_type len) : diff --git a/common/include/villas/common.hpp b/common/include/villas/common.hpp index f9b0c4ab0..7210468b6 100644 --- a/common/include/villas/common.hpp +++ b/common/include/villas/common.hpp @@ -28,11 +28,10 @@ enum class State { PREPARED = 13 }; -/** Callback to destroy list elements. - * - * @param data A pointer to the data which should be freed. - */ +// Callback to destroy list elements. +// +// @param data A pointer to the data which should be freed. typedef int (*dtor_cb_t)(void *); -/** Convert state enum to human readable string. */ +// Convert state enum to human readable string. std::string stateToString(enum State s); diff --git a/common/include/villas/config.hpp.in b/common/include/villas/config.hpp.in index 1e12bb1fd..e483ccdc3 100644 --- a/common/include/villas/config.hpp.in +++ b/common/include/villas/config.hpp.in @@ -30,20 +30,20 @@ #define HTTP_USER_AGENT PROJECT_NAME " (" PROJECT_BUILD_ID ")" -/* Hard-coded cache line size */ +// Hard-coded cache line size #if defined(__x86_64__) || defined(__i386__) || defined(__arm__) || defined(__aarch64__) #define CACHELINE_SIZE 64 #else #error "Unsupported architecture" #endif -/* Paths */ +// Paths #define PREFIX "@CMAKE_INSTALL_PREFIX@" #define PLUGIN_PATH "@CMAKE_INSTALL_PREFIX@/share/villas/node/plugins" #define SYSFS_PATH "/sys" #define PROCFS_PATH "/proc" -/** Width of log output in characters */ +// Width of log output in characters #define LOG_WIDTH 80 #define LOG_HEIGHT 25 diff --git a/common/include/villas/cpuset.hpp b/common/include/villas/cpuset.hpp index 9072ae0ea..7d1f68f16 100644 --- a/common/include/villas/cpuset.hpp +++ b/common/include/villas/cpuset.hpp @@ -40,21 +40,19 @@ public: zero(); } - /** Parses string with list of CPU ranges. - * - * @param str Human readable representation of the set. - */ + // Parses string with list of CPU ranges. + // + // @param str Human readable representation of the set. CpuSet(const std::string &str); CpuSet(const char *str); - /** Convert integer to cpu_set_t. - * - * @param set An integer number which is used as the mask - */ + // Convert integer to cpu_set_t. + // + // @param set An integer number which is used as the mask CpuSet(uintmax_t set); - /** Convert cpu_set_t to an integer. */ + // Convert cpu_set_t to an integer. */ operator uintmax_t(); operator const cpu_set_t*() @@ -62,10 +60,9 @@ public: return setp; } - /** Returns human readable representation of the cpuset. - * - * The output format is a list of CPUs with ranges (for example, "0,1,3-9"). - */ + // Returns human readable representation of the cpuset. + // + // The output format is a list of CPUs with ranges (for example, "0,1,3-9"). operator std::string(); ~CpuSet() diff --git a/common/include/villas/dsp/pid.hpp b/common/include/villas/dsp/pid.hpp index 12d566365..f427a1844 100644 --- a/common/include/villas/dsp/pid.hpp +++ b/common/include/villas/dsp/pid.hpp @@ -24,17 +24,15 @@ protected: double integral; public: - /** - * Kp - proportional gain - * Ki - Integral gain - * Kd - derivative gain - * dt - loop interval time - * max - maximum value of manipulated variable - * min - minimum value of manipulated variable - */ + // Kp - proportional gain + // Ki - Integral gain + // Kd - derivative gain + // dt - loop interval time + // max - maximum value of manipulated variable + // min - minimum value of manipulated variable PID(double _dt, double _max, double _min, double _Kp, double _Kd, double _Ki); - /** Returns the manipulated variable given a setpoint and current process value */ + // Returns the manipulated variable given a setpoint and current process value double calculate(double setpoint, double pv); }; diff --git a/common/include/villas/exceptions.hpp b/common/include/villas/exceptions.hpp index e23c8ec6c..7c9191aef 100644 --- a/common/include/villas/exceptions.hpp +++ b/common/include/villas/exceptions.hpp @@ -69,7 +69,8 @@ public: error(e) { } - virtual const char * what() const noexcept + virtual + const char * what() const noexcept { return fmt::format("{}: {} in {}:{}:{}", std::runtime_error::what(), @@ -81,7 +82,7 @@ public: class ConfigError : public std::runtime_error { protected: - /** A setting-id referencing the setting. */ + // A setting-id referencing the setting. std::string id; json_t *setting; json_error_t error; @@ -163,7 +164,8 @@ public: return baseUri + id; } - virtual const char * what() const noexcept + virtual + const char * what() const noexcept { return msg; } diff --git a/common/include/villas/hist.hpp b/common/include/villas/hist.hpp index e627d22aa..4d5550974 100644 --- a/common/include/villas/hist.hpp +++ b/common/include/villas/hist.hpp @@ -19,50 +19,49 @@ namespace villas { -/** Histogram structure used to collect statistics. */ +// Histogram structure used to collect statistics. class Hist { public: using cnt_t = uintmax_t; using idx_t = std::vector::difference_type; - /** Initialize struct Hist with supplied values and allocate memory for buckets. */ + // Initialize struct Hist with supplied values and allocate memory for buckets. Hist(int buckets = 0, cnt_t warmup = 0); - /** Reset all counters and values back to zero. */ + // Reset all counters and values back to zero. void reset(); - /** Count a value within its corresponding bucket. */ + // Count a value within its corresponding bucket. void put(double value); - /** Calcluate the variance of all counted values. */ + // Calcluate the variance of all counted values. double getVar() const; - /** Calculate the mean average of all counted values. */ + // Calculate the mean average of all counted values. double getMean() const; - /** Calculate the standard derivation of all counted values. */ + // Calculate the standard derivation of all counted values. double getStddev() const; - /** Print all statistical properties of distribution including a graphilcal plot of the histogram. */ + // Print all statistical properties of distribution including a graphilcal plot of the histogram. void print(Logger logger, bool details) const; - /** Print ASCII style plot of histogram */ + // Print ASCII style plot of histogram. void plot(Logger logger) const; - /** Dump histogram data in Matlab format. - * - * @return The string containing the dump. The caller is responsible to free() the buffer. - */ + // Dump histogram data in Matlab format. + // + // @return The string containing the dump. The caller is responsible to free() the buffer. char * dump() const; - /** Prints Matlab struct containing all infos to file. */ + // Prints Matlab struct containing all infos to file. int dumpMatlab(FILE *f) const; - /** Write the histogram in JSON format to fiel \p f. */ + // Write the histogram in JSON format to fiel \p f. int dumpJson(FILE *f) const; - /** Build a libjansson / JSON object of the histogram. */ + // Build a libjansson / JSON object of the histogram. json_t * toJson() const; double getHigh() const @@ -96,25 +95,25 @@ public: } protected: - double resolution; /**< The distance between two adjacent buckets. */ + double resolution; // The distance between two adjacent buckets. - double high; /**< The value of the highest bucket. */ - double low; /**< The value of the lowest bucket. */ + double high; // The value of the highest bucket. + double low; // The value of the lowest bucket. - double highest; /**< The highest value observed (may be higher than #high). */ - double lowest; /**< The lowest value observed (may be lower than #low). */ - double last; /**< The last value which has been put into the buckets */ + double highest; // The highest value observed (may be higher than #high). + double lowest; // The lowest value observed (may be lower than #low). + double last; // The last value which has been put into the buckets. - cnt_t total; /**< Total number of counted values. */ - cnt_t warmup; /**< Number of values which are used during warmup phase. */ + cnt_t total; // Total number of counted values. + cnt_t warmup; // Number of values which are used during warmup phase. - cnt_t higher; /**< The number of values which are higher than #high. */ - cnt_t lower; /**< The number of values which are lower than #low. */ + cnt_t higher; // The number of values which are higher than #high. + cnt_t lower; // The number of values which are lower than #low. - std::vector data; /**< Bucket counters. */ + std::vector data; // Bucket counters. - double _m[2], _s[2]; /**< Private variables for online variance calculation */ + double _m[2], _s[2]; // Private variables for online variance calculation. }; } // namespace villas diff --git a/common/include/villas/kernel/kernel.hpp b/common/include/villas/kernel/kernel.hpp index 87d7e87e4..ee8fc2652 100644 --- a/common/include/villas/kernel/kernel.hpp +++ b/common/include/villas/kernel/kernel.hpp @@ -35,12 +35,11 @@ int setNrHugepages(int nr); // @reval <>0 Kernel was not booted with parameter \p key int getCmdlineParam(const char *param, char *buf, size_t len); -/** Checks if a kernel module is loaded - * - * @param module the name of the module - * @retval 0 Module is loaded. - * @reval <>0 Module is not loaded. - */ +// Checks if a kernel module is loaded +// +// @param module the name of the module +// @retval 0 Module is loaded. +// @reval <>0 Module is not loaded. int isModuleLoaded(const char *module); // Load kernel module via modprobe diff --git a/common/include/villas/kernel/vfio_container.hpp b/common/include/villas/kernel/vfio_container.hpp index f3170d46b..4e87d353a 100644 --- a/common/include/villas/kernel/vfio_container.hpp +++ b/common/include/villas/kernel/vfio_container.hpp @@ -59,7 +59,7 @@ public: // @return IOVA address, UINTPTR_MAX on failure uintptr_t memoryMap(uintptr_t virt, uintptr_t phys, size_t length); - /** munmap() a region which has been mapped by vfio_map_region() */ + // munmap() a region which has been mapped by vfio_map_region() bool memoryUnmap(uintptr_t phys, size_t length); bool isIommuEnabled() const diff --git a/common/include/villas/list.hpp b/common/include/villas/list.hpp index 1e8340e45..7f56ad2d0 100644 --- a/common/include/villas/list.hpp +++ b/common/include/villas/list.hpp @@ -25,7 +25,7 @@ #define LIST_CHUNKSIZE 16 -/** Static list initialization */ +// Static list initialization #define LIST_INIT_STATIC(l) \ __attribute__((constructor(105))) static void UNIQUE(__ctor)() {\ int ret __attribute__((unused)); \ @@ -50,69 +50,66 @@ typedef int (*cmp_cb_t)(const void *, const void *); // The list data structure. struct List { - enum State state; /**< The state of this list. */ - void **array; /**< Array of pointers to list elements */ - size_t capacity; /**< Size of list::array in elements */ - size_t length; /**< Number of elements of list::array which are in use */ - pthread_mutex_t lock; /**< A mutex to allow thread-safe accesses */ + enum State state; // The state of this list. + void **array; // Array of pointers to list elements. + size_t capacity; // Size of list::array in elements. + size_t length; // Number of elements of list::array which are in use. + pthread_mutex_t lock; // A mutex to allow thread-safe accesses. }; -/** Initialize a list. - * - * @param l A pointer to the list data structure. - */ +// Initialize a list. +// +// @param l A pointer to the list data structure. int list_init(struct List *l) __attribute__ ((warn_unused_result)); -/** Destroy a list and call destructors for all list elements - * - * @param free free() all list members during when calling list_destroy() - * @param dtor A function pointer to a desctructor which will be called for every list item when the list is destroyed. - * @param l A pointer to the list data structure. - */ +// Destroy a list and call destructors for all list elements +// +// @param free free() all list members during when calling list_destroy() +// @param dtor A function pointer to a desctructor which will be called for every list item when the list is destroyed. +// @param l A pointer to the list data structure. int list_destroy(struct List *l, dtor_cb_t dtor = nullptr, bool free = false) __attribute__ ((warn_unused_result)); -/** Append an element to the end of the list */ +// Append an element to the end of the list. void list_push(struct List *l, void *p); -/** Clear list */ +// Clear list. void list_clear(struct List *l); -/** Remove all occurences of a list item */ +// Remove all occurences of a list item. void list_remove_all(struct List *l, void *p); int list_remove(struct List *l, size_t idx); int list_insert(struct List *l, size_t idx, void *p); -/** Return the first element of the list for which cmp returns zero */ +// Return the first element of the list for which cmp returns zero. void * list_search(struct List *l, cmp_cb_t cmp, const void *ctx); -/** Returns the number of occurences for which cmp returns zero when called on all list elements. */ +// Returns the number of occurences for which cmp returns zero when called on all list elements. int list_count(struct List *l, cmp_cb_t cmp, void *ctx); -/** Return 0 if list contains pointer p */ +// Return 0 if list contains pointer p. int list_contains(struct List *l, void *p); -/** Sort the list using the quicksort algorithm of libc */ +// Sort the list using the quicksort algorithm of libc. void list_sort(struct List *l, cmp_cb_t cmp); -/** Set single element in list */ +// Set single element in list. int list_set(struct List *l, unsigned index, void *value); -/** Return index in list for value. - * - * @retval <0 No list entry matching \p value was found. - * @retval >=0 Entry \p value was found at returned index. - */ +// Return index in list for value. +// +// @retval <0 No list entry matching \p value was found. +// @retval >=0 Entry \p value was found at returned index. ssize_t list_index(struct List *l, void *value); -/** Extend the list to the given length by filling new slots with given value. */ +// Extend the list to the given length by filling new slots with given value. void list_extend(struct List *l, size_t len, void *val); -/** Remove all elements for which the callback returns a non-zero return code. */ +// Remove all elements for which the callback returns a non-zero return code. void list_filter(struct List *l, dtor_cb_t cb); -/** Lookup an element from the list based on a name */ +// Lookup an element from the list based on a name. template T * list_lookup_name(struct List *l, const std::string &name) { @@ -124,7 +121,7 @@ T * list_lookup_name(struct List *l, const std::string &name) }, &name); } -/** Lookup index of list element based on name */ +// Lookup index of list element based on name. template ssize_t list_lookup_index(struct List *l, const std::string &name) { diff --git a/common/include/villas/log.hpp b/common/include/villas/log.hpp index dd8e002f1..b68ccd2a9 100644 --- a/common/include/villas/log.hpp +++ b/common/include/villas/log.hpp @@ -56,8 +56,8 @@ protected: Level level; - std::string pattern; /**< Logging format. */ - std::string prefix; /**< Prefix each line with this string. */ + std::string pattern; // Logging format. + std::string prefix; // Prefix each line with this string. std::list expressions; @@ -65,7 +65,7 @@ public: Log(Level level = Level::info); - /**< Get the real usable log output width which fits into one line. */ + // Get the real usable log output width which fits into one line. int getWidth(); void parse(json_t *json); diff --git a/common/include/villas/memory.hpp b/common/include/villas/memory.hpp index 7ce425e70..7de607b31 100644 --- a/common/include/villas/memory.hpp +++ b/common/include/villas/memory.hpp @@ -16,12 +16,10 @@ namespace villas { -/** - * @brief Basic memory block backed by an address space in the memory graph - * - * This is a generic representation of a chunk of memory in the system. It can - * reside anywhere and represent different types of memory. - */ +// Basic memory block backed by an address space in the memory graph +// +// This is a generic representation of a chunk of memory in the system. It can +// reside anywhere and represent different types of memory. class MemoryBlock { public: using deallocator_fn = std::function; @@ -54,17 +52,15 @@ protected: MemoryManager::AddressSpaceId addrSpaceId; // Identifier in memory graph }; -/** - * @brief Wrapper for a MemoryBlock to access the underlying memory directly - * - * The underlying memory block has to be accessible for the current process, - * that means it has to be mapped accordingly and registered to the global - * memory graph. - * Furthermore, this wrapper can be owning the memory block when initialized - * with a moved unique pointer. Otherwise, it just stores a reference to the - * memory block and it's the users responsibility to take care that the memory - * block is valid. - */ +// Wrapper for a MemoryBlock to access the underlying memory directly +// +// The underlying memory block has to be accessible for the current process, +// that means it has to be mapped accordingly and registered to the global +// memory graph. +// Furthermore, this wrapper can be owning the memory block when initialized +// with a moved unique pointer. Otherwise, it just stores a reference to the +// memory block and it's the users responsibility to take care that the memory +// block is valid. template class MemoryAccessor { public: @@ -120,14 +116,12 @@ private: std::unique_ptr memoryBlock; }; -/** - * @brief Base memory allocator - * - * Note the usage of CRTP idiom here to access methods of derived allocators. - * The concept is explained here at [1]. - * - * [1] https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern - */ +// Base memory allocator +// +// Note the usage of CRTP idiom here to access methods of derived allocators. +// The concept is explained here at [1]. +// +// [1] https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern template class BaseAllocator { public: @@ -157,7 +151,9 @@ public: derivedAlloc = nullptr; } - virtual std::unique_ptr + virtual + std::unique_ptr + allocateBlock(size_t size) = 0; template @@ -223,15 +219,13 @@ private: DerivedAllocator* derivedAlloc; }; -/** - * @brief Linear memory allocator - * - * This is the simplest kind of allocator. The idea is to keep a pointer at the - * first memory address of your memory chunk and move it every time an - * allocation is done. Due to its simplicity, this allocator doesn't allow - * specific positions of memory to be freed. Usually, all memory is freed - * together. - */ +// Linear memory allocator +// +// This is the simplest kind of allocator. The idea is to keep a pointer at the +// first memory address of your memory chunk and move it every time an +// allocation is done. Due to its simplicity, this allocator doesn't allow +// specific positions of memory to be freed. Usually, all memory is freed +// together. class LinearAllocator : public BaseAllocator { public: LinearAllocator(MemoryManager::AddressSpaceId memoryAddrSpaceId, @@ -275,12 +269,10 @@ private: }; -/** - * @brief Wrapper around mmap() to create villas memory blocks - * - * This class simply wraps around mmap() and munmap() to allocate memory in the - * host memory via the OS. - */ +// Wrapper around mmap() to create villas memory blocks +// +// This class simply wraps around mmap() and munmap() to allocate memory in the +// host memory via the OS. class HostRam { public: class HostRamAllocator : public BaseAllocator { @@ -313,7 +305,8 @@ public: public: HostDmaRamAllocator(int num); - virtual ~HostDmaRamAllocator(); + virtual + ~HostDmaRamAllocator(); std::string getName() const { diff --git a/common/include/villas/memory_manager.hpp b/common/include/villas/memory_manager.hpp index 608816ff6..33d98242e 100644 --- a/common/include/villas/memory_manager.hpp +++ b/common/include/villas/memory_manager.hpp @@ -19,22 +19,18 @@ namespace villas { -/** - * @brief Translation between a local (master) to a foreign (slave) address space - * - * Memory translations can be chained together using the `+=` operator which is - * used internally by the MemoryManager to compute a translation through - * multiple hops (memory mappings). - */ +// Translation between a local (master) to a foreign (slave) address space +// +// Memory translations can be chained together using the `+=` operator which is +// used internally by the MemoryManager to compute a translation through +// multiple hops (memory mappings). class MemoryTranslation { public: - /** - * @brief MemoryTranslation - * @param src Base address of local address space - * @param dst Base address of foreign address space - * @param size Size of "memory window" - */ + // MemoryTranslation + // @param src Base address of local address space + // @param dst Base address of foreign address space + // @param size Size of "memory window" MemoryTranslation(uintptr_t src, uintptr_t dst, size_t size) : src(src), dst(dst), @@ -70,15 +66,13 @@ private: }; -/** - * @brief Global memory manager to resolve addresses across address spaces - * - * Every entity in the system has to register its (master) address space and - * create mappings to other (slave) address spaces that it can access. A - * directed graph is then constructed which allows to traverse addresses spaces - * through multiple mappings and resolve addresses through this "tunnel" of - * memory mappings. - */ +// Global memory manager to resolve addresses across address spaces +// +// Every entity in the system has to register its (master) address space and +// create mappings to other (slave) address spaces that it can access. A +// directed graph is then constructed which allows to traverse addresses spaces +// through multiple mappings and resolve addresses through this "tunnel" of +// memory mappings. class MemoryManager { private: // This is a singleton, so private constructor ... @@ -95,23 +89,21 @@ private: MemoryManager(const MemoryManager&) = delete; MemoryManager &operator=(const MemoryManager&) = delete; - /** - * @brief Custom edge in memory graph representing a memory mapping - * - * A memory mapping maps from one address space into another and can only be - * traversed in the forward direction which reflects the nature of real - * memory mappings. - * - * Implementation Notes: - * The member #src is the address in the "from" address space, where the - * destination address space is mapped. The member #dest is the address in - * the destination address space, where the mapping points to. Often, #dest - * will be zero for mappings to hardware, but consider the example when - * mapping FPGA to application memory: - * The application allocates a block 1kB at address 0x843001000 in its - * address space. The mapping would then have a #dest address of 0x843001000 - * and a #size of 1024. - */ + // Custom edge in memory graph representing a memory mapping + // + // A memory mapping maps from one address space into another and can only be + // traversed in the forward direction which reflects the nature of real + // memory mappings. + // + // Implementation Notes: + // The member #src is the address in the "from" address space, where the + // destination address space is mapped. The member #dest is the address in + // the destination address space, where the mapping points to. Often, #dest + // will be zero for mappings to hardware, but consider the example when + // mapping FPGA to application memory: + // The application allocates a block 1kB at address 0x843001000 in its + // address space. The mapping would then have a #dest address of 0x843001000 + // and a #size of 1024. class Mapping : public graph::Edge { public: std::string name; // Human-readable name @@ -133,13 +125,11 @@ private: }; - /** - * @brief Custom vertex in memory graph representing an address space - * - * Since most information in the memory graph is stored in the edges (memory - * mappings), this is just a small extension to the default vertex. It only - * associates an additional string #name for human-readability. - */ + // Custom vertex in memory graph representing an address space + // + // Since most information in the memory graph is stored in the edges (memory + // mappings), this is just a small extension to the default vertex. It only + // associates an additional string #name for human-readability. class AddressSpace : public graph::Vertex { public: std::string name; // Human-readable name @@ -162,8 +152,8 @@ public: struct InvalidTranslation : public std::exception {}; // Get singleton instance - static MemoryManager& - get(); + static + MemoryManager& get(); MemoryGraph & getGraph() { diff --git a/common/include/villas/plugin.hpp b/common/include/villas/plugin.hpp index 2a7c59af4..f579ac5a9 100644 --- a/common/include/villas/plugin.hpp +++ b/common/include/villas/plugin.hpp @@ -161,7 +161,7 @@ public: return logger; } - /** Custom formatter for spdlog */ + // Custom formatter for spdlog template friend OStream &operator<<(OStream &os, const class Plugin &p) { diff --git a/common/include/villas/table.hpp b/common/include/villas/table.hpp index 00814f5bf..2fded11de 100644 --- a/common/include/villas/table.hpp +++ b/common/include/villas/table.hpp @@ -28,9 +28,9 @@ public: }; protected: - int _width; /**< The real width of this column. Calculated by Table::resize() */ + int _width; // The real width of this column. Calculated by Table::resize(). - int width; /**< Width of the column. */ + int width; // Width of the column. public: TableColumn(int w, enum Alignment a, const std::string &t, const std::string &f, const std::string &u = "") : @@ -42,9 +42,9 @@ public: align(a) { } - std::string title; /**< The title as shown in the table header. */ - std::string format; /**< The format which is used to print the table rows. */ - std::string unit; /**< An optional unit which will be shown in the table header. */ + std::string title; // The title as shown in the table header. + std::string format; // The format which is used to print the table rows. + std::string unit; // An optional unit which will be shown in the table header. enum Alignment align; @@ -72,10 +72,10 @@ public: logger(log) { } - /** Print a table header consisting of \p n columns. */ + // Print a table header consisting of \p n columns. void header(); - /** Print table rows. */ + // Print table rows. void row(int count, ...); int getWidth() const diff --git a/common/include/villas/task.hpp b/common/include/villas/task.hpp index 25b99c484..5d6faaded 100644 --- a/common/include/villas/task.hpp +++ b/common/include/villas/task.hpp @@ -13,7 +13,7 @@ #include -/** We can choose between two periodic task implementations */ +// We can choose between two periodic task implementations //#define PERIODIC_TASK_IMPL NANOSLEEP #define TIMERFD 1 #define CLOCK_NANOSLEEP 2 @@ -49,7 +49,7 @@ struct Task { struct Tsc tsc; // Initialized by tsc_init(). #endif - /** Create a new task with the given rate. */ + // Create a new task with the given rate. Task(int clock = CLOCK_REALTIME); ~Task(); diff --git a/common/include/villas/terminal.hpp b/common/include/villas/terminal.hpp index 837ab0351..20f37677f 100644 --- a/common/include/villas/terminal.hpp +++ b/common/include/villas/terminal.hpp @@ -18,7 +18,7 @@ namespace villas { class Terminal { protected: - struct winsize window; /**< Size of the terminal window. */ + struct winsize window; // Size of the terminal window. bool isTty; @@ -27,10 +27,12 @@ protected: public: Terminal(); - /** Signal handler for TIOCGWINSZ */ - static void resize(int signal, siginfo_t *sinfo, void *ctx); + // Signal handler for TIOCGWINSZ + static + void resize(int signal, siginfo_t *sinfo, void *ctx); - static int getCols() + static + int getCols() { if (!current) current = new Terminal(); @@ -38,7 +40,8 @@ public: return current->window.ws_col; } - static int getRows() + static + int getRows() { if (!current) current = new Terminal(); diff --git a/common/include/villas/timing.hpp b/common/include/villas/timing.hpp index 0991b119a..11ac44ca8 100644 --- a/common/include/villas/timing.hpp +++ b/common/include/villas/timing.hpp @@ -13,23 +13,23 @@ #include -/** Compare two timestamps. Return zero if they are equal */ +// Compare two timestamps. Return zero if they are equal. ssize_t time_cmp(const struct timespec *a, const struct timespec *b); -/** Get delta between two timespec structs */ +// Get delta between two timespec structs. struct timespec time_diff(const struct timespec *start, const struct timespec *end); -/** Get sum of two timespec structs */ +// Get sum of two timespec structs. struct timespec time_add(const struct timespec *start, const struct timespec *end); -/** Return current time as a struct timespec. */ +// Return current time as a struct timespec. struct timespec time_now(); -/** Return the diffrence off two timestamps as double value in seconds. */ +// Return the diffrence off two timestamps as double value in seconds. double time_delta(const struct timespec *start, const struct timespec *end); -/** Convert timespec to double value representing seconds */ +// Convert timespec to double value representing seconds. double time_to_double(const struct timespec *ts); -/** Convert double containing seconds after 1970 to timespec. */ +// Convert double containing seconds after 1970 to timespec. struct timespec time_from_double(double secs); diff --git a/common/include/villas/tool.hpp b/common/include/villas/tool.hpp index c7b322557..04e82ee4f 100644 --- a/common/include/villas/tool.hpp +++ b/common/include/villas/tool.hpp @@ -26,32 +26,42 @@ protected: std::string name; - static Tool *current_tool; + static + Tool *current_tool; - static void staticHandler(int signal, siginfo_t *sinfo, void *ctx); + static + void staticHandler(int signal, siginfo_t *sinfo, void *ctx); - virtual void handler(int, siginfo_t *, void *) + virtual + void handler(int, siginfo_t *, void *) { } std::list handlerSignals; - static void printCopyright(); - static void printVersion(); + static + void printCopyright(); + + static + void printVersion(); public: Tool(int ac, char *av[], const std::string &name, const std::list &sigs = { }); - virtual int main() + virtual + int main() { return 0; } - virtual void usage() + virtual + void usage() { } - virtual void parse() + virtual + void parse() { } + virtual int run(); }; diff --git a/common/include/villas/tsc.hpp b/common/include/villas/tsc.hpp index 8540c6a0d..b2eaa186b 100644 --- a/common/include/villas/tsc.hpp +++ b/common/include/villas/tsc.hpp @@ -32,8 +32,8 @@ struct Tsc { bool is_invariant; }; -__attribute__((unused)) -static uint64_t tsc_now(struct Tsc *t) +__attribute__((unused)) static +uint64_t tsc_now(struct Tsc *t) { uint32_t tsc_aux; return t->rdtscp_supported diff --git a/common/include/villas/utils.hpp b/common/include/villas/utils.hpp index 4ef0d1106..64b7a728b 100644 --- a/common/include/villas/utils.hpp +++ b/common/include/villas/utils.hpp @@ -32,7 +32,7 @@ #define UNLIKELY(x) (x) #endif -/** Check assertion and exit if failed. */ +// Check assertion and exit if failed. #ifndef assert #define assert(exp) do { \ if (!EXPECT(exp, 0)) \ @@ -121,80 +121,77 @@ assertExcept(bool condition, const T &exception) throw exception; } -/** Register a exit callback for program termination: SIGINT, SIGKILL & SIGALRM. */ +// Register a exit callback for program termination: SIGINT, SIGKILL & SIGALRM. int signalsInit(void (*cb)(int signal, siginfo_t *sinfo, void *ctx), std::list cbSignals = {}, std::list ignoreSignals = { SIGCHLD }) __attribute__ ((warn_unused_result)); -/** Fill buffer with random data */ +// Fill buffer with random data. ssize_t readRandom(char *buf, size_t len); -/** Remove ANSI control sequences for colored output. */ +// Remove ANSI control sequences for colored output. char * decolor(char *str); -/** Normal random variate generator using the Box-Muller method - * - * @param m Mean - * @param s Standard deviation - * @return Normal variate random variable (Gaussian) - */ +// Normal random variate generator using the Box-Muller method +// +// @param m Mean +// @param s Standard deviation +// @return Normal variate random variable (Gaussian) double boxMuller(float m, float s); -/** Double precission uniform random variable */ +// Double precission uniform random variable double randf(); -/** Concat formatted string to an existing string. - * - * This function uses realloc() to resize the destination. - * Please make sure to only on dynamic allocated destionations!!! - * - * @param dest A pointer to a malloc() allocated memory region - * @param fmt A format string like for printf() - * @param ... Optional parameters like for printf() - * @retval The the new value of the dest buffer. - */ +// Concat formatted string to an existing string. +// +// This function uses realloc() to resize the destination. +// Please make sure to only on dynamic allocated destionations!!! +// +// @param dest A pointer to a malloc() allocated memory region +// @param fmt A format string like for printf() +// @param ... Optional parameters like for printf() +// @retval The the new value of the dest buffer. char * strcatf(char **dest, const char *fmt, ...) __attribute__ ((format(printf, 2, 3))); -/** Variadic version of strcatf() */ +// Variadic version of strcatf() char * vstrcatf(char **dest, const char *fmt, va_list va) __attribute__ ((format(printf, 2, 0))); char * strf(const char *fmt, ...); char * vstrf(const char *fmt, va_list va); -/** Allocate and copy memory. */ +// Allocate and copy memory. void * memdup(const void *src, size_t bytes); -/** Call quit() in the main thread. */ +// Call quit() in the main thread. void die(); -/** Get log2 of long long integers */ +// Get log2 of long long integers int log2i(long long x); -/** Send signal \p sig to main thread. */ +// Send signal \p sig to main thread. void killme(int sig); pid_t spawn(const char *name, char *const argv[]); -/** Determines the string length as printed on the screen (ignores escable sequences). */ +// Determines the string length as printed on the screen (ignores escable sequences). size_t strlenp(const char *str); -/** Calculate SHA1 hash of complete file \p f and place it into \p sha1. - * - * @param sha1[out] Must be SHA_DIGEST_LENGTH (20) in size. - * @retval 0 Everything was okay. - */ +// Calculate SHA1 hash of complete file \p f and place it into \p sha1. +// +// @param sha1[out] Must be SHA_DIGEST_LENGTH (20) in size. +// @retval 0 Everything was okay. int sha1sum(FILE *f, unsigned char *sha1); -/** Check if process is running inside a Docker container */ +// Check if process is running inside a Docker container. bool isDocker(); -/** Check if process is running inside a Kubernetes container */ +// Check if process is running inside a Kubernetes container. bool isKubernetes(); -/** Check if process is running inside a containerized environment */ +// Check if process is running inside a containerized environment. bool isContainer(); -/** Check if the process is running in a privileged environment (has SYS_ADMIN capability). */ +// Check if the process is running in a privileged environment (has SYS_ADMIN capability). bool isPrivileged(); namespace base64 { diff --git a/common/include/villas/uuid.hpp b/common/include/villas/uuid.hpp index c99e38d79..b15086855 100644 --- a/common/include/villas/uuid.hpp +++ b/common/include/villas/uuid.hpp @@ -16,16 +16,16 @@ namespace villas { namespace uuid { -/** Generate an UUID by MD5 hashing the provided string */ +// Generate an UUID by MD5 hashing the provided string int generateFromString(uuid_t out, const std::string &data, const std::string &ns = ""); -/** Generate an UUID by MD5 hashing the provided string */ +// Generate an UUID by MD5 hashing the provided string int generateFromString(uuid_t out, const std::string &data, const uuid_t ns); -/** Generate an UUID by MD5 hashing the serialized representation of the provided JSON object */ +// Generate an UUID by MD5 hashing the serialized representation of the provided JSON object void generateFromJson(uuid_t out, json_t *json, const std::string &ns = ""); -/** Generate an UUID by MD5 hashing the serialized representation of the provided JSON object */ +// Generate an UUID by MD5 hashing the serialized representation of the provided JSON object int generateFromJson(uuid_t out, json_t *json, const uuid_t ns); } // namespace uuid diff --git a/common/include/villas/version.hpp b/common/include/villas/version.hpp index d07818188..97ede3068 100644 --- a/common/include/villas/version.hpp +++ b/common/include/villas/version.hpp @@ -18,35 +18,48 @@ class Version { protected: int components[3]; - static int cmp(const Version &lhs, const Version &rhs); + static + int cmp(const Version &lhs, const Version &rhs); public: - /** Parse a dotted version string. */ + // Parse a dotted version string. Version(const std::string &s); Version(int maj, int min = 0, int pat = 0); - inline bool operator==(const Version &rhs) { + inline + bool operator==(const Version &rhs) + { return cmp(*this, rhs) == 0; } - inline bool operator!=(const Version &rhs) { + inline + bool operator!=(const Version &rhs) + { return cmp(*this, rhs) != 0; } - inline bool operator< (const Version &rhs) { + inline + bool operator< (const Version &rhs) + { return cmp(*this, rhs) < 0; } - inline bool operator> (const Version &rhs) { + inline + bool operator> (const Version &rhs) + { return cmp(*this, rhs) > 0; } - inline bool operator<=(const Version &rhs) { + inline + bool operator<=(const Version &rhs) + { return cmp(*this, rhs) <= 0; } - inline bool operator>=(const Version &rhs) { + inline + bool operator>=(const Version &rhs) + { return cmp(*this, rhs) >= 0; } }; diff --git a/common/lib/common.cpp b/common/lib/common.cpp index e427577f8..cffb06689 100644 --- a/common/lib/common.cpp +++ b/common/lib/common.cpp @@ -1,4 +1,3 @@ - /** Common code. * * @author Steffen Vogel diff --git a/common/lib/compat.cpp b/common/lib/compat.cpp index d844e33da..243cc2ebf 100644 --- a/common/lib/compat.cpp +++ b/common/lib/compat.cpp @@ -30,7 +30,8 @@ size_t json_dumpb(const json_t *json, char *buffer, size_t size, size_t flags) return len; } -static size_t json_loadfd_callback(void *buffer, size_t buflen, void *data) +static +size_t json_loadfd_callback(void *buffer, size_t buflen, void *data) { int *fd = (int *) data; @@ -43,7 +44,8 @@ json_t *json_loadfd(int input, size_t flags, json_error_t *error) } -static int json_dumpfd_callback(const char *buffer, size_t size, void *data) +static +int json_dumpfd_callback(const char *buffer, size_t size, void *data) { #ifdef HAVE_UNISTD_H int *dest = (int *)data; diff --git a/common/lib/log.cpp b/common/lib/log.cpp index 4441b9c19..0d007bab4 100644 --- a/common/lib/log.cpp +++ b/common/lib/log.cpp @@ -20,18 +20,18 @@ using namespace villas; -/** The global log instance */ +// The global log instance Log villas::logging; static std::map levelNames = { - { spdlog::level::trace, "trc" }, - { spdlog::level::debug, "dbg" }, - { spdlog::level::info, "info" }, - { spdlog::level::warn, "warn" }, - { spdlog::level::err, "err" }, - { spdlog::level::critical, "crit" }, - { spdlog::level::off, "off" } - }; + { spdlog::level::trace, "trc" }, + { spdlog::level::debug, "dbg" }, + { spdlog::level::info, "info" }, + { spdlog::level::warn, "warn" }, + { spdlog::level::err, "err" }, + { spdlog::level::critical, "crit" }, + { spdlog::level::off, "off" } +}; class CustomLevelFlag : public spdlog::custom_flag_formatter { diff --git a/common/lib/tsc.cpp b/common/lib/tsc.cpp index ef5727b07..860b0acca 100644 --- a/common/lib/tsc.cpp +++ b/common/lib/tsc.cpp @@ -14,22 +14,21 @@ int tsc_init(struct Tsc *t) { uint32_t eax = 0, ebx = 0, ecx = 0, edx = 0; - /** Check if TSC is supported */ + // Check if TSC is supported __get_cpuid(0x1, &eax, &ebx, &ecx, &edx); if (!(edx & bit_TSC)) return -2; - /** Check if RDTSCP instruction is supported */ + // Check if RDTSCP instruction is supported __get_cpuid(0x80000001, &eax, &ebx, &ecx, &edx); t->rdtscp_supported = edx & bit_RDTSCP; - /** Check if TSC is invariant */ + // Check if TSC is invariant __get_cpuid(0x80000007, &eax, &ebx, &ecx, &edx); t->is_invariant = edx & bit_TSC_INVARIANT; - /** Intel SDM Vol 3, Section 18.7.3: - * Nominal TSC frequency = CPUID.15H.ECX[31:0] * CPUID.15H.EBX[31:0] ) ÷ CPUID.15H.EAX[31:0] - */ + // Intel SDM Vol 3, Section 18.7.3: + // Nominal TSC frequency = CPUID.15H.ECX[31:0] * CPUID.15H.EBX[31:0] ) ÷ CPUID.15H.EAX[31:0] __get_cpuid(0x15, &eax, &ebx, &ecx, &edx); if (ecx != 0) diff --git a/common/tests/unit/list.cpp b/common/tests/unit/list.cpp index a85bd6b9b..afcb8a4e1 100644 --- a/common/tests/unit/list.cpp +++ b/common/tests/unit/list.cpp @@ -59,7 +59,8 @@ struct content { int destroyed; }; -static int dtor(void *ptr) +static +int dtor(void *ptr) { struct content *elm = (struct content *) ptr;