Opened 7 years ago

Last modified 3 years ago

#2359 new defect

restruct libb10-util

Reported by: jinmei Owned by: UnAssigned
Priority: medium Milestone: Outstanding Tasks
Component: build system Version:
Keywords: Cc:
CVSS Scoring: Parent Tickets:
Sensitive: no Defect Severity: N/A
Sub-Project: DNS Feature Depending on Ticket:
Estimated Difficulty: 5 Add Hours to Ticket: 0
Total Hours: 0 Internal?: no


In #1870, I noticed only buffer.h from lib/util (headers) was really
necessary to build sample b10-host program. Some others are used
internally in libb10-dns++, but I suspect many others are not
necessary. In particular, it shouldn't need interprocess locks
(which now requires libb10-thread) or memory segment stuff.

Since we've been wanting to make dns++ as standalone as possible it's
not really a good trend.

I suggest we reorganize lib(b10)util as follows:

  • libb10-util: containing minimal set that is necessary to be published
  • libb10-util-internal (or something): all others

Further, I suggest merging libb10-exceptions to libb10-util. Now that
having generic "util" library, which would be needed to be linked
for any BIND 10 related programs I don't see advantage of keeping the
very tiny separate library for the exception definitions.

And, if possible, I suggest we revisit the current way of creating
ad hoc sub libraries like util-io or util-thread, clarifying the
categorization policy (and document it). But that would be a topic of
a separate ticket.


Change History (3)

comment:1 Changed 6 years ago by tomek

  • Milestone set to Remaining BIND10 tickets

comment:2 Changed 5 years ago by tomek

  • Milestone changed from Remaining BIND10 tickets to Kea1.2

comment:3 Changed 3 years ago by tomek

  • Milestone changed from Kea1.2 to Outstanding Tasks

This ticket is not in the current scope of 1.2, so moving to Outstanding.

Note: See TracTickets for help on using tickets.