[SERVER-48752] Document Server-Internal Decoration Library Created: 11/Jun/20  Updated: 06/Dec/22

Status: Backlog
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Benjamin Caimano (Inactive) Assignee: Backlog - Service Architecture
Resolution: Unresolved Votes: 0
Labels: sa-remove-fv-backlog-22
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to SERVER-48718 Document Server-Internal Contextual S... Closed
Assigned Teams:
Service Arch
Backwards Compatibility: Fully Compatible
Participants:

 Description   

We have a special decoration library that allows for dependency inversion for components. It lives in src/mongo/util.

Notable classes include:

  • Decoration
  • Decorable
  • DecorationContainer
  • DecorationRegistry

Decorations are occasionally surprising, it's important that we make it clear how and when these objects are allocated, constructed, destructed, and deallocated.

Since decorations are mostly used in conjunction with context objects, we can document them as a single section in src/mongo/util/README.md.

This is intended to be abstract documentation, describe relationships and state transitions not code in common language.


Generated at Thu Feb 08 05:17:59 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.