Project

General

Profile

Feature #15663

Milestone #15372: art multi-threading phase 1

Feature #15374: Modifying all framework-provided services to be thread safe.

Restrict access to ServiceRegistry instance

Added by Kyle Knoepfel over 2 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Infrastructure
Target version:
Start date:
02/24/2017
Due date:
% Done:

100%

Estimated time:
1.00 h
Spent time:
Scope:
Internal
Experiment:
-
SSI Package:
Duration:

Description

Currently, any user can interact with the ServiceRegistry instance. I request the following changes:

  1. the ServiceRegistry::instance() member function should become private
  2. the ServiceRegistry::get<T>(...) member functions should become private (users should retrieve services only through a ServiceHandle)
  3. friendship should be granted to ServiceHandle
  4. the isAvailable<T> member function should become static

In my perusal of experiment source code, such changes would not affect anyone.

Associated revisions

Revision acf5dc95 (diff)
Added by Kyle Knoepfel over 2 years ago

Resolve issue #15663: Make ServiceRegistry::get private and grant ServiceHandle friendship.

History

#1 Updated by Kyle Knoepfel over 2 years ago

  • Subject changed from Restrict access to @ServiceRegistry@ instance to Restrict access to ServiceRegistry instance

#2 Updated by Kyle Knoepfel over 2 years ago

  • Description updated (diff)
  • Status changed from New to Assigned
  • Assignee set to Kyle Knoepfel
  • Estimated time set to 1.00 h

We have decided that 1 and 4 are unnecessary, but 2 and 3 are reasonable. Chris G. requested that Kyle look at the work that Chris previously developed on an early branch for the service system to see how that fits with the proposals mentioned here.

#3 Updated by Kyle Knoepfel over 2 years ago

  • Category set to Infrastructure
  • Status changed from Assigned to Resolved
  • % Done changed from 0 to 100

Resolved with commit art:acf5dc95.

#4 Updated by Kyle Knoepfel over 2 years ago

  • Target version set to 1209

#5 Updated by Kyle Knoepfel about 2 years ago

  • Target version changed from 1209 to 2.07.01

#6 Updated by Kyle Knoepfel about 2 years ago

  • Status changed from Resolved to Closed


Also available in: Atom PDF