Project

General

Profile

Actions

Task #3940

closed

Restructure src/util/

Added by Davide Pesavento about 7 years ago. Updated 8 months ago.

Status:
Closed
Priority:
Low
Assignee:
Category:
Utils
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
5.00 h

Description

The src/util/ subdir contains a bunch of unrelated classes and functions. I suggest re-organizing it as follows:

  • move dns, ethernet, network-monitor, and detail/network-monitor-* to a new src/net/ directory
    • network-monitor code size will increase considerably after #3353 and #3817
  • face-uri can stay, or it can move to either src/net/ or src/, given that it's a pretty central and fundamental concept
  • move crypto and digest to src/security/
    • hopefully we can also reduce duplication between them, see #3886
  • dummy-client-face can stay, or it can move to a new src/dummyfw/ subdir together with the dummy forwarder being developed in #3913
    • feel free to bikeshed the exact name of the subdir
  • move in-memory-storage-* to its own subdir
  • move signal-* to its own subdir
    • keep the convenience header signal.hpp in src/util/
  • monotonic_deadline_timer and sqlite3-statement feel like they should go into a detail/ subdir somewhere, unless they're already used outside the library

This leaves us with the following in src/util/: backports & backports-optional, concepts, config-file, (maybe dummy-client-face), (maybe face-uri), indented-stream, io, logger & logging, notification-stream & notification-subscriber, random, scheduler & scheduler-scoped-event-id, segment-fetcher, string-helper, time & time-{custom,unit-test}-clock.

Actions

Also available in: Atom PDF