- Jun 03, 2019
-
-
Alberto Miranda authored
-
Alberto Miranda authored
-
- Mar 16, 2019
-
-
Alberto Miranda authored
Calling norns(ctl)?_error() to query the status of a running task will release its descriptor in the server if the task already completed (NORNS_EFINISHED or NORNS_EFINISHEDWERROR). Since norns(ctl)?_wait() internally queries the task status to check whether a task has completed, we cache the retrieved task_status into the iotask_t user descriptor so that it can be retrieved by a subsequent norns(ctl)?_error() call.
-
- Mar 07, 2019
-
-
Alberto Miranda authored
-
Alberto Miranda authored
-
- Mar 06, 2019
-
-
Alberto Miranda authored
-
- Mar 01, 2019
-
-
Alberto Miranda authored
-
- Feb 26, 2019
-
-
Alberto Miranda authored
-
- Feb 22, 2019
-
-
Alberto Miranda authored
-
- Feb 04, 2019
-
-
Alberto Miranda authored
-
- Oct 04, 2018
-
-
Alberto Miranda authored
-
Alberto Miranda authored
-
- Sep 20, 2018
-
-
Alberto Miranda authored
When invoked, the daemon checks whether active tasks remain to be processed and, if so, returns NORNS_ETASKSPENDING. If there are no active tasks, but there are tracked namespaces that are not empty, the daemon return NORNS_ENAMESPACENOTEMPTY. Otherwise, the daemon returns NORNS_SUCCESS and shuts itself down.
-
- Sep 19, 2018
-
-
Alberto Miranda authored
Two new private member functions pause_accept() and resume_accept() have been added to urd, which internally use the compare_exchange_weak() method to atomically test and set m_is_paused. Fixes #15.
-
- Sep 18, 2018
-
-
Alberto Miranda authored
Clients can now provide a 'track' flag when defining a namespace to let urd know that it must keep track of the namespace contents. The flag is currently propagated by the messaging system and stored in the internal backend metadata. Tracking not implemented yet.
-
- Aug 29, 2018
-
-
Alberto Miranda authored
-
- Aug 17, 2018
-
-
Alberto Miranda authored
The new nornctl_status function queries the urd daemon and returns summarized stats about all iotasks currently in the system. More specifically, the function returns a nornsctl_stat_t structure that contains the following information: st_running_tasks: Number of tasks currently running st_pending_tasks: Number of tasks currently pending st_eta: Estimated Time of Arrival of the currently running tasks (in seconds). Note that, internally, the daemon estimates how long a task will take by keeping track of the average namespace-to-namespace bandwidth from previous requests. This means that this field may contain NaN if no tasks have yet completed, since the daemon will not be able to estimate the E.T.A.
-
- Jul 11, 2018
-
-
Alberto Miranda authored
-
- Jul 10, 2018
-
-
Alberto Miranda authored
-
- Jul 09, 2018
-
-
Alberto Miranda authored
-
- Jun 12, 2018
-
-
Alberto Miranda authored
- Changed the format of the global service configuration file to a YAML-like format - Urd daemon is now able to read its configuration from the newly-formatted configuration file. - Companion libraries linorns and libnornsctl are now capable of reading their configuration from the global service configuration file. - Libraries now encapsulate their state in a context structure shared by all threads rather than in globals. - Tests are only built now if the --enable-tests option is passed when invoking configure - Tests updated to patch the libraries on the fly in order to use case-by-case configuration files. - Tests now only cleanup their internal data if the test succeeds.
-
- May 22, 2018
-
-
Alberto Miranda authored
-
- May 13, 2018
-
-
Alberto Miranda authored
- Transferors now have a clearly defined API for argument validation and transfer execution, rather than relying on free functions. - Added tests for memory to local file transfers.
-
- May 04, 2018
-
-
Alberto Miranda authored
- Add transferor_registry class to manage resource transfer functions - First implementation of 'local path' to 'local path' transferor using fadvice+fallocate+sendfile. - Add stubs for other converters - Move dispatch_table from api to common since it's now also used by transferor_registry. - Add get() function to dispatch_table class so that stored functors can be retrieved. - Generic implementation of task::operator()() to transfer resources and resource elements between different backends. When constructed, the task is provided with the input and ouput resources as well as a 'transferor' functor that is invoked upon them to perform the actual transfer. - Add new_resource() and get_resource() methods to backends to promote resource_info instances to fully qualified resources. - Implementation of new_resource() and get_resource() for a POSIX filesystem. Stubs for other backends. - New convenience library that aggregates all symbols for resources - Add name() and is_collection() methods to class resource_info. - Provide implementation for boost::filesystem::relative() in utils.cpp if boost version <= 1.6.0 - Remove resource::buffer, no longer needed (superseeded by transferors). - Remove resource::stream, no longer needed (superseeded by transferors). - Remove functions resource::info(), resource::backend(), and resource::set_backend(). - Reorganize resources build hierarchy - Remove self-registration of backends - Update tests - Cleanup unused code
-
- Mar 22, 2018
-
-
Alberto Miranda authored
- task_manager is now a full-fledged class rather than inheriting from std::unordered_map - changes to handlers to reflect the new interface in task_manager - new dry_run option for enabling "fake task mode" - in libraries, log errors to stderr only if env var NORNS_DBG_LOG_TO_STDERR is defined.
-
- Mar 17, 2018
-
-
Alberto Miranda authored
Added support for the API listener to receive requests from different endpoints: local sockets for user/control requests and remote sockets for requests from other daemons. Signals are also managed by the API listener.
-
- Mar 11, 2018
-
-
Alberto Miranda authored
-
Alberto Miranda authored
Rename handlers: urd::create_task -> urd::iotask_create_handler urd::check_on_task -> urd::iotask_status_handler urd::ping_request -> urd::ping_handler urd::register_job -> urd::job_register_handler urd::update_job -> urd::job_update_handler urd::remove_job -> urd::job_remove_handler urd::add_process -> urd::process_add_handler urd::remove_process -> urd::process_remove_handler urd::register_backend -> urd::backend_register_handler urd::update_backend -> urd::backend_update_handler urd::remove_backend -> urd::backend_remove_handler urd::unknown_request -> urd::unknown_request_handler
-
Alberto Miranda authored
-
- Mar 10, 2018
-
-
Alberto Miranda authored
-
Alberto Miranda authored
-
Alberto Miranda authored
-
- Feb 22, 2018
-
-
Alberto Miranda authored
Better abstraction and internal management of data resources and storage backends
-
- Feb 02, 2018
-
-
Alberto Miranda authored
-
- Jan 26, 2018
-
-
Alberto Miranda authored
-
Alberto Miranda authored
Bump spdlog to 0.13.0 Bump catch to 2.0
-
- Jan 24, 2018
-
-
Alberto Miranda authored
-
- Sep 08, 2017
-
-
Alberto Miranda authored
-
- Sep 05, 2017
-
-
Alberto Miranda authored
-
- Sep 01, 2017
-
-
Alberto Miranda authored
-